GET /city/{name}?deep=true

Population API

Look up a place. Add its population.

Try it

Response/city/charlotte

Run a lookup to see the response.

1M requests · $20/mo. Get started

What comes back.

deep.population

Population estimate on country, state, district, city and postal profiles; included on paid plans

deep.population_period

Observation year or multi-year period for this population estimate (YYYY or YYYY-YYYY). Null when the record has no verified period or population. Never the import date.

1

Call a place API

Country, state, district, city, postal, or continent.

2

Read population

Add deep=true for deep.population on paid place lookups. Continent keeps population in its ordinary response.

3

Keep its period

population_period gives the observation year or multi-year period, beside population. Unknown periods stay null.

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/country/ca?deep=true" \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Parse-Version: 2.0.0"
// Example response · 200
{
  "country": "CA",
  "name": "Canada",
  "continent": "NA",
  "currency": "CAD",
  "currency_name": "Canadian Dollar",
  "currency_symbol": "C$",
  "calling_code": "+1",
  "emoji": "🇨🇦",
  "languages": ["en"],
  "timezones": [
    "America/Cambridge_Bay",
    "America/Dawson",
    "America/Dawson_Creek",
    "America/Edmonton",
    // ... 19 more
  ],
  "deep": {
    "iso3": "CAN",
    "numeric": 124,
    "full_name": "Canada",
    "demonym": "Canadian",
    "capital": "Ottawa",
    "capital_lat": 45.42,
    "capital_lon": -75.7,
    "region": "Americas",
    "subregion": "Northern America",
    "population": 41288599,
    "population_period": null,
    "area": 9984670,
    "land_area": 9093507,
    "water_area": 891163,
    "coastline": 202080,
    "elevation": 487,
    "lowest_point": {
      "name": "Atlantic/Pacific/Arctic Oceans",
      "elevation": 0
    },
    "highest_point": {
      "name": "Mount Logan",
      "elevation": 5959
    },
    "tld": ".ca",
    "borders": ["US"],
    "blocs": ["G7", "NATO", "OECD"],
    "week_start": "sunday",
    "units": "metric",
    "driving_side": "right",
    "plugs": ["A", "B"],
    "voltage": 120,
    "frequency": 60,
    "emergency": {
      "police": "911",
      "ambulance": "911",
      "fire": "911"
    },
    "postal_format": "A#A #A#",
    "postal_regex": "^(?:[ABCEGHJKLMNPRSTVXY]\d[ABCEGHJ-NPRSTV-Z] ?\d[ABCEGHJ-NPRSTV-Z]\d)$",
    "tax": "GST",
    "tax_rate": 5,
    "tax_id_format": "999999999RT9999",
    "tax_id_regex": "^[0-9]{9}RT[0-9]{4}$",
    "ioc": "CAN",
    "fifa": "CAN",
    "plate": "CDN"
  }
}

API referenceSDKsKeys and authentication

Every response field

Response fields

population
Population estimate on /continent; country, state, district, city and postal estimates live in deep.population
deep.population_period
Observation year or multi-year period for this population estimate (YYYY or YYYY-YYYY). Null when the record has no verified period or population. Never the import date.
deep.population
Population estimate on country, state, district, city and postal profiles; included on paid plans

QUESTIONS

Is this its own endpoint?
No. Add deep=true on a paid plan and read deep.population on country, state, district, city, or postal lookups. Continent keeps population in its ordinary response on every plan.
Which period does the population describe?
deep.population_period gives the observation year or multi-year period (YYYY or YYYY-YYYY) on country, state, district, city, and postal detail. Unknown periods stay null. The period is never inferred from an import or refresh date.