GET /phone/{number}

Phone number API

Pass a phone number. Get it back valid, formatted, plus the line type.

Try it

245 countries and regions.

valid

Number is valid

type

mobile | landline | toll_free | unknown, what the numbering plan says. The network's word (voip) lives on /carrier

state

State/province code from the area code (NANP), else null

state_name

State/province name from the area code (NANP), else null

country

ISO 3166-1 alpha-2 country

national

National formatting

international

International formatting

1

Pass a phone number

National or international. North American 10-digit is detected from the area code.

2

Get it back clean

Valid, national, and international, plus line type and the area-code state. One JSON.

3

A list when you have one

Drop a CSV or Excel file. Carrier, caller ID, and live status are toggles on the quote.

Phone APIs

Phone

Valid, formatted, plus the line type. Area-code state included.

Carrier

Who serves it. Real line type, including voip. Burner flag.

Caller ID

The name a phone screen shows.

Live status

Assigned, and switched on.

245 countries and regions.

Valid, formatted, plus the line type.

Have a list?

Drop a CSV or Excel file. Half a cent a number with the carrier check, $5 minimum. Caller ID and live status are toggles on the quote.

Drop a CSV, Excel, or Numbers file

.csv, .xlsx, .xls, .numbers, .tsv, or a text list

Bulk phone validation

245
countries & regions
4
types from the plan
3
formats out
3
more endpoints

Check a phone number before you store it. Pass +14155552671 and get it back valid, national, and international, with the line type and the state behind the area code. A 10-digit North American number is detected from the area code. Other national formats take ?country=.

Built for signup forms and CRM cleanup. Answers come from the numbering plan itself. When you need the network's word, the same number drops into /carrier, /caller, or /hlr.

RESPONSE

$ curl "https://api.parseapi.com/phone/+14155552671" \
  -H "X-API-Key: YOUR_API_KEY"

// 200 · ~39ms US · ~107ms worldwide
{
  "phone": "+14155552671",
  "valid": true,
  "country": "US",
  "type": "landline",
  "state": "CA",
  "state_name": "California",
  "national": "(415) 555-2671",
  "international": "+1 415-555-2671"
}

Response fields

phone
Normalized number (+ country code, no spaces), or null if invalid
valid
Number is valid
country
ISO 3166-1 alpha-2 country
type
mobile | landline | toll_free | unknown, what the numbering plan says. The network's word (voip) lives on /carrier
state
State/province code from the area code (NANP), else null
state_name
State/province name from the area code (NANP), else null
national
National formatting
international
International formatting

QUESTIONS

What if it is not a number?
valid: false as a 200. phone is null. Same as a typo in a form field.
Why does type never say voip?
Landline, mobile, or toll-free from the number itself. VoIP is a /carrier lookup.
Who serves the number?
GET /carrier returns the carrier, line type, burner flag, and issued city.
Can I get the caller ID?
GET /caller returns the name a phone screen shows. North American numbers.
Is the number live?
GET /hlr asks the mobile network. live means assigned, connected means reachable right now.
Can I run a list?
Drop a CSV or Excel file on this page. Cleanup columns are cheap; carrier, caller ID, and live status are toggles on the quote.
Already in Google Sheets?
A sidebar writes parse_ columns next to your numbers. Same plan, no extra fee. See /sheets.

SPEED

How long a lookup takes.

US

39ms

EU

82ms

APAC

141ms

LatAm

18ms

ME

122ms

See live status →

Coverage

Worldwide. Every numbering plan.

Look up an area code or format a list of numbers with the number formatter.