Free · OpenStreetMap · Cambodia
Address lookup for Cambodia, built in Phnom Penh.
Forward and reverse geocoding on open data, with official commune and district codes attached. Khmer and Latin. 25,000 requests a day, free.
Sign in with Google and your key works in under a minute. No cloud project, no approval, no waiting.
Three reasons to use this one
~110ms
Close to you
Median reverse lookup, measured from Phnom Penh. Two to five times quicker than what we were using before.
25,000/day
A free tier you can build on
Every day, not once. Most free geocoding gives you a fixed pot of requests and then throttles you to a crawl for good.
91%
Official codes, not just names
Results carry the government province, district and commune codes, resolved from the coordinate against the official boundary layer for 91% of the points we tested — a different measurement from the OpenStreetMap address coverage below. If you have to reconcile addresses against a ministry’s records or a bank’s, that is the difference between usable and not.
The third one is the point. The first two any provider could copy by renting a server nearby; the Cambodian administrative hierarchy, Khmer name matching and the local coverage work cannot be copied without doing it here.
Built for Khmer, specifically
Names match the way Khmer actually works
ខេត្ត, ក្រុង, ស្រុក, ខណ្ឌ, សង្កាត់, ឃុំ, ភូមិ — the administrative word in front of a place name is not part of the name. We strip it before matching, so សៀមរាប and ក្រុងសៀមរាប resolve to the same district instead of looking like two places.
Romanisation is a guess, so we do not rely on it
One source writes Daun Penh, another Doun Penh, and both are reasonable. Matching runs on Khmer script first, where both sides agree exactly, and falls back to a tolerant Latin match only inside a district already established.
Why this exists
Cambodia has no free, locally-run geocoding API. The usual answer is a global provider that wants a Cloud project and an international card before the first request — a barrier that has nothing to do with price, and that a student in Phnom Penh simply cannot clear.
We built this for our own product first. Opening it costs us little and gives Khmer developers something that did not exist.
What you get
- Reverse geocoding: coordinates to a structured address.
- Forward search: place names in Khmer or Latin script.
- Commune, district and province from the official hierarchy.
- A refusal with a reset time when you hit a limit — never a silently truncated answer.
See what comes back
Real answers from this service, for real places. Switch script to see the same address in Khmer and Latin.
ហាងថ្នាំជក់រ៉ូលីង, ផ្លូវ ១៣៦, សង្កាត់ផ្សារថ្មីទី ២, ខណ្ឌដូនពេញ, រាជធានីភ្នំពេញ, ព្រះរាជាណាចក្រកម្ពុជា
- Commune
- 120202ផ្សារថ្មីទី ២
- District
- 1202
- Province
- 12
- Postcode
- 120202
Address from OpenStreetMap. Codes from the official 2025 administrative list, matched to the commune boundary the coordinate falls inside.
Or search for it
The same place, typed in each script. What matters is not that both return something — it is that both return the same OpenStreetMap object, so the id is shown alongside.
អង្គរវត្តអង្គរវត្ត, ប្រាសាទអង្គរវត្ត ស្ពានហាល, ក្រុងសៀមរាប, សៀមរាប, ខេត្តសៀមរាប, 171253, ព្រះរាជាណាចក្រកម្ពុជា
Angkor WatAngkor Wat, West Entrance Causeway;Wat Spean Harl (Ancient Bridge), Siem Reap, 171253, Cambodia
way/1113380295ផ្សារធំថ្មីផ្សារធំថ្មី, វិថី ខេមរៈភូមិន្ធ (១៣០), សង្កាត់ផ្សារថ្មីទី ១, ខណ្ឌដូនពេញ, រាជធានីភ្នំពេញ, 120201, ព្រះរាជាណាចក្រកម្ពុជា
Central Market Phnom PenhCentral Market, Khemarak Phoumin Avenue (Street 130), Sangkat Phsar Thmey Ti Muoy, Khan Daun Penh, Phnom Penh, 120201, Cambodia
way/377373297បាត់ដំបងខេត្តបាត់ដំបង, ព្រះរាជាណាចក្រកម្ពុជា
BattambangBattambang, Cambodia
relation/6608542សៀមរាបក្រុងសៀមរាប, សៀមរាប, ខេត្តសៀមរាប, 123456, ព្រះរាជាណាចក្រកម្ពុជា
Siem ReapSiem Reap, 123456, Cambodia
node/257838557One request
curl "https://geo.checkinme.app/reverse?\ lat=11.5691&lon=104.9212&format=jsonv2" \ -H "X-Api-Key: geo_..."
{
"display_name": "Samdech Sangkhak Neayok Souk (Street 136),
Sangkat Phsar Thmey Ti Pir, Khan Daun Penh,
Phnom Penh, 120202, Cambodia",
"address": {
"road": "Samdech Sangkhak Neayok Souk (Street 136)",
"village": "Sangkat Phsar Thmey Ti Pir",
"commune": "Phsar Thmei Ti Pir",
"district": "Khan Daun Penh",
"province": "Phnom Penh",
"postcode": "120202",
"country_code": "kh"
},
"official": {
"commune_code": "120202",
"district_code": "1202",
"province_code": "12",
"confirmed": true
},
"licence": "Data © OpenStreetMap contributors, ODbL 1.0"
}What it does not know yet
Worth knowing before you build on it. Administrative boundaries in Cambodia are mapped well. Streets and villages — the part a person recognises as their address — often are not. Measured across 200,000 real lookups:
This is a gap in OpenStreetMap, not a bug in the service, and the honest fix is mapping. If an address comes back wrong, correct it in OSM and everyone’s answer improves, ours included.
Free tier, in full
- 25,000 requests per day
- 10 requests per second sustained, burst 30
- Up to 5 keys, one per project
- Attribution required — it is the licence