MobileValidate facts
MobileValidate is a phone-number and e-mail intelligence API: one request checks whether a phone number or e-mail address is registered on messaging apps and online services, and returns carrier, line type, live network status (HLR), number portability (MNP) and (for approved customers) spam reputation, each as registered / not registered / unknown or conclusive network attributes, with a checked_at timestamp.
Company
| Brand | MobileValidate — Know before you send. |
|---|---|
| Contracting entity | Named in the Terms of Service |
| Contact | support@mobilevalidate.com · contact page |
| Sales | sales@mobilevalidate.com |
| Security contact | security@mobilevalidate.com |
| Independence | Independent service, not affiliated with, endorsed or sponsored by the platforms it checks; platform names are used descriptively. |
Billing
You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Cache hits and test keys are free too, and suppressed identifiers are never checked or billed.
Prices are in USD per conclusive check (one identifier × one service). Prepaid balance. The maximum possible cost is reserved before checking; conclusive results are settled and everything else (inconclusive, cached, cancelled before submission) is released.
Limits
| Request rate | 10 requests per second per key, burst 20 |
|---|---|
| Identifiers per request | 100 per lookup (POST /v1/lookup), 50,000 per bulk job (POST /v1/jobs) |
| Checks per request | 20 |
| Identifiers × checks | 2,000 per lookup, 100,000 per job |
| Lookup wait | default 10 s, max 30 s (then poll or use a webhook) |
| Request body | 1 MB; 4 MB for POST /v1/jobs and /v1/jobs/estimate |
| Daily caps | Per-account daily identifiers cap and, for agent keys, a daily spend cap; current values in GET /v1/limits. Reset at 00:00 UTC. |
| Anti-enumeration | 403 suspected_enumeration for 20+ consecutive numbers, 20+ generated addresses on one domain in a request, or (live keys) 50+ such addresses per account per UTC day. |
Details: rate limits and abuse rules · errors (errors.json).
Services: 39 checks (38 live, 1 limited access)
21 available in realtime and bulk, 17 in bulk jobs only, 1 with limited access. Prices per conclusive check.
| Service | Code | Status | Realtime | Bulk | Coverage |
|---|---|---|---|---|---|
| WhatsApp number check | whatsapp.registered | Live | $0.004$4.00 / 1,000 | $0.00025$0.25 / 1,000 | worldwide; bulk jobs: all except CN |
| WhatsApp Business account check | whatsapp.business | Live | $0.004$4.00 / 1,000 | $0.0003$0.30 / 1,000 | worldwide |
| Telegram number check | telegram.registered | Live | $0.001$1.00 / 1,000 | $0.0003$0.30 / 1,000 | worldwide |
| Viber number check | viber.registered | Live | bulk only | $0.00015$0.15 / 1,000 | worldwide |
| Signal number check | signal.registered | Live | bulk only | $0.0005$0.50 / 1,000 | worldwide |
| iMessage number check | imessage.registered | Live | bulk only | $0.0008$0.80 / 1,000 | worldwide except CN |
| RCS capability check | rcs.registered | Live | bulk only | $0.0005$0.50 / 1,000 | worldwide |
| LINE number check | line.registered | Live | bulk only | $0.0015$1.50 / 1,000 | worldwide except PR |
| Zalo number check | zalo.registered | Live | bulk only | $0.0005$0.50 / 1,000 | worldwide |
| Botim number check | botim.registered | Live | bulk only | $0.0015$1.50 / 1,000 | worldwide |
| Facebook Messenger number check | messenger.registered | Live | bulk only | $0.001$1.00 / 1,000 | worldwide |
| Facebook number check | facebook.registered | Live | $0.0005$0.50 / 1,000 | $0.0001$0.10 / 1,000 | worldwide |
| Instagram number check | instagram.registered | Live | $0.0005$0.50 / 1,000 | $0.0001$0.10 / 1,000 | worldwide |
| Threads number check | threads.registered | Live | $0.0005$0.50 / 1,000 | $0.0003$0.30 / 1,000 | worldwide |
| X (Twitter) number check | x.registered | Live | $0.0008$0.80 / 1,000 | $0.0003$0.30 / 1,000 | worldwide |
| TikTok number check | tiktok.registered | Live | bulk only | $0.003$3.00 / 1,000 | worldwide |
| Snapchat number check | snapchat.registered | Live | bulk only | $0.005$5.00 / 1,000 | worldwide |
| LinkedIn number check | linkedin.registered | Live | bulk only | $0.0015$1.50 / 1,000 | US, IN |
| Apple number check | apple.registered | Live | $0.001$1.00 / 1,000 | $0.0005$0.50 / 1,000 | worldwide; bulk jobs: all except CN |
| Amazon number check | amazon.registered | Live | $0.001$1.00 / 1,000 | $0.0005$0.50 / 1,000 | worldwide |
| Microsoft number check | microsoft.registered | Live | $0.001$1.00 / 1,000 | $0.0005$0.50 / 1,000 | worldwide |
| Netflix number check | netflix.registered | Live | $0.004$4.00 / 1,000 | $0.0025$2.50 / 1,000 | worldwide |
| Carrier lookup | network.carrier | Live | $0.003$3.00 / 1,000 | $0.0015$1.50 / 1,000 | worldwide |
| US/CA carrier lookup | network.carrier_us | Live | bulk only | $0.006$6.00 / 1,000 | US, CA |
| Spam reputation | number.spam | Limited access | $0.003$3.00 / 1,000 | $0.0015$1.50 / 1,000 | worldwide |
| Live network status (HLR) | number.hlr | Live | $0.006$6.00 / 1,000 | $0.005$5.00 / 1,000 | worldwide |
| Number portability (MNP) | number.mnp | Live | $0.002$2.00 / 1,000 | $0.002$2.00 / 1,000 | worldwide |
| E-mail verification | email.valid | Live | $0.006$6.00 / 1,000 | $0.004$4.00 / 1,000 | worldwide |
| Gmail account check by e-mail | gmail.email | Live | bulk only | $0.0015$1.50 / 1,000 | worldwide |
| Outlook account check by e-mail | outlook.email | Live | bulk only | $0.0008$0.80 / 1,000 | worldwide |
| Yahoo account check by e-mail | yahoo.email | Live | bulk only | $0.0008$0.80 / 1,000 | worldwide |
| Apple account check by e-mail | apple.email | Live | $0.001$1.00 / 1,000 | $0.0008$0.80 / 1,000 | worldwide |
| Amazon account check by e-mail | amazon.email | Live | $0.001$1.00 / 1,000 | $0.0008$0.80 / 1,000 | worldwide |
| Facebook account check by e-mail | facebook.email | Live | $0.006$6.00 / 1,000 | $0.0035$3.50 / 1,000 | worldwide |
| Instagram account check by e-mail | instagram.email | Live | $0.006$6.00 / 1,000 | $0.0035$3.50 / 1,000 | worldwide |
| Netflix account check by e-mail | netflix.email | Live | $0.004$4.00 / 1,000 | $0.0025$2.50 / 1,000 | worldwide |
| Spotify account check by e-mail | spotify.email | Live | $0.0008$0.80 / 1,000 | $0.0004$0.40 / 1,000 | worldwide |
| LinkedIn account check by e-mail | linkedin.email | Live | bulk only | $0.0001$0.10 / 1,000 | worldwide |
| X (Twitter) account check by e-mail | x.email | Live | bulk only | $0.0004$0.40 / 1,000 | worldwide |
What we don't offer
- Reverse lookup: We never return the name, photo, profile, username or social account behind a phone number or e-mail address.
- Demographics: No age, gender, ethnicity, appearance, income or other inference about the person.
- Adult-site checks: We do not check whether a number or address has an account on adult sites.
- Location and SIM data: No subscriber location, cell or device identifiers, and no SIM-swap check. Sensitive network identifiers are never returned.
- Self-serve spam reputation: Spam reputation is limited access: approved customers only, for numbers from all countries except sanctioned ones.
- Sanctioned countries: Numbers from sanctioned countries and regions are never checked and never billed: every check answers unsupported_country.
- E-mail checks for every domain: E-mail checks cover major webmail providers only. Company and custom domains return unknown (UNSUPPORTED_PROVIDER) and are not charged; we never send mail or connect to the mailbox.
Data and acceptable use
| Retention | Realtime lookups 7 days; bulk jobs 30 days by default (1 day to 24 months per account). DELETE /v1/jobs/{id} removes a finished job's data at any time. |
|---|---|
| Logs | Masked identifiers only; full phone numbers are never logged. |
| Personal data | Checks return registered / not registered / unknown or network and reputation attributes, never names, photos, profiles or locations. Sensitive network identifiers are never returned. |
| Opt-out | Anyone can object to checks of their phone number or e-mail address; suppressed identifiers are never checked and never billed. Opt-out form. |
| Allowed uses | fraud prevention (sign-up and one-time-passcode screening); deliverability and channel selection for contacts who opted in; list hygiene before transactional or consented messaging; lead verification; call screening with spam-reputation signals |
| Prohibited | unsolicited messages or calls; enumerating number ranges or generated e-mail lists; scraping, harvesting or reselling results; stalking, harassment, monitoring or locating people; profiling private individuals; eligibility decisions (credit, employment, housing, insurance); circumventing rate limits, caps, anti-enumeration or opt-outs. Acceptable use policy. |
Test mode
Keys starting mv_test_ never reach upstream sources and are never billed. Test numbers: +447700900001, +447700900002, +447700900003, +447700900004, +447700900005, +447700900006. Test mode docs.
Frequently asked questions
What is MobileValidate?
A phone-number and e-mail intelligence API. One request checks whether a number or address is registered on messaging apps and online services, and returns carrier, line type, live network status (HLR), number portability (MNP) and (for approved customers) spam reputation. Every answer is registered, not registered or unknown, with a checked_at time.
Who operates MobileValidate?
The MobileValidate team. The legal entity you contract with is named in the Terms of Service (https://mobilevalidate.com/legal/terms). Support: support@mobilevalidate.com; sales: sales@mobilevalidate.com.
Is MobileValidate affiliated with WhatsApp, Telegram or the other platforms it checks?
No. It is an independent service, not affiliated with, endorsed or sponsored by those platforms. Their names are used only to describe what a check covers.
Does a check send a message to the number or e-mail address?
No. A check never sends a message, call or e-mail and never opens a mailbox. The person behind the number or address is not contacted.
Can it tell me who owns a phone number?
No. We don't do reverse lookups: checks never return names, photos, profiles or locations.
What am I charged for?
Only conclusive answers. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Cache hits and test keys are free.
Can I try it without signing up?
Yes. The public sandbox key in the docs answers the documented test numbers and addresses and is never billed. See https://mobilevalidate.com/docs/test-values.
Is there an MCP server for AI agents?
Yes: https://mcp.mobilevalidate.com/mcp (streamable HTTP) or npx -y @mobilevalidate/mcp. It takes scoped, spend-capped agent keys or test keys; live keys are rejected.
Do you offer HLR and MNP lookups?
Yes. The HLR lookup (number.hlr) asks the mobile network live whether a number is reachable, ported or roaming. The MNP lookup (number.mnp) answers only whether the number was ported and its current network code, at a lower price. Unknown answers are free.
How long do you keep the numbers I check?
Realtime lookups for 7 days; bulk jobs for 30 days by default (1 day to 24 months per account). You can delete a finished job at any time, and logs hold masked identifiers only.
Endpoints and machine-readable files
| website | https://mobilevalidate.com/ |
|---|---|
| api base | https://api.mobilevalidate.com/v1 |
| openapi | https://mobilevalidate.com/openapi.yaml |
| docs | https://mobilevalidate.com/docs |
| docs markdown | https://mobilevalidate.com/docs.md |
| llms txt | https://mobilevalidate.com/llms.txt |
| llms full txt | https://mobilevalidate.com/llms-full.txt |
| mcp | https://mcp.mobilevalidate.com/mcp |
| mcp server card | https://mcp.mobilevalidate.com/mcp/server-card |
| api catalog | https://mobilevalidate.com/.well-known/api-catalog |
| ai catalog | https://mobilevalidate.com/.well-known/ai-catalog.json |
| errors | https://mobilevalidate.com/errors.json |
| facts json | https://mobilevalidate.com/facts.json |
| facts markdown | https://mobilevalidate.com/facts.md |
| facts schema | https://mobilevalidate.com/schemas/facts.schema.json |
| pricing | https://mobilevalidate.com/pricing |
| api status | https://api.mobilevalidate.com/healthz |

