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

ParameterTypeRequiredDescription
valuestringYesThe phone number to validate
countryCodestringNoISO 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

FieldTypeDescription
validbooleanWhether the phone number is valid
countryCodestring | nullISO 3166-1 alpha-2 country code (e.g. PL)
callingCodestringInternational dialling prefix without the + (e.g. 48)
nationalNumberstringThe subscriber number without the country calling code
typestringLine type: MOBILE, FIXED_LINE, FIXED_LINE_OR_MOBILE, TOLL_FREE, PREMIUM_RATE, VOIP, SHARED_COST, PERSONAL_NUMBER, PAGER, UAN, VOICEMAIL, UNKNOWN
e164stringNumber in E.164 format (e.g. +48600123456)
nationalstringNumber formatted in national notation (e.g. 600 123 456)
internationalstringNumber 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
}