Mobile Number Verification API
Find out whether an Indian mobile number is live, who it is registered to and which operator serves it, before you rely on it.
The documentation opens in the VerifyAll dashboard after sign-in, for accounts with approved API access. New to the API? Start with the developer guide.
Overview
What the Mobile Number Verification API does
The Mobile Number Verification API takes a 10-digit Indian mobile number and answers with what is on record for it: whether it is a valid, issued subscriber number, whether it is connected or disconnected, prepaid or postpaid, the current operator and telecom circle, the operator that first issued it, and whether and when it was ported.
Where the record carries a subscriber name, send the name your customer gave and the API compares the two for you. The name_match object says exact, partial (likely the same person, written differently) or mismatch, with a score from 0 to 100, so a sign-up flow can accept, ask for more or send the case to a reviewer on a clear rule.
A mobile number is the login, the OTP channel and the contact point for most Indian apps and lenders. Checking it when it is entered catches disconnected numbers, numbers in someone else’s name and recently moved numbers before they become an account, a payout destination or a collections problem.
How it works
- 1
Your server sends POST /universal/mobile-verification with the 10-digit mobile number, the consent object and, if you want a name comparison, the name your customer gave.
- 2
The request is checked first: a number that is not 10 digits starting with 6, 7, 8 or 9, or a missing consent object, is refused with a list of every problem before anything runs or is charged.
- 3
The number is checked against live records and the answer comes back in the same call, usually within about 10 seconds, in VerifyAll’s standard JSON envelope.
- 4
The result is stored in your VerifyAll account with a checkResultId, so you can read it again, find it by your client_ref and download the PDF report.
Request and response
Mobile verification API endpoints and fields
The main fields; the full reference with every field, error code and a cURL sample is in the dashboard docs.
| Endpoint | What it does |
|---|---|
| POST/universal/mobile-verification | Verify an Indian mobile number and compare a name |
Request fields
| Field | What it is |
|---|---|
| mobileRequired | The Indian mobile number, 10 digits without +91 (for example 9876543210). |
| consentRequired | obtained: true and a purpose of up to 200 characters, for the person the number belongs to. |
| nameOptional | The name your customer gave; sets name_match. |
| client_refOptional | Your own reference, stored with the result (up to 100 characters). |
What the answer returns
| Field | What it is |
|---|---|
| is_valid | Whether the number is an issued, valid subscriber number. |
| status | Subscriber status in lower case, for example connected or disconnected. |
| subscriber_name | The name the number is registered to, when available. |
| name_match | exact, partial, mismatch or not_checked, with a score from 0 to 100. |
| connection_type | prepaid or postpaid, when known. |
| is_ported / last_ported_on | Whether the number has moved to another operator, and the date of the last move. |
| operator / original_operator | The current operator and the one that first issued the number, each with name, telecom circle and country. |
| delivery_status | The outcome of the network check, for example delivered. |
Base URL https://api.verifyall.ai. Authenticate with the X-API-Key header (a va_sandbox_ or va_live_ key). Every answer carries data, status_code, success, message and message_code; checks add outcome, checkResultId, charged and charged_amount.
Key features
Mobile Number Verification API features and capabilities
Live status, not just format
A number can be well formed and still be disconnected. The answer says whether it is a valid subscriber number and whether it is connected today.
Porting history in the answer
is_ported and last_ported_on show a number that has recently changed operator, a signal many fraud and collections teams weigh.
Subscriber name match
Send the name from your form and get exact, partial or mismatch with a 0–100 score where the record carries a name, without writing your own matching.
Safe retries
Send an Idempotency-Key header and a repeated request returns the first answer instead of running and charging the check twice.
Use cases
Where businesses use the Mobile Number Verification API
Sign-up and login hygiene
Reject disconnected numbers at registration, so OTPs, alerts and statements reach a working phone.
Loan and wallet onboarding
Compare the subscriber name with the applicant’s name before you disburse a loan or enable a payout.
Delivery and field-worker onboarding
Confirm that a rider’s or agent’s number is live and in their name before the first shift.
Collections and contact data clean-up
Find which numbers in a customer list are disconnected or have changed operator before a contact campaign.
Industries
Coverage
Indian mobile numbers only: 10 digits starting with 6, 7, 8 or 9, sent without the +91 prefix. International numbers and landlines are not accepted.
Limitations to plan for
- The subscriber name is returned only when the record carries one; otherwise subscriber_name is null and name_match is not_checked.
- The API tells you about the number, not who is holding the phone right now. Pair it with your own OTP step when you need to prove possession.
- A number with no record answers record_not_found. The lookup ran, so it is charged like any completed check.
- Checks about a person need the consent object, and you keep the consent record.
Integration
How to integrate the Mobile Number Verification API
From a business account to your first live call.
Step 1
Create a business account on VerifyAll and get it approved, as for running checks in the dashboard.
Step 2
Request Developer API access under Developers in the dashboard: the APIs you need, your expected monthly volume and your use case. The VerifyAll team reviews it and shares the API Services Agreement.
Step 3
Once the agreement is signed and access is approved, create your Sandbox key and build against sample data. Sandbox calls are never charged.
Step 4
Create your Production key, recharge your wallet and switch the key in your code: the endpoint and fields stay the same.
Get started
Request access to the Mobile Number Verification API
Tell us what you want to verify. We reply within one business day with access steps, Sandbox details and your API pricing.
View API documentation
The full reference for Mobile Number Verification API (endpoints, fields, errors, cURL) opens in the dashboard once your access is approved.
Open the docs (sign-in)Create a business account
API keys are issued to an approved business account. Sign up, then request access under Developers.
Create account
Pricing
Production calls are charged per check from your prepaid VerifyAll wallet, at your account’s API price; GST is added separately when you recharge. Sandbox calls are never charged. Your API prices are shown in the dashboard once access is approved. How pricing works
Already have a business account? Sign in to request access
Mobile Number Verification API: frequently asked questions
Answers for teams planning an integration.
Still have questions? Our team is happy to help.
Contact SupportRelated APIs
Mobile to EPFO API
LiveInstant answerStart from a mobile number and get every UAN linked to it, each with the employment history behind it, in one call.
View API detailsPAN Verification API
LiveInstant answerConfirm a PAN exists, see who holds it and match the name and date of birth your customer typed, in one call.
View API detailsBackground Verification API
LiveFinishes laterRun the background checks you choose on one person in a single request, and read back one report with an overall result and every check’s outcome.
View API details
All identity verification APIsRun Mobile verification in the dashboard, without codeBrowse the API Marketplace
Start with the Mobile Number Verification API
Request access, build against the Sandbox, then go live with your Production key.
