Test values

Every MobileValidate test phone number and e-mail address, the exact answer each returns, and the public sandbox key that runs them with no signup.

Last updated

View as Markdown

Test values are phone numbers and e-mail addresses with a fixed, documented answer. Use them to build and test every branch of your integration: registered, not registered, unknown, pending, unsupported and the request errors. They never reach a real network and are never billed.

How do I try them without signing up?

Use the public sandbox key. It is public on purpose and works in every example in these docs:

curl https://api.mobilevalidate.com/v1/lookup \
  -H "Authorization: Bearer mv_test_publicSandboxn9ZgneuhR1B9CRfKG3fulym" \
  -H "Content-Type: application/json" \
  -d '{"numbers":["+447700900001"],"checks":["whatsapp","telegram","carrier"]}'

Runs as pasted with the public sandbox key, which answers the test values only. In the SDKs, omit the key to use MOBILEVALIDATE_API_KEY.

The sandbox key answers only the test values below. Any other number or address returns 403 sandbox_magic_only. It allows 30 requests a minute and 1,000 a day per IP address, bulk jobs of at most 10 rows, and no webhooks. You can also run every value from the console on the home page.

Which test values can I use?

The answer depends on the value and on the kind of check. Account checks answer yes or no (registered), the carrier lookup returns data (attributes), and every e-mail check follows the address table.

Phone numbers

NumberAccount checks (WhatsApp, Telegram, …)whatsapp.business
+447700900001registered: trueregistered: true, business: false
+447700900002registered: falseregistered: false
+447700900003unknown (UPSTREAM_TIMEOUT)unknown (UPSTREAM_TIMEOUT)
+447700900004pending for about 5 s, then registered: truepending for about 5 s, then registered: true, business: false
+447700900005unsupported_countryunsupported_country
+447700900006registered: trueregistered: true, business: true

Carrier lookup

Numbernetwork.carrier
+447700900001line_type: "mobile", carrier: "Test Carrier", country: "GB"
+447700900002unknown (NO_DATA)
+447700900003unknown (UPSTREAM_TIMEOUT)
+447700900004pending for about 5 s, then line_type: "mobile", carrier: "Test Carrier", country: "GB"
+447700900005unsupported_country
+447700900006line_type: "mobile", carrier: "Test Carrier", country: "GB"

E-mail addresses

AddressEvery e-mail check
[email protected]registered: true
[email protected]registered: false
[email protected]unknown (UPSTREAM_TIMEOUT)
[email protected]pending for about 5 s, then registered: true
[email protected]unknown (UNSUPPORTED_PROVIDER)

Values that fail the whole request

ValueResponse (for every check)
+447700900429429 rate_limited with a Retry-After header
+447700900402402 insufficient_balance
[email protected]429 rate_limited with a Retry-After header
[email protected]402 insufficient_balance

Services limited to some countries still answer the test numbers, so every check can be tested with them.

What do other numbers and addresses return?

  • Public sandbox key: 403 sandbox_magic_only, with a suggestion to use a test value.
  • Your own test key (mv_test_…): a stable, made-up answer derived from the number or address and the check. The same input always gives the same answer, marked "test": true. Nothing is sent to any network.
  • Live keys (mv_live_…): test values are refused with 400 test_number_only, so test data never ends up in real billing.

How do I test error handling?

The values that fail the whole request return the real error shape, including request_id and the Retry-After header for 429. Use them to test your retry and top-up paths. Every error code is described in Errors.

What comes next?

  • Get a free test key to try any number or address in test mode, run bulk jobs and receive webhooks.
  • Live keys follow after we review your use case: request access.
  • The full test-mode behaviour, including the spam reputation fixtures, is in Test mode.

Frequently asked questions

Do I need an account to use the test values?

No. The public sandbox key in the examples answers every test value on this page. It is free, never billed and limited per IP address.

Why does the sandbox key reject my own number?

The sandbox key answers only the test values on this page and returns 403 sandbox_magic_only for anything else. Get a personal test key to try any number in test mode, or request access for live keys.

Are the test numbers real phone numbers?

No. They come from the +44 7700 900000–900999 range, which the UK regulator reserves for drama and never assigns to subscribers. The e-mail addresses use our own test domain.