← Docs

Population

Population and its observation period, by place.

Need a population estimate? Look up the place. Country, state, district, city and postal profiles include a deep.population field with ?deep=true on paid plans. Continent population stays in core on every plan.

deep.population_period sits beside the estimate on place profiles. It is an observation year such as 2024 or a multi-year period such as 2020-2024. Unknown periods stay null. Different places can have different periods. Refreshing a record does not change its observation period.

Where it lives

GET
api.parseapi.com/country/{code}?deep=true
Country, includes population
Explore
Parameters 3
codestring · path · required

ISO 3166-1 alpha-2 or alpha-3, or a country name (germany)

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

Length: 2 to 64 characters

deepboolean · query · optional

Country profiles, physical geography, statistics, regional conventions, tax references and alternate identifiers. Included on paid plans.

GET
api.parseapi.com/state/{code}?country={iso2}&deep=true
State or province, includes population
Explore
Parameters 4
codestring · path · required

State or province code or name (NC, colorado, ontario)

countrystring · query · optional

ISO2, ISO3, or a country name. Optional when the code or name is globally unique. A collision 404s asking for it.

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

Length: 2 to 64 characters

deepboolean · query · optional

Population, area, capital, area codes and tax references. Included on paid plans.

GET
api.parseapi.com/district/{code}?deep=true
District, includes population
Explore
Parameters 5
codestring · path · required

District code or name (08031, guilford county, E09000033)

countrystring · query · optional

ISO2, ISO3, or a country name. Optional when the code or name is unique.

statestring · query · optional

ADM1 code or name. Narrows name lookups. Prefer louisiana over LA, which collides across countries, or include country=US.

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

Length: 2 to 64 characters

deepboolean · query · optional

Population, area, the seat of government and US county property-tax medians. Included on paid plans.

GET
api.parseapi.com/city/{name}?deep=true
City, includes population
Explore
Parameters 5
namestring · path · required

City name

countrystring · query · optional

ISO country code to disambiguate

statestring · query · optional

State code such as FL or US-FL. Get codes from /country/{country}/states. State names return 400. A country prefix must match the country filter.

Length: 1 to 6 characters

Pattern: ^(?:[A-Za-z]{2}-)?[A-Za-z0-9]{1,3}$

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

Length: 2 to 64 characters

deepboolean · query · optional

Population, area, elevation and capital status. Included on paid plans.

GET
api.parseapi.com/postal/{code}?country={iso2}&deep=true
Postal / ZIP, includes population
Explore
Parameters 4
codestring · path · required

Postal or ZIP code. Unique codes resolve bare (SW1A 1AA). Use ?country=JP for 100-0001, whose digits also occur in Portugal.

countrystring · query · optional

ISO2, ISO3, or a country name. Optional when the code exists in exactly one covered country. Both five-digit and seven-digit codes can collide.

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

Length: 2 to 64 characters

deepboolean · query · optional

Population, area, elevation, tax references, nearby postal codes and metropolitan areas. Included on paid plans.

GET
api.parseapi.com/continent/{code}
Continent, includes population
Explore
Parameters 2
codestring · path · required

Two-letter continent code

Values: NA, EU, AF, AS, OC, SA, AN

langstring · query · optional

Display language as one BCP 47 tag, such as fr or zh-Hant. Changes supported display labels only; IDs, codes, native names, facts, parsing and deep access stay unchanged. Omit for the original response. Unsupported regions use the supported language base; unsupported languages or scripts use English. Missing labels retain their source value. Accept-Language is not read automatically. Available on the current API contract; frozen 1.0.0 is unchanged.

Length: 2 to 64 characters

Run this Deep example with a paid-plan key. Deep is included in the pooled request, with no separate lookup charge.

import { parseAPI } from '@parseapi/sdk';

const parse = parseAPI("YOUR_API_KEY");
const result = await parse.country("ca", { deep: true });
console.log(result);

Run on your server with a secret key. Calling from a browser or app?

Example response (excerpt)

This example shows selected fields or shortened lists. Run the request for the full response.

{
  "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"
  ],
  "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"
  }
}

District lists under /state/{code}/districts also carry deep.population when requested on paid plans and available.

Questions? Email