Cities & Municipalities Database

PSGC Cities & Municipalities API

Query across both cities and municipalities in one unified collection or traverse via parent provinces and regions.

GET /api/v1/cities-municipalities

List all (paginated) cities & municipalities

Params: q (name search), province_code, region_code, per_page, page, type (=city|municipality).
GET /api/v1/cities-municipalities/{locality}

Show a city or municipality

GET /api/v1/cities-municipalities/{locality}/barangays

Barangays of the city/municipality

Developer Code Samples

List Cities & Municipalities

cURL
curl -s https://psgc.cloud/api/v1/cities-municipalities
fetch API
fetch('https://psgc.cloud/api/v1/cities-municipalities')
  .then(res => res.json())
  .then(console.log)
Axios
import axios from 'axios';
axios.get('https://psgc.cloud/api/v1/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/cities-municipalities');
$body = json_decode($res->getBody(), true);
print_r($body);

Show Locality

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