Messy in.
Clean out.

Validate emails and phone numbers. Look up IPs and postal codes. Get clean JSON in your app, or enrich a whole spreadsheet.

100k requests/month on Free. Paid plans from $20/mo.

Have a spreadsheet? Verify a file →

All APIs →

Add country and network context to an IP.

Example response

United States

Google LLC

JSON preview

{  "ip": "8.8.8.8",  "country": "US",  "asn": "AS15169",  "asn_name": "Google LLC"}
Full JSON and request
{
  "ip": "8.8.8.8",
  "country": "US",
  "country_name": "United States",
  "continent": "NA",
  "asn": "AS15169",
  "asn_name": "Google LLC"
}
Request
curl "https://api.parseapi.com/ip/8.8.8.8" \
  -H "X-API-Key: YOUR_API_KEY"
Use the IP API →Try it without an account.
Core lookup medians: ~27ms US · ~74ms worldwide

SPEED

27ms

US median

74ms

Worldwide

Fast enough to call inline, no spinner, no background job. Core lookups, measured every 30 minutes from 21 cities worldwide. Some deep checks take longer.

See live status →

DATA

Official sources. Worldwide scale.

Reference data, refreshed on a schedule. Explore the coverage behind each lookup.

DEEP DATA

One endpoint. Two depths.

Go from an IP's country to its network flags, or an email's format to its deliverability. Add ?deep=true for richer fields in a nested deep object. The route and core fields stay the same.

IP and domain deep are included on paid plans. Email and VAT verification use separate monthly allowances, including on Free.

GET /ip/8.8.8.8
GET /ip/8.8.8.8?deep=true

BULK

Verify the whole file.

Drop a spreadsheet. We detect supported columns like emails, phone numbers, IPs, and postal codes, then add the answers beside them. Priced per column. Junk is free.

See your sample and price before you run.

Drop a file →
emailparse_email_deliverablephoneparse_carrier_type
jeff@amazon.comtrue(310) 285-8000landline
bobby.tables@xkcd.comfalse(212) 736-5000voip
press@10minutemail.comfalse867-5309 

DX

It just works.

Auth, errors, and docs. All exactly where you'd look for them.

X-API-Key: YOUR_API_KEY

One header

X-API-Key or Authorization: Bearer. Same key, either header. Copy it in and start calling.

{ code, message, docs, request_id }

Errors you can act on

Every failure returns the same shape: a code, a message, a link to the exact fix, and a request ID to trace it.

/docs#not_found

Docs that answer it

Every field explained. Every error paired with the fix, so the next step is always obvious.

PLANS

Big quotas. One price per team.

Upgrade when you outgrow it. Start is $20/mo for 1M requests, Pro is $100/mo for 10M. No per-seat billing.

Live checks, including email verification and carrier lookups, have their own included monthly allowances. Paid plans add optional per-check overage.

WHY

An API should feel native. Built into your stack, not bolted onto it.

That's worth arguing about a single field name for a week before we ship it. We use parseAPI every day ourselves, so it has to be good, not just correct, with docs that tell the truth.