Skip to content

Geography APIs

Base path: /api/geography

The geography module exposes Cambodia administrative geography. List endpoints support filters such as id, name_en, name_km, snake_case parent IDs, camelCase parent IDs, and q for contains search across English names, Khmer names, and province capital cities.

All list endpoints return arrays ordered by id ascending.

List Provinces

http
GET /api/geography/provinces

Optional query params: id, name_en, name_km, capital_city, q.

q searches name_en, name_km, and capital_city.

List Districts

http
GET /api/geography/districts?provinceId=12

Optional query params: id, province_id, provinceId, name_en, name_km, q.

provinceId is an alias for province_id.

List Communes

http
GET /api/geography/communes?districtId=1201

Optional query params: id, province_id, provinceId, district_id, districtId, name_en, name_km, q.

provinceId and districtId are aliases for province_id and district_id.

List Villages

http
GET /api/geography/villages?communeId=120101

Optional query params: id, province_id, provinceId, district_id, districtId, commune_id, communeId, name_en, name_km, q.

provinceId, districtId, and communeId are aliases for province_id, district_id, and commune_id.

Detail

http
GET /api/geography/detail?provinceId=12
GET /api/geography/detail?districtId=1201
GET /api/geography/detail?communeId=120101
GET /api/geography/detail?villageId=12010101
GET /api/geography/detail?id=12010101

Returns the selected geography record and its related parent or child records.

QueryResponse data
provinceIdprovince, districts
districtIdprovince, district, communes
communeIdprovince, district, commune, villages
villageIdprovince, district, commune, village
idSame as villageId.

If no supported ID is provided, the API returns 400.

Geography Item

json
{
  "id": "1201",
  "name_en": "District name",
  "name_km": "ឈ្មោះស្រុក",
  "capital_city": "Capital city name",
  "province_id": "12",
  "district_id": "1201",
  "commune_id": "120101"
}