API Documentation
Structured, read-only REST endpoints exposing PSGC reference data. Responses are JSON arrays or objects; timestamps use ISO 8601.
Resources
Regions
GET https://psgc.cloud/api/regions
Fields: code, name
curl -s https://psgc.cloud/api/regions
Language Examples ↓
# curl
curl -s https://psgc.cloud/api/regions
// JavaScript fetch
const res = await fetch('https://psgc.cloud/api/regions');
const data = await res.json();
console.log(data);
// JavaScript axios
import axios from 'axios';
const { data } = await axios.get('https://psgc.cloud/api/regions');
console.log(data);
// PHP (GuzzleHttp)
$client = new \GuzzleHttp\Client();
$response = $client->get('https://psgc.cloud/api/regions');
$items = json_decode($response->getBody(), true);
print_r($items);
Provinces
GET https://psgc.cloud/api/provinces
Fields: code, name
curl -s https://psgc.cloud/api/provinces
Language Examples ↓
# curl
curl -s https://psgc.cloud/api/provinces
// JavaScript fetch
const res = await fetch('https://psgc.cloud/api/provinces');
const data = await res.json();
console.log(data);
// JavaScript axios
import axios from 'axios';
const { data } = await axios.get('https://psgc.cloud/api/provinces');
console.log(data);
// PHP (GuzzleHttp)
$client = new \GuzzleHttp\Client();
$response = $client->get('https://psgc.cloud/api/provinces');
$items = json_decode($response->getBody(), true);
print_r($items);
Cities
GET https://psgc.cloud/api/cities
Fields: code, name, type, district, zip_code
curl -s https://psgc.cloud/api/cities
Language Examples ↓
# curl
curl -s https://psgc.cloud/api/cities
// JavaScript fetch
const res = await fetch('https://psgc.cloud/api/cities');
const data = await res.json();
console.log(data);
// JavaScript axios
import axios from 'axios';
const { data } = await axios.get('https://psgc.cloud/api/cities');
console.log(data);
// PHP (GuzzleHttp)
$client = new \GuzzleHttp\Client();
$response = $client->get('https://psgc.cloud/api/cities');
$items = json_decode($response->getBody(), true);
print_r($items);
Municipalities
GET https://psgc.cloud/api/municipalities
Fields: code, name, type, district, zip_code
curl -s https://psgc.cloud/api/municipalities
Language Examples ↓
# curl
curl -s https://psgc.cloud/api/municipalities
// JavaScript fetch
const res = await fetch('https://psgc.cloud/api/municipalities');
const data = await res.json();
console.log(data);
// JavaScript axios
import axios from 'axios';
const { data } = await axios.get('https://psgc.cloud/api/municipalities');
console.log(data);
// PHP (GuzzleHttp)
$client = new \GuzzleHttp\Client();
$response = $client->get('https://psgc.cloud/api/municipalities');
$items = json_decode($response->getBody(), true);
print_r($items);
Barangays
GET https://psgc.cloud/api/barangays
Fields: code, name, status
curl -s https://psgc.cloud/api/barangays
Language Examples ↓
# curl
curl -s https://psgc.cloud/api/barangays
// JavaScript fetch
const res = await fetch('https://psgc.cloud/api/barangays');
const data = await res.json();
console.log(data);
// JavaScript axios
import axios from 'axios';
const { data } = await axios.get('https://psgc.cloud/api/barangays');
console.log(data);
// PHP (GuzzleHttp)
$client = new \GuzzleHttp\Client();
$response = $client->get('https://psgc.cloud/api/barangays');
$items = json_decode($response->getBody(), true);
print_r($items);
Hierarchy Pages
Errors & Status Codes
Standard HTTP codes. 404 for missing resources. 429 if rate limited. 500 for unexpected errors.
Changelog
- v1.1.1 – Added
zip_code
and fixeddistrict
exposure for city / municipality records. - v1.1.0 – Removed internal keys (id, region_id, province_id, city_municipality_id) from responses for smaller payloads.
- v1.0.0 – Initial public documentation.