I got tired of hardcoding place names.
Every project that touches location data hits the same wall eventually: a city name that's fine in English falls apart the moment you need it in Arabic, or Japanese, or five other languages at once. Machine translation gets you something. Ask an LLM for Beijing in 22 languages five times and you'll get five different answers, and a sixth tomorrow. Fine for a chat window. Not fine for a database you're shipping to production.
So Toponomical is a dataset instead of a guess. 476,498 place names — cities, regions, countries — across 22 languages, each one checked against multiple independent sources instead of trusted from a single one. When two sources disagree, which happens more than you'd think, we don't pick a winner and hope. We score it lower and tell you.
What's actually in it
- 476,498 toponyms, 20,734 unique cities, 251 countries
- 22 languages — picked by native-speaker reach and by GDP, so you get both population coverage and the languages of the economies doing the most cross-border business
- Admin hierarchy down to the district level, translated the same way
- A confidence score on every single record, from 1.0 (nobody argues about this one) down to 0.5 (best guess, verify before you ship it)
- Versioned quarterly. You know what changed and when.
Who this is for
If you're localizing addresses, generating map labels, or building search that has to know "München," "Munich," and "慕尼黑" are the same place, this is built for you. Query it live through the API, or take the whole SQLite database and run it offline. Either way, no silent updates and no black box.
Who's behind it
I'm Pawel Osiczko. I built this because I needed it and couldn't find it done properly. If something's wrong — a name, a score, a missing region — tell me and I'll fix it.