
Wait, read and extract
Use a bounded wait for inbound SMS, inspect its sender and body, and extract the OTP for the next step.
Receive verification codes on dedicated mobile numbers and read them from your test suite. Test signup, OTP, MFA and account recovery without passing a handset around the team.

Trusted by teams at



Submit a MailSlurp number in your application, wait for its SMS and extract the one-time code. Enter it in the browser and check that your customer can complete verification.
Cover new-account verification, two-factor login and account recovery using real delivered messages.
Follow the SMS OTP guide

Use a bounded wait for inbound SMS, inspect its sender and body, and extract the OTP for the next step.

Bring SMS into Playwright, Cypress, Selenium or your own API tests. Run the same verification journey in CI.
See the Cypress guide
Test email confirmation and SMS verification in one suite, including fallback and recovery journeys.
Explore email and SMS testingChoose real, non-VoIP mobile numbers across supported countries and networks. Allocate numbers to staging environments, test workers or customer journeys and keep incoming SMS in one place.
Use number pools and locks to reserve a number during a test. Review current availability and pricing in the app before adding numbers, then retain or release them to suit your workflow.

| Country | Country and calling code |
|---|---|
| US (+1) | |
| GB (+44) | |
| AU (+61) | |
| CA (+1) | |
| EE (+372) | |
| HK (+852) | |
| PL (+48) | |
| CH (+41) | |
| PT (+351) | |
| NL (+31) | |
| IL (+972) | |
| FI (+358) | |
| SE (+46) | |
| Custom regions available on request. | |
Provision or assign a number, wait for incoming SMS and read its contents through the API. Keep message history for debugging, or deliver inbound events to your application with webhooks.
Use official SDKs or the REST API. Your tests control when to reserve a number, complete verification and release it for the next run.
Read the SMS API docsConnect a real SMS verification step to the tests you already run.

Create a free account, review available numbers and pricing, then add a number for your test environment.

Trigger your app's verification flow. Wait for the message through the API and extract its code.

Enter the code, assert the result and release the number's reservation when the test finishes.
Yes. MailSlurp provisions dedicated, non-VoIP mobile numbers across supported networks and countries. Use them to receive real SMS verification messages, extract OTPs in code, and test signup, login, MFA, and account recovery from end to end. Explore the SMS verification API.
Yes. Create or assign a MailSlurp phone number, reserve it for the current test, submit it to the application, wait for the inbound SMS, extract the OTP, complete the verification step, and release or retain the number according to your test policy. Run an OTP test with Playwright. Run an OTP test with Cypress.
No. Allocate numbers by environment, worker, suite, tenant, or customer journey. Number pools, locks, tags, and message history keep parallel runs isolated and make failures easier to trace. Review the SMS verification API workflow.
Yes. MailSlurp provides programmable inboxes and phone numbers under one API model, so a test can validate email confirmation, SMS fallback, OTP, MFA, and recovery paths in the same suite. Explore programmable email and SMS APIs. Explore authentication testing.
Yes. Use short-lived allocation for isolated test runs or retain a dedicated number for stable environments, regional journeys, support workflows, and repeatable product testing. Open the phone and SMS docs.
Create a free account and explore the phone number dashboard. Review number availability and pricing before adding your first test number.
