Skip to main content

City Population Data

A small reference dataset pairing cities with population figures, used to calculate the "population reached" numbers in Impact Statistics. Most integrations only need the GET — the POST is for contributing a missing or updated figure.


List city population records​

GET /api/v2/devices/network-coverage/cities?token={SECRET_TOKEN}

Query parameters

ParameterTypeDescription
tokenstringRequired
countrystringOptional. Filter to one country.

Example

curl "https://api.airqo.net/api/v2/devices/network-coverage/cities?country=Uganda&token={SECRET_TOKEN}"

Example response

{
"success": true,
"cities": [
{
"_id": "66f1a2b3c4d5e6f7a8b9c0d1",
"city": "kampala",
"displayCity": "Kampala",
"country": "uganda",
"displayCountry": "Uganda",
"iso2": "UG",
"population": 1680000,
"year": 2024,
"source": "UBOS 2024 projection",
"notes": ""
}
]
}

Response fields

FieldDescription
city, countryLower-cased matching keys
displayCity, displayCountryHuman-readable names for display
populationPopulation figure
yearThe year the figure applies to
sourceCitation for the figure, e.g. a national statistics bureau
notesOptional free-text context

Add a city population record​

POST /api/v2/devices/network-coverage/cities?token={SECRET_TOKEN}

Request body

{
"city": "kampala",
"country": "uganda",
"iso2": "UG",
"population": 1680000,
"year": 2024,
"source": "UBOS 2024 projection",
"notes": "Optional context"
}
FieldTypeRequiredDescription
citystringYes
countrystringYes
iso2stringYesTwo-letter country code
populationnumberYes
yearnumberYes
sourcestringYesCitation for the figure
notesstringNo

Example response

{
"success": true,
"message": "City population saved",
"cities": [
{
"_id": "66f1a2b3c4d5e6f7a8b9c0d1",
"city": "kampala",
"displayCity": "Kampala",
"country": "uganda",
"displayCountry": "Uganda",
"iso2": "UG",
"population": 1680000,
"year": 2024,
"source": "UBOS 2024 projection"
}
]
}

Next steps​