indicators: Get indicator data

API: unesco.org:unesco-institute-for-statistics-api
Endpoint: /api/public/data/indicators
Response format: application/json
Charset: utf-8
Auth: unknown
Method: GET
Last Status: 200
Latency: 150ms

Description

Returns statistical data for specified indicators and geographic units. This is the main data retrieval endpoint for UNESCO statistics on education, science, culture, and demographics.

From spec: Returns statistical data for specified indicators and geographic units. At least one geoUnit or indicator parameter must be provided. Maximum 100,000 records per request.

Usage Tips

- No authentication required - At least one geoUnit OR indicator parameter is required - Optional: year, startYear/endYear for filtering - Maximum 100,000 records per request - Use /definitions endpoints to discover valid geoUnit and indicator values

Parameters (4)

endYear (integer, query, optional)

End year for data range (inclusive)

Constraints: {'minimum': 1970, 'maximum': 2030}

geoUnit (array, query, optional)

Geographic unit code(s) to filter by (e.g., BRA, USA, WLD). Can be specified multiple times for multiple units.

indicator (array, query, optional)

Indicator code(s) to retrieve (e.g., CR.1, CR.2). Can be specified multiple times for multiple indicators.

startYear (integer, query, optional)

Start year for data range (inclusive)

Constraints: {'minimum': 1970, 'maximum': 2030}

Examples (2)

Get population data for United States probe-gate

Demonstrates querying time-series data for a specific country and indicator

curl 'https://api.uis.unesco.org/api/public/data/indicators?geoUnit=USA&indicator=200101'
import requests

resp = requests.get(
    "https://api.uis.unesco.org/api/public/data/indicators",
    params={
        'geoUnit': 'USA',
        'indicator': '200101',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("unesco-institute-for-statistics")
result = api.fetch("api/public/data/indicators", geoUnit="USA", indicator=200101)

for item in result:
    print(item)
const resp = await fetch("https://api.uis.unesco.org/api/public/data/indicators?geoUnit=USA&indicator=200101");
const data = await resp.json();
Get France population for a specific year probe-gate

Demonstrates filtering data to a specific year using the year parameter

curl 'https://api.uis.unesco.org/api/public/data/indicators?geoUnit=FRA&indicator=200101&year=2020'
import requests

resp = requests.get(
    "https://api.uis.unesco.org/api/public/data/indicators",
    params={
        'geoUnit': 'FRA',
        'indicator': '200101',
        'year': '2020',
    },
)
data = resp.json()
import zingu_apis

api = zingu_apis.api("unesco-institute-for-statistics")
result = api.fetch("api/public/data/indicators", geoUnit="FRA", indicator=200101, year=2020)

for item in result:
    print(item)
const resp = await fetch("https://api.uis.unesco.org/api/public/data/indicators?geoUnit=FRA&indicator=200101&year=2020");
const data = await resp.json();

Probe History

Latency

Status Codes

TimeStatusLatencySize
2026-04-16 00:33:01.480691 200 150ms
2026-04-16 00:29:03.435548 200 182ms
2026-04-15 02:59:10.668655 200 144ms
2026-04-15 02:53:58.486811 200 158ms
2026-04-14 01:01:53.329083 200 185ms
2026-04-14 00:14:21.109604 200 159ms
2026-04-12 15:52:54.162444 200 136ms
2026-04-12 15:20:28.462246 200 128ms
2026-04-10 03:11:06.073397 200 564ms
2026-04-10 01:38:09.526293 200 724ms
2026-04-09 03:30:53.963853 200 138ms
2026-04-09 02:15:22.700294 200 169ms
2026-04-08 07:11:17.628261 200 179ms
2026-04-08 00:54:46.034014 200 402ms
2026-04-07 01:44:06.493781 200 185ms
2026-04-07 00:05:52.562472 200 166ms
2026-04-06 05:50:38.831699 200 352ms
2026-04-06 05:25:09.445766 200 458ms
2026-04-05 02:59:42.606506 200 206ms
2026-04-05 02:43:38.748995 200 177ms
2026-04-04 03:24:20.524699 200 165ms
2026-04-04 02:23:53.444082 200 137ms
2026-04-03 13:03:54.071788 200 615ms
2026-04-03 12:34:11.996397 200 664ms
2026-03-30 12:04:09.819641 ERR
2026-03-30 12:03:09.206444 ERR
2026-03-29 18:05:02.206036 200 433ms
2026-03-29 18:04:00.538720 200 467ms