Docs

Base: https://api.parseapi.com. Auth: X-API-Key. USA latency ~8–12ms avg (p95 ~25ms).

curl "https://api.parseapi.com/ip/8.8.8.8" \
  -H "X-API-Key: YOUR_API_KEY"

Introduction

All responses are minimal JSON. Free tier is genuinely useful. Paid plans unlock richer data with ?expand=true.

Authentication

Send your API key on every request with the X-API-Key header.

X-API-Key: YOUR_API_KEY
curl "https://api.parseapi.com/ip/8.8.8.8" \
  -H "X-API-Key: YOUR_API_KEY"

API keys

Create and revoke keys in the dashboard. Use separate keys per environment. The full secret is shown once on create — store it safely.

Never ship keys in client-side apps or public repos. Prefer server-side calls.

Usage & overages

Each plan includes a monthly call volume. We don’t hard-cut your traffic mid-request — when you exceed the included amount, overages apply.

You’ll get notifications as you approach your included volume. Track usage in the dashboard.

Errors

Errors return a consistent JSON body:

{
  "error": "not_found",
  "message": "Postal code not found: 00000",
  "help": "https://parseapi.com/docs/errors/not_found",
  "request_id": "req_…"
}
invalid_api_key — missing or bad key (401)
validation_error — bad input (400)
not_found — no match / unknown route (404)
rate_limit_exceeded — too many requests (429)
internal_error — something broke on our side (500)

Expand

On paid plans, add ?expand=true for richer fields. Free requests omit the expand object.

Supported on postal, IP, email, and UA. Continent, country, state, and city return full core payloads without expand.

IP

GET
api.parseapi.com/ip/{ip}
Country, continent, ASN. Paid expand adds region and city when available
curl "https://api.parseapi.com/ip/8.8.8.8" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "ip": "8.8.8.8",
  "country_code": "US",
  "country": "United States",
  "continent": "NA",
  "asn": "AS15169"
}

Paid expand

curl "https://api.parseapi.com/ip/8.8.8.8?expand=true" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "ip": "8.8.8.8",
  "country_code": "US",
  "country": "United States",
  "continent": "NA",
  "asn": "AS15169",
  "expand": {
    "region": "California",
    "city": "Mountain View"
  }
}

Email

GET
api.parseapi.com/email/{email}
Format, domain, verification. Paid expand adds disposable / deliverable / catchall
curl "https://api.parseapi.com/email/hello@gmail.com" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "email": "hello@gmail.com",
  "valid": true,
  "domain": "gmail.com",
  "domain_valid": true,
  "role": false
}

Paid expand

curl "https://api.parseapi.com/email/hello@gmail.com?expand=true" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "email": "hello@gmail.com",
  "valid": true,
  "domain": "gmail.com",
  "domain_valid": true,
  "role": false,
  "expand": {
    "disposable": false,
    "deliverable": true,
    "catchall": false
  }
}

UA

GET
api.parseapi.com/ua?ua={string}
Device, OS, browser, bot detection. Optional expand for versions and insight

Pass the string via the User-Agent header or ?ua=.

curl "https://api.parseapi.com/ua" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
{
  "useragent": "Mozilla/5.0 …",
  "device": "desktop",
  "os": "macOS",
  "browser": "Chrome",
  "is_bot": false,
  "is_mobile": false
}

Paid expand

curl "https://api.parseapi.com/ua?expand=true" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
{
  "useragent": "Mozilla/5.0 …",
  "device": "desktop",
  "os": "macOS",
  "browser": "Chrome",
  "is_bot": false,
  "is_mobile": false,
  "expand": {
    "device": {
      "type": "desktop",
      "brand": "Apple",
      "model": "Mac",
      "cpu": null,
      "is_touchscreen": false
    },
    "os": {
      "name": "macOS",
      "version": "10.15"
    },
    "browser": {
      "name": "Chrome",
      "version": "120.0.0"
    },
    "engine": {
      "name": "Blink",
      "version": null
    },
    "insight": "Chrome on macOS (desktop)"
  }
}

Continent

GET
api.parseapi.com/continent/{code}
Continent metadata by 2-letter code (NA, EU, AF, AS, OC, SA, AN)
GET
api.parseapi.com/continent/{code}/countries
Countries in a continent
curl "https://api.parseapi.com/continent/na" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "code": "NA",
  "name": "North America",
  "region": "Americas",
  "area": 24709000,
  "emoji": "🌎"
}

Country

GET
api.parseapi.com/country/{code}
Country metadata by ISO2 code
curl "https://api.parseapi.com/country/us" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "iso2": "US",
  "iso3": "USA",
  "name": "United States",
  "official_name": "United States of America",
  "capital": "Washington, D.C.",
  "continent": "NA",
  "currency_code": "USD",
  "flag_emoji": "🇺🇸",
  "tld": ".us",
  "languages": ["English"],
  "borders": ["CA", "MX"]
}

State

GET
api.parseapi.com/state/{code}
State or province lookup. Defaults to ?country=US

Pass ?country= for non-US lookups.

curl "https://api.parseapi.com/state/nc" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "code": "NC",
  "name": "North Carolina",
  "country": "US",
  "latitude": 35.5,
  "longitude": -79.8,
  "timezone": "America/New_York"
}

City

GET
api.parseapi.com/city/{query}
Lookup by city name (best population match)
GET
api.parseapi.com/city?lat={lat}&lon={lon}
Lookup by coordinates
curl "https://api.parseapi.com/city/charlotte" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "name": "Charlotte",
  "country": "US",
  "state": "North Carolina",
  "state_code": "NC",
  "latitude": 35.2271,
  "longitude": -80.8431,
  "population": 874579,
  "timezone": "America/New_York"
}

Postal

GET
api.parseapi.com/postal/{code}
US postal lookup. Paid expand adds demographics, housing, nearby

US coverage only for now. Core fields include timezone and elevation (feet).

curl "https://api.parseapi.com/postal/33139" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "postal_code": "33139",
  "city": "Miami Beach",
  "state_code": "FL",
  "state": "Florida",
  "county": "Miami-Dade",
  "country_code": "US",
  "latitude": 25.7823,
  "longitude": -80.1375,
  "timezone": "America/New_York",
  "currency_code": "USD",
  "elevation": 3
}

Paid expand

curl "https://api.parseapi.com/postal/33139?expand=true" \
  -H "X-API-Key: YOUR_API_KEY"
{
  "postal_code": "33139",
  "...": "core fields",
  "expand": {
    "demographics": {
      "population": 38000,
      "median_age": 41.2,
      "median_income": 62000,
      "households": 21000
    },
    "housing": {
      "housing_units": 28000,
      "median_home_value": 450000,
      "median_gross_rent": 1800
    },
    "geography": {
      "nearby": [
        { "postal_code": "33140", "city": "Miami Beach", "distance_mi": "1.2" }
      ]
    },
    "insight": "…"
  }
}

Questions? support@parseapi.com