Phone Validation API
Phone Validation API for sign-up forms, CRMs and messaging teams.
Check valid and possible numbers, line type, country, timezone, and carrier name. E.164 or national format with region.
From €0.002 per query, same rate for all countries. REST API with OAuth 2.0, single or async bulk validation. Production credentials are issued after account verification (KYC).
Built for
Built for messaging, onboarding and data teams
Validate and enrich phone numbers before messaging, onboarding, or routing - without live network queries.
Cut wasted SMS spend
Reject invalid numbers before sending. Reduce failed deliveries and lower messaging costs on every campaign.
Sign-up form checks
Validate numbers at sign-up. Flag impossible or malformed inputs before they enter your database.
Clean CRM and contact lists
Normalize and enrich contact databases before campaigns. Remove stale entries and improve data quality.
Check numbers before sending OTPs
Confirm a number is valid and correctly formatted before you send a verification code to it.
Route by number type
Distinguish mobile from fixed-line numbers. Apply different logic for SMS, voice, or compliance workflows.
Bulk list hygiene
Queue async bulk validation jobs for large datasets. Per-number results with status tracking until the job completes.
Response
What you get back
Every validation returns structured metadata you can use in forms, CRMs and routing logic.
valid- Whether the number is valid for the detected region.
possible- Whether the number could become valid with more digits.
phone_number- Normalized E.164 format (e.g. +447700900123).
national_format- National formatting for display (e.g. 07700 900123).
country_code- ISO 3166-1 alpha-2 country code (e.g. GB).
calling_code- International calling code without plus (e.g. 44).
number_type- Line type such as MOBILE, FIXED_LINE, or UNKNOWN.
geocoder- Geographic description and locale for the number region.
time_zones- Associated time zones (e.g. Europe/London).
carrier- Carrier name and locale when available from numbering data.
Line types returned in number_type
MOBILE
Mobile handset numbers suitable for SMS and OTP delivery workflows.
FIXED_LINE
Landline numbers - useful for routing voice or excluding from SMS sends.
UNKNOWN
Returned when line type cannot be determined from the input or numbering plan.
Architecture
Validation flow: token in, clean data out
Authenticate with OAuth 2.0 client credentials, then validate one number or queue an async bulk job.
Technical details
API features
Developer-friendly REST API built for real-time validation and high-volume batch processing.
E.164 or national input
Accept international E.164 numbers or national format with an ISO region code. No pre-normalization required.
Locale-aware metadata
Optional locale parameter for geocoder and carrier name mapping in your preferred language.
Async bulk jobs
Queue bulk validation jobs with multiple numbers per request. Poll for results when the job completes.
POST /phone-validation/bulk OAuth 2.0 client credentials
Secure authentication via RFC 6749 Client Credentials grant. Bearer tokens with 5-minute expiry.
POST /auth/token One global price
€0.002 per validation across all countries. No per-destination rate tables.
Health endpoint
Public service health check at GET /phone-validation/health. No authentication required.
GET /phone-validation/health Quick start
Your first validation
A single API call returns validity, line type, and carrier metadata.
Full API reference at developer.omaxtelecom.com
$ curl -X POST https://api.omaxtelecom.com/numbers/phone-validation \ -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \ -H "Content-Type: application/json" \ -d '{ "phone_number": "+447700900123" }' // Response{ "success": true, "data": { "valid": true, "number_type": "MOBILE" }}Compare
Phone Validation vs Number Lookup
Two complementary APIs - choose validation for format and metadata, lookup for carrier network data.
| Capability | Phone Validation | Number Lookup |
|---|---|---|
| Primary use | Format & metadata validation | Carrier network lookup |
| Input format | E.164 or national + region | E.164 only |
| Valid / possible flags | Yes | No |
| Line type | MOBILE, FIXED_LINE, UNKNOWN | mobile / landline |
| MCC / MNC | No | Yes |
| Geocoder & time zones | Yes | No |
| Price per query | €0.002 | €0.0065 |
| Bulk jobs | Async job polling | Async job polling |
Need MCC/MNC? See Number Lookup API.
Prices
One price for every country
No per-destination rate tables.
Every country
€0.002
per validation query
Same price for every country. Single and bulk validations billed per request.
Each request is charged when price_per_validation is greater than zero. Indicative. Final rates depend on volume. Ask for a volume quote.
Integration
Onboarding
From account verification to validation at scale.
-
Step 01: Account and KYC
Open an account and complete company verification. Phone Validation is then enabled in the Console and production credentials (Client ID and Client Secret) are issued.
-
Step 02: Authenticate and validate
Exchange credentials for a Bearer token via OAuth 2.0 Client Credentials. POST a single number or queue a bulk validation job.
-
Step 03: Scale with bulk jobs
Submit multiple numbers in one bulk request. Poll job status until completed and retrieve per-number validation results.
FAQ
Technical questions
The Phone Validation API uses OAuth 2.0 Client Credentials (RFC 6749 §4.4). Exchange your Client ID and Client Secret from the OmaxTelecom Console for a Bearer access token at POST /auth/token. Include the token in the Authorization header for all validation requests.
Phone Validation checks whether a number is valid and returns format metadata - line type, country, timezone, geocoder, and carrier name. Number Lookup returns live carrier data including MCC and MNC for E.164 numbers. Use Phone Validation for form checks and list hygiene; use Number Lookup when you need network identifiers for routing.
You can submit E.164 format (e.g. +447700900123) or national format. For national numbers, include the region field as an ISO 3166-1 alpha-2 country code (e.g. GB). Optional locale controls geocoder and carrier name mapping.
The API returns HTTP 200 with success: true and data containing valid: false and possible: false. You still receive normalized fields where available, such as country_code and number_type: UNKNOWN.
Each validation is charged at €0.002 when price_per_validation is greater than zero. Billing applies per request, including repeat validations of the same number. For high volumes, ask us for a quote.
POST /phone-validation/bulk with a validations array returns 202 Accepted and a job_id. Poll GET /phone-validation/bulk/{job_id} until status is completed or failed. Each item includes its own result or error.
Yes. GET /phone-validation/health is a public endpoint that returns service availability. No authentication is required.
Complete documentation including request and response schemas is in the API reference at developer.omaxtelecom.com. Production credentials are issued after account verification (KYC).
Related products
Number Lookup API
Live carrier lookup with MCC/MNC for E.164 numbers. From €0.0065/query when you need network identifiers.
Learn moreEnterprise SMS
A2P SMS over REST API or SMPP 3.4. Validate numbers before sending.
Learn moreWholesale DIDs
Local, national, toll-free and mobile numbers delivered over SIP.
Learn moreReady to verify numbers at scale?
Tell us about your traffic and we'll come back within one business day with pricing and onboarding steps.
- Business accounts only
- KYC required before production
- Prepaid wallet