Skip to content

Regions API

Philippine administrative regions (top of the PSGC hierarchy).

GET /v1/regions

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

No parent filter is required for GeoJSON (there are few regions).

ParameterTypeRequiredDescription
pageintegerNoPage number (default: 1). JSON only.
limitintegerNoItems per page (default: 10, max: 100). JSON only.
searchstringNoCase-insensitive partial match on name or code.
codesstring / string[]NoFilter by one or more region codes.
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/regions?page=1&limit=5"
{
"data": [
{
"id": 1,
"name": "Ilocos Region",
"code": "0100000000"
}
],
"meta": {
"total": 18,
"page": 1,
"limit": 5,
"totalPages": 4,
"links": {
"self": "...",
"next": "...",
"prev": null
}
},
"error": null
}

Example — GeoJSON layer (all regions, simple geometry)

Section titled “Example — GeoJSON layer (all regions, simple geometry)”
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/regions?format=geojson"
  • Body: RFC 7946 FeatureCollection
  • Header: Content-Type: application/geo+json
  • Not paginated
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [ ... ]
},
"properties": {
"id": 1,
"name": "Ilocos Region",
"code": "0100000000"
}
}
]
}

GET /v1/regions/{id}

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

ParameterTypeRequiredDescription
idstringYesRegion PSGC code (digits only), e.g. 0700000000 or 0100000000.
ParameterTypeRequiredDescription
formatjson | geojsonNoDefault json{ data, error }. geojson → bare Feature.
geometrysimple | medium | detailedNoDefaults to simple when format=geojson.
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/regions/0100000000"
{
"data": {
"id": 1,
"name": "Ilocos Region",
"code": "0100000000"
},
"error": null
}
Terminal window
curl -H "Authorization: Bearer <token>" \
"https://api.gis.ph/v1/regions/0100000000?format=geojson"
{
"type": "Feature",
"geometry": {
"type": "MultiPolygon",
"coordinates": [ ... ]
},
"properties": {
"id": 1,
"name": "Ilocos Region",
"code": "0100000000"
}
}

POST /v1/regions/search

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

FieldTypeRequiredDescription
idsstring[]YesList of PSGC region 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 '{"ids":["0100000000","1300000000"],"geometry":"simple","format":"geojson"}' \
"https://api.gis.ph/v1/regions/search"
{
"type": "FeatureCollection",
"features": [
{
"type": "Feature",
"geometry": { "type": "MultiPolygon", "coordinates": [ ... ] },
"properties": {
"id": 1,
"name": "Ilocos Region",
"code": "0100000000"
}
}
]
}

Example Response (JSON, Legacy fallback when format omitted)

Section titled “Example Response (JSON, Legacy fallback when format omitted)”
[
{
"id": 1,
"name": "Ilocos Region",
"code": "0100000000"
}
]