Provinces

Access provinces and traverse downward to cities / municipalities and barangays. Combine filters for search & pagination.

GET /api/v1/provinces

List provinces (paginated)

Supports query params: q (search name), region_code, per_page, page.
GET /api/v1/provinces/{province}

Show a province

GET /api/v1/provinces/{province}/cities-municipalities

Nested cities & municipalities for a province

GET /api/v1/provinces/{province}/barangays

All barangays (flattened) under the province

Code Samples

List Provinces

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

Show Province

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

Province Cities & Municipalities

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