All datasets

Forcibly displaced and stateless populations, by origin and asylum country

End-of-year UNHCR population figures by country of origin and country of asylum: refugees, asylum-seekers, returned refugees, internally displaced persons (IDPs), returned IDPs, stateless persons, others of concern to UNHCR, other people in need of international protection, and host community members. Coverage from 1951; the provider marks missing observations with "-" (stored as null).

Source: UNHCR — Refugee Population Statistics Database1,111,299 rowsUpdated: 9/22/2026License: CC-BY-4.0
refugeesdisplacementmigrationasylumstatelessunhcridp

Quality

100

Attribution

UNHCR Refugee Population Statistics Database

Schema

ColumnTypeDescription
datetimestampReference year of the observation, mapped to January 1 of that year. UNHCR's population data are end-of-year figures; applications, decisions and solutions are annual totals for the reference year.
coo_namestringCountry of origin name (provider's wording).
coostringCountry of origin UNHCR code.
coo_isostringCountry of origin ISO code.
coa_namestringCountry of asylum name (provider's wording).
coastringCountry of asylum UNHCR code.
coa_isostringCountry of asylum ISO code.
series_idstringStable machine identifier built from the provider's own codes: UNHCR country-of-origin code, country-of-asylum code, and the measure or procedure-dimension codes (e.g. "AFG.AUL.refugees", "AFG.AUL.G.A.AR.C" for an asylum-applications row).
series_labelstringHuman-readable series name using the provider's own country names, e.g. "Afghanistan → Australia — Refugees".
pop_typestringUNHCR population group (provider's field name): refugees, asylum_seekers, returned_refugees, idps, returned_idps, stateless, ooc, oip, hst.
pop_type_labelstringHuman label of the population group: Refugees (the number of refugees), Asylum-seekers (the number of asylum-seekers), Returned refugees (the number of returned refugees), Internally displaced persons (the number of internally displaced persons), Returned IDPs (the number of returned internally displaced persons), Stateless persons (the number of stateless persons), Others of concern to UNHCR (the number of others of concern to UNHCR), Other people in need of international protection (the number of other people in need of international protection), Host community members (the number of host community members).
unitstring"persons": all measures are counts of people. For asylum applications/decisions the provider notes the data usually reflects persons but governments sometimes report cases (see app_pc/dec_pc); a case can contain one or more persons.
valuefloatObserved count. The provider marks missing observations with "-"; these become null and are dropped from the canonical frame.

Sample rows

datecoo_namecoocoo_isocoa_namecoacoa_isoseries_idseries_labelpop_typepop_type_labelunitvalue
2021-01-01T00:00:00ArubaABWABWArubaABWABWABW.ABW.asylum_seekersAruba → Aruba — Asylum-seekersasylum_seekersAsylum-seekerspersons0
2022-01-01T00:00:00ArubaABWABWArubaABWABWABW.ABW.asylum_seekersAruba → Aruba — Asylum-seekersasylum_seekersAsylum-seekerspersons0
2021-01-01T00:00:00ArubaABWABWArubaABWABWABW.ABW.hstAruba → Aruba — Host community membershstHost community memberspersons6000
2022-01-01T00:00:00ArubaABWABWArubaABWABWABW.ABW.hstAruba → Aruba — Host community membershstHost community memberspersons1700
2021-01-01T00:00:00ArubaABWABWArubaABWABWABW.ABW.idpsAruba → Aruba — Internally displaced personsidpsInternally displaced personspersons0

Download sample data

Download the full sample snapshot for this dataset (sample rows, not the complete dataset).

Use with an LLM

Point any LLM at the metadata endpoint — the documentation above is machine-readable too (JSON-LD + Croissant).

cURL

curl "https://datazimuts.com/v1/datasets/unhcr/unhcr_displaced_population" | jq '{title, rows, columns_count, license}'

Python

import requests

ds = requests.get("https://datazimuts.com/v1/datasets/unhcr/unhcr_displaced_population").json()
print(ds["title"], ds["rows"], "rows")

# Sample rows for an LLM context window
for row in ds.get("sample_rows", [])[:5]:
    print(row)

API endpoint: https://datazimuts.com/v1/datasets/unhcr/unhcr_displaced_population

Tip: fetch /llms.txt for the full machine-readable catalog.