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);