Geographic Data Demo

Cascading country → subdivision → city dropdowns. Live from the MatrixAPI countries and cities endpoints.

Select a country to see its subdivisions (states, provinces, departments, etc.), then select a subdivision to see its cities. All data is live from the API.

0 countries available

0 subdivisions available

0 cities available

Current Selection:

No selections made yet

Response Times

Countries: ms
Subdivisions: ms
Cities: ms

Cache Status

check_circle Cache Headers: 1 year
check_circle ETags: Enabled
check_circle Performance: Optimized
// Free endpoint — no API key needed
const res = await fetch('https://matrixapi.dev/api/v1/countries');
const { countries } = await res.json();

// Subdivisions when country changes
const subs = await fetch(`https://matrixapi.dev/api/v1/countries/${iso2}/subdivisions`);

// Cities when subdivision changes
const cities = await fetch(`https://matrixapi.dev/api/v1/cities?country=${iso2}&state=${subdivCode}`);