# Know before you send.

> Check phone numbers and e-mail addresses before you send: messenger registration, carrier and line type, account checks. Pay only for conclusive answers.

Canonical: https://mobilevalidate.com/ · Last updated: 2026-09-25

![A phone number and an e-mail address flow into one result card with a verdict per check: registered, not registered or unknown.](https://mobilevalidate.com/images/phone-and-email-check-result.svg)

*One request checks a phone number and an e-mail address together, with one answer per check.*


## Know before you send.

Check phone numbers and e-mail addresses before you message, call or approve them. One API request tells you whether a number is registered on messaging apps, what line type and carrier it has, and whether an address has a mailbox or an account. Every answer is yes, no or unknown, with the time we checked. You don't pay for unknowns.

## Why check before you send?

- **Stop paying for messages that can't arrive.** Find invalid, duplicate and non-mobile numbers before your SMS bill does.
- **Catch fake sign-ups and OTP abuse early.** Line type, messenger presence and, where enabled, spam reputation tell you which numbers deserve a second look.
- **Reach opted-in customers where they are.** See whether a number uses WhatsApp, Telegram, Viber, iMessage or RCS, and pick a channel that will deliver.
- **Honest answers.** `registered` is `true`, `false` or `null`. `null` means unknown, never a guess, and every answer carries `checked_at`.
- **Several checks, one request.** Phone and e-mail checks run together, with one result per identifier and check.

## How does it work?

1. **Send identifiers and checks.** `POST /v1/lookup` takes up to 100 numbers and e-mails with the checks you want, for example `["whatsapp", "telegram", "carrier"]`.
2. **Get answers in seconds.** Real-time checks usually answer within the request. Slower ones return `pending`, and you can poll or receive a webhook.
3. **Go bulk for lists.** `POST /v1/jobs` checks up to 50,000 numbers and e-mails, gives a free estimate first and returns CSV or NDJSON in your original row order.
4. **Or let an agent do it.** The MCP server lets AI assistants run checks, with spend limits and confirmation built in.

## What does a result look like?

This is real output from test mode for `+447700900001` with `checks: ["whatsapp", "telegram", "carrier"]` (excerpt: two of the three checks):

```json
{
  "whatsapp.registered": {
    "service": "whatsapp.registered", "status": "completed", "registered": true, "attributes": null,
    "confidence": "high", "confidence_score": 0.99, "checked_at": "2026-09-25T14:23:15.717Z",
    "cached": false, "age_seconds": 0, "billed": false, "reason": null, "poll_after_ms": null
  },
  "network.carrier": {
    "service": "network.carrier", "status": "completed", "registered": true,
    "attributes": {"line_type": "mobile", "carrier": "Test Carrier", "country": "GB"},
    "confidence": "high", "confidence_score": 0.99, "checked_at": "2026-09-25T14:23:15.717Z",
    "cached": false, "age_seconds": 0, "billed": false, "reason": null, "poll_after_ms": null
  }
}
```

## Do I pay for unknown results?

No. You pay per check, and only for conclusive answers. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate). Repeat checks served from your account's cache are free too, and `max_cost` caps what any request can spend. Prices per check for real-time and bulk are on the [pricing](/pricing) page.

## What do teams use it for?

- [OTP and sign-up fraud prevention](/use-cases/otp-and-signup-fraud): check line type and messenger presence before you send a code.
- [SMS cost reduction](/use-cases/sms-cost-reduction): remove invalid, duplicate and non-mobile numbers from your lists.
- [Lead verification](/use-cases/lead-verification): check a form's phone and e-mail in one request.
- [Channel selection](/use-cases/channel-selection): reach opted-in customers on the channel they use.
- [Call-center screening](/use-cases/call-center-screening): line type and, where enabled, spam reputation.
- [Account security](/use-cases/account-security): check new contact details before they take effect.

## Built for developers and AI agents

- A REST API with JSON, idempotency keys, cursor pagination, Standard Webhooks signatures and an [OpenAPI description](/docs/openapi).
- [Test mode](/docs/test-mode) with documented test numbers and e-mail addresses, free and deterministic.
- A TypeScript [SDK and CLI](/docs/sdk) and an [MCP server](/docs/mcp) for AI assistants, on npm, plus a Python SDK on PyPI.
- Every error has a stable code, a message and a link to [its documentation](/docs/errors).

Start with the [quickstart](/docs/quickstart).

## How do you handle data?

Phone numbers and e-mail addresses are encrypted when stored and masked in logs and screens. By default we keep API lookups for 7 days and bulk jobs for 30 days, and you can delete a job's data at any time. Your cache is never shared with other customers. Requests that look like sequential number ranges or generated e-mail lists are rejected. Anyone can object to their number or address being checked through the [opt-out form](/opt-out). Read more on the [trust page](/trust).

## Frequently asked questions

Short answers about billing, data, test mode and access.

## Request access

MobileValidate is in private preview. Tell us about your company, your use case and your expected volume, and we will set up your account with test and live keys. [Request access](/request-access).

## Frequently asked questions

### What is MobileValidate?

MobileValidate is a phone and e-mail checks API. One request tells you whether a number is registered on messaging apps such as WhatsApp or Telegram, what line type and carrier it has, and whether an e-mail address has a mailbox or an account on a service.

### Do I pay for unknown results?

No. You're not charged for inconclusive results (unknown, unsupported country, timeout, invalid, duplicate).

### Do you return names, photos or profiles?

No. Account checks answer only yes, no or unknown. We never return names, photos or profile data.

### Can I try it without real data?

Yes. Test keys use documented test numbers and e-mail addresses, never reach a real network and are never billed.

### How do I get access?

Access is by request during the preview. Fill in the request access form with your company and use case, and we will set up your account and keys.

### Is MobileValidate affiliated with the platforms it checks?

No. Platform names only describe which service a check refers to. MobileValidate is independent and not endorsed by any of these companies.
