curl -X GET 'https://api.countrystatecity.in/v1/phone/parse?number=%2B14155552671' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
{
"country": "US",
"dial_code": "+1",
"iso2": "US",
"iso3": "USA",
"national_number": "4155552671",
"e164": "+14155552671"
}
Phone Endpoints
Parse Phone Number
Parse an E.164 phone number into its country and national parts
GET
/
v1
/
phone
/
parse
curl -X GET 'https://api.countrystatecity.in/v1/phone/parse?number=%2B14155552671' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
{
"country": "US",
"dial_code": "+1",
"iso2": "US",
"iso3": "USA",
"national_number": "4155552671",
"e164": "+14155552671"
}
Given a phone number in E.164 format (
+ followed by country code and national digits), identify the originating country and split out the national portion.
The matcher walks 3-digit → 2-digit → 1-digit ITU prefixes, so longer-prefix countries (like +972 Israel) win over shorter-prefix ones that share the leading digit. For NANP +1 numbers, the area code is matched against known territory area codes — +1-246-555-1234 resolves to Barbados (BB), not the US.
Availability: Supporter plan and above. Returns
403 on lower tiers.The response echoes the phone number (
e164 and national_number), so it’s PII. The endpoint returns Cache-Control: no-store and emits no ETag — Cloudflare, browsers, and intermediate proxies will not retain the response. Do not change this if you’re proxying through additional caching layers; the Cache-Control is intentional.The internal phone-prefix index is cached server-side for 24 hours. The X-Parse-Index-Cache: HIT|MISS header reports whether that internal lookup was a cache hit — it does not describe the response body.Authentication
Your API key for authentication
Query Parameters
E.164-formatted phone number starting with
+ followed by 5–15 digits.Both +14155552671 and the URL-decoded form 14155552671 (with a leading space, which is how some HTTP clients deliver an unencoded +) are accepted.Response
ISO 3166-1 alpha-2 code of the matched country (e.g.
"BB"). Convenience field equal to iso2.Country dial code with leading
+ (e.g. "+1").Present only for NANP matches with a fixed area-code prefix (e.g.
"246" for Barbados). Omitted when not applicable.ISO 3166-1 alpha-2 code.
ISO 3166-1 alpha-3 code.
Digits remaining after stripping the country dial code (no
+, no separators). For NANP numbers this includes the area code — the area code is part of the national format.Echo of the normalized input (always starts with
+).curl -X GET 'https://api.countrystatecity.in/v1/phone/parse?number=%2B14155552671' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
{
"country": "US",
"dial_code": "+1",
"iso2": "US",
"iso3": "USA",
"national_number": "4155552671",
"e164": "+14155552671"
}
Notes on Matching
The matcher tries 3-digit, then 2-digit, then 1-digit ITU prefixes:+972...matches Israel (3-digit prefix), not Yemen (+967) or any 1-digit+9country (none exist, but the logic generalizes).+44...matches the UK (2-digit prefix).+1...is the NANP — the next 3 digits are checked against known area codes (Barbados246, Antigua268, etc.). If no area code matches, the request falls back to the US.
+1-XXX area-code prefix for a country, the matcher prefers that more-specific entry over the bare +1.
Related Endpoints
- Get Dial Code by Country — when you already know the country
- List Dial Codes — every country plus reverse lookup
Was this page helpful?
⌘I