Validate national and international phone numbers in a single API call. Detect carrier, line type, and geocode location. Returns E.164 format, country details, and timezone in structured JSON.
245+
Countries
E.164
Format
Live
Carrier Data
Live Validation Demo
Awaiting response
{
"status": 200,
"message": "Success"
}CAPABILITIES
Built for user registration, SMS campaigns, fraud prevention, CRM enrichment, and any workflow where phone number quality matters.
Validate phone numbers from over 245 countries and territories through one consistent endpoint. No need to build country-specific validation rules or maintain separate lookup tables.
Returns the live carrier name and line type for each number. Identify whether a number is mobile, landline, VoIP, or toll-free before you attempt SMS or voice delivery.
Accepts local, national, international, and E.164 formats. The API normalises the input and returns the canonical E.164 form alongside the dialling format for each country.
Returns the country code, country name, and geocode location associated with the number prefix. Helps enrich contact records and route regional communications correctly.
Includes the timezone associated with the number prefix so your application can avoid calling outside business hours and can show users their local time when scheduling.
A single GET request returns a predictable JSON response with validity, carrier, line type, country, location, and E.164 format. Easy to integrate in any language or framework.
USE CASES
From user registration to fraud prevention and data quality, the API is designed for production workflows where phone number integrity matters.
Catch fake, mistyped, or disposable phone numbers before they enter your system. Validate format, confirm the number is reachable, and detect the line type so you can enforce mobile-only sign-up policies.
Reduce fake and bot registrations at the source
Enforce mobile-only or country-specific sign-up rules
Prefill country code and format for a better UX
Avoid sending verification SMS to invalid numbers
A regex can only check structure. This API confirms whether the number is a real, reachable mobile number and returns the carrier and line type so your sign-up flow can enforce the right rules.
HOW TO START
Sign up with your email and get instant access to the developer portal, API keys, usage tracking, and documentation. No credit card required to start.
Get StartedSend a GET request with your x-api-key and the phone number. The API validates the format, detects the carrier and line type, and returns location data in a single response.
Route valid numbers through your sign-up flow, SMS campaign, CRM, or fraud check. Use the carrier, line type, country, and E.164 format fields to drive your business logic.
View PricingINTEGRATION
A single GET request returns validity, carrier, line type, E.164 format, country, location, and timezone. No SDK required.
curl -X GET \
"https://phone.apitier.com/v1/validate?x-api-key=YOUR_API_KEY&number=17036971776"
# Response
{
"status": 200,
"message": "Success",
"result": {
"number": "17036971776",
"valid": true,
"message": "Phone number is valid.",
"e164Format": "+17036971776",
"internationalFormat": "+1 703-697-1776",
"nationalFormat": "(703) 697-1776",
"countryCode": "US",
"countryName": "United States",
"countryPrefix": "+1",
"lineType": "mobile",
"carrier": "T-Mobile USA",
"geocode": "Virginia",
"timezone": ["America/New_York"]
}
}FAQ
Which countries does the Phone Validation API support?
The API supports phone numbers from over 245 countries and territories. It identifies the country code from the number prefix, validates the format for that country, and returns location and carrier data for supported regions.
What formats does the API accept?
The API accepts numbers in local, national, international, and E.164 formats. You do not need to normalise the input before sending it — the API handles format detection and returns the canonical E.164 form in the response.
What does the lineType field tell me?
lineType indicates whether the number is a mobile, landline, VoIP, toll-free, or other line type. This is particularly useful for enforcing mobile-only sign-up policies, filtering SMS lists, and detecting virtual numbers in fraud prevention flows.
Does the API return the carrier name?
Yes. When carrier data is available for the number prefix, the response includes the carrier name. This is returned as a live lookup rather than a static prefix table where supported.
Can I use the API to validate numbers during user registration?
Yes. The API is designed for real-time use in sign-up forms, checkout flows, onboarding screens, and any other point where you need to confirm a phone number before accepting it into your system.
What is the difference between a valid format and a reachable number?
A valid format means the number structure matches the expected pattern for that country. Reachability depends on the line being active, which requires a live carrier check. The API validates format and returns line type and carrier, but does not perform a live network ping to confirm active status.
Does the API return location and timezone?
Yes. The response includes a geocode field with the region associated with the number prefix, and a timezone field with the IANA timezone identifiers for that region. This is useful for scheduling, routing, and contact enrichment.
How do I use the API for bulk data cleanup?
Although each request validates one number, the endpoint is straightforward to call in batch jobs, ETL scripts, data migration pipelines, and admin tools that process large contact lists. The structured response makes it easy to flag, filter, or normalise records at scale.
Is a country code prefix required in the number I send?
Including the country code prefix (e.g., +1 for US, +44 for UK) gives the best results. If you send a local number without a prefix, the API may attempt to infer the country but accuracy improves significantly when the full international format or E.164 form is supplied.
Is the API simple to integrate without an SDK?
Yes. The API uses a simple GET request with x-api-key and number query parameters, and returns a predictable JSON response. No SDK is required — it works from any frontend, backend service, low-code tool, or script in any language.