Provinces Database

PSGC Provinces API

Access provinces and traverse downward to cities, municipalities, and barangays. Combine filters for advanced search and pagination control.

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

Developer Code Samples

List Provinces

cURL
curl -s https://psgc.cloud/api/v1/provinces
fetch API
fetch('https://psgc.cloud/api/v1/provinces')
  .then(res => res.json())
  .then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/api/v1/provinces')
  .then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/api/v1/provinces');
$body = json_decode($res->getBody(), true);
print_r($body);

Show Province

cURL
curl -s https://psgc.cloud/api/v1/provinces/0128
fetch API
fetch('https://psgc.cloud/api/v1/provinces/0128')
  .then(res => res.json())
  .then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/api/v1/provinces/0128')
  .then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/api/v1/provinces/0128');
$body = json_decode($res->getBody(), true);
print_r($body);

Province Cities & Municipalities

cURL
curl -s https://psgc.cloud/api/v1/provinces/0128/cities-municipalities
fetch API
fetch('https://psgc.cloud/api/v1/provinces/0128/cities-municipalities')
  .then(res => res.json())
  .then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/api/v1/provinces/0128/cities-municipalities')
  .then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/api/v1/provinces/0128/cities-municipalities');
$body = json_decode($res->getBody(), true);
print_r($body);