Regions Database
PSGC Regions API
Core entry points to list regions and traverse downward to provinces, cities, municipalities, sub‑municipalities, and barangays. Use region code values in URLs as stable identifiers rather than names.
GET
https://psgc.cloud/api/regions
List regions
Optional future params:
q (search), pagination (if dataset grows).
GET
https://psgc.cloud/api/regions/{code}
Show a single region
GET
https://psgc.cloud/api/regions/{code}/provinces
Nested provinces
GET
https://psgc.cloud/api/regions/{code}/cities
All cities in region (direct)
GET
https://psgc.cloud/api/regions/{code}/municipalities
All municipalities in region (direct)
GET
https://psgc.cloud/api/regions/{code}/cities-municipalities
Combined cities & municipalities
GET
https://psgc.cloud/api/regions/{code}/sub-municipalities
Sub-municipality layer (if supported)
GET
https://psgc.cloud/api/regions/{code}/barangays
Flattened barangays in region
Developer Code Samples
List Regions
cURL
curl -s https://psgc.cloud/regions
fetch API
fetch('https://psgc.cloud/regions')
.then(res => res.json())
.then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/regions')
.then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/regions');
$body = json_decode($res->getBody(), true);
print_r($body);
Show Region
cURL
curl -s https://psgc.cloud/regions/0200000000
fetch API
fetch('https://psgc.cloud/regions/0200000000')
.then(res => res.json())
.then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/regions/0200000000')
.then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/regions/0200000000');
$body = json_decode($res->getBody(), true);
print_r($body);
Region Provinces
cURL
curl -s https://psgc.cloud/regions/0200000000/provinces
fetch API
fetch('https://psgc.cloud/regions/0200000000/provinces')
.then(res => res.json())
.then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/regions/0200000000/provinces')
.then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/regions/0200000000/provinces');
$body = json_decode($res->getBody(), true);
print_r($body);
Region Cities+Municipalities
cURL
curl -s https://psgc.cloud/regions/0200000000/cities-municipalities
fetch API
fetch('https://psgc.cloud/regions/0200000000/cities-municipalities')
.then(res => res.json())
.then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/regions/0200000000/cities-municipalities')
.then(res => console.log(res.data))
PHP (Guzzle)
<?php
$client = new \GuzzleHttp\Client(['base_uri' => 'https://psgc.cloud']);
$res = $client->get('/regions/0200000000/cities-municipalities');
$body = json_decode($res->getBody(), true);
print_r($body);