Phone Number
GET/v0/phone
Validates phone numbers for 200+ countries. Returns the country, calling code, national number, line type, and formatted representations (E.164, national, international). Accepts numbers in E.164 format (+48600123456) or in national format when a countryCode hint is provided.
Try it
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| value | string | Yes | The phone number to validate |
| countryCode | string | No | ISO 3166-1 alpha-2 country code (e.g. PL, DE, US). Required when the number is in national format without a country prefix. |
Example Request
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.isvalid.dev/v0/phone?value=%2B48600123456"
Response Fields
| Field | Type | Description |
|---|---|---|
| valid | boolean | Whether the phone number is valid |
| countryCode | string | null | ISO 3166-1 alpha-2 country code (e.g. PL) |
| callingCode | string | International dialling prefix without the + (e.g. 48) |
| nationalNumber | string | The subscriber number without the country calling code |
| type | string | Line type: MOBILE, FIXED_LINE, FIXED_LINE_OR_MOBILE, TOLL_FREE, PREMIUM_RATE, VOIP, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN, VOICEMAIL, UNKNOWN |
| e164 | string | Number in E.164 format (e.g. +48600123456) |
| national | string | Number formatted in national notation (e.g. 600 123 456) |
| international | string | Number formatted in international notation (e.g. +48 600 123 456) |
Example Response — valid
{
"valid": true,
"countryCode": "PL",
"callingCode": "48",
"nationalNumber": "600123456",
"type": "MOBILE",
"e164": "+48600123456",
"national": "600 123 456",
"international": "+48 600 123 456"
}Example Response — valid (US toll-free)
{
"valid": true,
"countryCode": "US",
"callingCode": "1",
"nationalNumber": "8005550100",
"type": "TOLL_FREE",
"e164": "+18005550100",
"national": "(800) 555-0100",
"international": "+1 800-555-0100"
}Example Response — invalid
{
"valid": false
}