Cities & Municipalities

Query across both cities and municipalities in one unified collection or traverse via parent province.

GET /api/v1/cities-municipalities

List all (paginated) cities & municipalities

Params: q (name search), province_code, region_code, per_page, page, type (=city|municipality).
GET /api/v1/cities-municipalities/{locality}

Show a city or municipality

GET /api/v1/cities-municipalities/{locality}/barangays

Barangays of the city/municipality

Code Samples

List Cities & Municipalities

curl -s https://api.example.com/api/v1/cities-municipalities
fetch('https://api.example.com/api/v1/cities-municipalities')
  .then(r => r.json())
  .then(console.log)
axios.get('https://api.example.com/api/v1/cities-municipalities')
  .then(r => console.log(r.data))
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://api.example.com']);
$res = $client->get('/api/v1/cities-municipalities');
$body = json_decode($res->getBody(), true);
print_r($body);

Show Locality

curl -s https://api.example.com/api/v1/cities-municipalities/012801
fetch('https://api.example.com/api/v1/cities-municipalities/012801')
  .then(r => r.json())
  .then(console.log)
axios.get('https://api.example.com/api/v1/cities-municipalities/012801')
  .then(r => console.log(r.data))
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://api.example.com']);
$res = $client->get('/api/v1/cities-municipalities/012801');
$body = json_decode($res->getBody(), true);
print_r($body);