Most country data is boring and unchanging: names, capitals, ISO codes, currencies, flags. It's the kind of thing every app needs and nobody wants to host. For years RestCountries filled that gap for free — then it started asking for an API key.
countries.dev is the boring-on-purpose replacement. A REST API for country data: no key, no signup, no monthly cap.
What you get
One request, full record:
curl https://countries.dev/alpha/JP{
"name": "Japan",
"alpha2Code": "JP",
"capital": "Tokyo",
"region": "Asia",
"population": 125836021,
"flag": "🇯🇵",
"currencies": [{ "code": "JPY", "name": "Japanese yen", "symbol": "¥" }],
"languages": [{ "iso639_1": "ja", "name": "Japanese" }]
}Past lookups by name and code, you can filter by currency, language, region, calling code, and more — and ask any list endpoint for just the fields you need. Every country also carries a flag emoji, map links, and population density.
There's an IP geolocation endpoint too: hand it an address, get back the visitor's full country record.
Why no key
A key means an account, a secret to rotate, and a quota to watch — for data that doesn't change. That's a lot of ceremony for a flag in a profile menu. So the data's open, and the API is free to call.
Written by
Dov Azencot
At
Wed Jun 17 2026