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