We put the data on GitHub
github.com/parseapi/lists is CC0 flat JSON and CSV, regenerated from the live API. Countries, states, timezones, currencies, area codes, and daily EUR rates.
Stop vendoring a stale countries.json from a gist.
GET https://raw.githubusercontent.com/parseapi/lists/main/countries/countries.json
[
{
"country": "AD",
"iso3": "AND",
"numeric": 20,
"name": "Andorra",
"capital": "Andorra la Vella",
"continent": "EU",
"currency": "EUR",
"calling_code": "+376",
"emoji": "🇦🇩",
"population": 81938
}
]
github.com/parseapi/lists is 250 countries, plus states, counties, languages, timezones, currencies, area codes, and daily EUR exchange rates. Every list is {folder}/{folder}.json and {folder}/{folder}.csv, so a raw URL is guessable. CC0. The files are generated from the live API, not a one-shot dump. Rates refresh every day. The rest refresh monthly. A run that changes nothing writes the same bytes.
Hotlink the raw file
A script can fetch countries/countries.json or exchange-rates/exchange-rates.json and keep going. Live lookups still live at the API. The repo is the copy you can pin, diff, and vendor without standing up a key.
Try it
Open github.com/parseapi/lists and hit raw on any JSON. The gist in your repo can retire.