Skip to content

Provinces API

Philippine provinces (and province-equivalent units).

GET /v1/provinces

Returns provinces as a paginated JSON envelope by default, or an unpaginated GeoJSON FeatureCollection when format=geojson.

For GeoJSON, the region parameter is optional (all provinces may be returned). Prefer scoping by region for map drill-down.

ParameterTypeRequiredDescription
pageintegerNoPage number (default: 1). JSON only.
limitintegerNoItems per page (default: 10, max: 100). JSON only.
regionstringNoParent filter: region code or exact name. Optional for geojson.
formatjson | geojsonNoResponse shape. Default json.
outputjson | geojsonNoDeprecated alias of format.
geometrysimple | medium | detailedNoFor json: omit = no geometry. For geojson: defaults to simple.
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/provinces?limit=5"
{
"data": [
{
"id": 1,
"name": "Abra",
"code": "1401000000",
"r_code": "1400000000"
}
],
"meta": {
"total": 82,
"page": 1,
"limit": 5,
"totalPages": 17,
"links": {
"self": "...",
"next": "...",
"prev": null
}
},
"error": null
}
Terminal window
# All provinces (simple geometry)
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/provinces?format=geojson"
# Provinces in one region
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/provinces?region=07&format=geojson"
  • Body: RFC 7946 FeatureCollection
  • Header: Content-Type: application/geo+json
  • Not paginated

GET /v1/provinces/{id}

Returns detailed information about a single province. {id} is the PSGC code (not the internal serial row id). Prefer the 10-digit form (e.g. 0702200000 for Cebu).

ParameterTypeRequiredDescription
idstringYesProvince PSGC code (digits only), e.g. 1403200000.
ParameterTypeRequiredDescription
formatjson | geojsonNoDefault json. geojson → bare Feature.
geometrysimple | medium | detailed | trueNoLevel for boundary geometry. true is legacy JSON-only nested payload. For format=geojson, defaults to simple.
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/provinces/1403200000"
{
"data": {
"id": 94,
"name": "Kalinga",
"code": "1403200000",
"r_code": "1400000000"
},
"error": null
}
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/provinces/1403200000?format=geojson"
{
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [ ... ]
},
"properties": {
"id": 94,
"name": "Kalinga",
"code": "1403200000"
}
}

Example — Legacy nested municipalities (JSON)

Section titled “Example — Legacy nested municipalities (JSON)”
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/provinces/1403200000?geometry=true"
{
"data": {
"id": 94,
"name": "Kalinga",
"code": "1403200000"
},
"geojson": {
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { ... },
"properties": {
"name": "Tabuk City"
}
}
]
},
"error": null
}

POST /v1/provinces/search

Accepts a list of PSGC province codes and returns matching provinces. Supports both JSON and GeoJSON output formats.

FieldTypeRequiredDescription
codesstring[]YesList of PSGC province codes (1–100 items).
geometrystringNoGeometry level to include: simple (default), medium, or detailed.
formatstringNoOutput format: json or geojson.
outputstringNoDeprecated alias of format.
Terminal window
curl -X POST \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{"codes":["1206500000","0701200000"],"geometry":"simple","format":"geojson"}' \
"https://api.gis.ph/v1/provinces/search"
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { "type": "MultiPolygon", "coordinates": [ ... ] },
"properties": {
"id": 135,
"name": "Bohol",
"code": "0701200000"
}
}
]
}

Example Response (JSON, Legacy fallback when format omitted)

Section titled “Example Response (JSON, Legacy fallback when format omitted)”
[
{
"id": 135,
"name": "Bohol",
"code": "0701200000"
}
]