GET /carrier/{number}

Carrier API

Pass a phone number. The network says who serves it.

Example response

GET /carrier/+14153755556?deep=true

{
  "phone": "+14153755556",
  "valid": true,
  "country": "US",
  "type": "mobile",
  "carrier": "T-Mobile US",
  "burner": false,
  
}

1M requests · $20/mo. Get started

Coverage

Worldwide carrier lookups. Results are cached between network checks.

Ask the network who serves a number. Get the carrier, real line type including VoIP, and a flag for known burner apps. Add deep=true for the city and state where the number block was issued.

Core and detail use the same single carrier lookup. Free includes 100 a month. Invalid numbers use no carrier unit; see Plans for additional lookup rates.

Make your first request.

One key works across the APIs. Copy a request in your language and get JSON back.

curl "https://api.parseapi.com/carrier/+12127365000" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "phone": "+12127365000",
  "valid": true,
  "country": "US",
  "type": "voip",
  "carrier": "Sinch Voice",
  "burner": false
}

API referenceSDKsKeys and authentication

Every response field

Response fields

phonestring or null
Normalized number (+ country code, no spaces), or null if invalid
validboolean
Number is valid
countrystring or null
ISO 3166-1 alpha-2 country
typestring or null
mobile | landline | voip | toll_free | unknown
carrierstring or null
Carrier display name, else null
burnerboolean or null
true when the carrier is a known burner app. null if we do not know the carrier

Deep fields

deep.citystring or null
City where the number block was issued (not live location). Gazetteer name when known, readable expansion otherwise
deep.statestring or null
State/province code from the area code (NANP), else null
deep.state_namestring or null
State/province name from the area code (NANP), else null

QUESTIONS

Where does the data come from?
Carrier and line type come from network lookups. Results are cached between checks.
What can it see that a parser cannot?
voip. A voip number sits inside a regular-looking block, so offline parsing calls it landline or mobile. The network names the real service.
What is the burner flag?
true when the carrier itself names a known burner app, TextNow or Pinger class. A curated list, never a score. null when the carrier is unknown.
Is the city where the phone is now?
deep.city is where the number block was issued. Request deep=true for city and state in the same carrier lookup, with no additional charge.
What does a lookup cost?
One carrier lookup from the monthly allowance per valid number. Free includes 100 a month. See Plans for additional lookup rates. Junk numbers answer valid: false free.
Can I get the caller ID?
GET /caller returns the name a phone screen shows. North American numbers.
Can I check assignment and reachability?
GET /hlr returns assignment and reachability at the last network check. Results are cached.
Just need validation?
GET /phone validates and formats any number. 245 countries and regions.
Can I run a list?
Drop a phone CSV on /bulk. Your quote shows the price for unique numbers. A number that fails validation skips the network checks.

Phone APIs

Phone

Valid, formatted, plus the line type. Optional numbering-plan detail.

Carrier

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

Caller ID

The name a phone screen shows.

Live status

Assignment and reachability at the last network check.

Have a list?

Drop a phone CSV. Carrier is a toggle on the quote. See your exact price before paying.

Drop a CSV, Excel, or Numbers file

or choose a file

Bulk phone validation

Know the network.

Carrier and line type in one lookup. Checks have their own allowance.

Start includes 1M API requests a month for $20/mo.

1,000 carrier lookups included per month.

Ready for busy moments.Start includes 6,000 requests per minute, with extra capacity for bursts. Rate limits