One platform.
Every channel.
Country, state, and city data wherever developers work — an open-source GitHub database, a REST API, NPM and PyPI packages, a CLI, interactive playground and demo, bulk exports, and community tooling. One source of truth. Nine ways to use it.
Nine ways to use the same data
Every channel and tool is maintained from a single source of truth. Pick the one that fits your workflow — or combine them.
Open-Source Database
The original GitHub repository that started it all. 9,400+ stars, 2,900+ forks, 7+ years of compounding community trust. Free under ODbL.
GitHubLearn moreREST API
Production-grade REST API with tiered pricing, rate limiting, and sub-200ms p95 latency. Free tier for hobbyists; paid tiers scale to millions of requests.
api.countrystatecity.inLearn moreExport Tool
Download curated snapshots in CSV, JSON, SQL, and more. Credit-based pricing for teams who need the full database without the API.
9+ formatsLearn moreNPM Packages
Typed, versioned NPM packages for countries, timezones, and browser-optimized bundles. Zero runtime dependencies, tree-shakeable.
@countrystatecity/*Learn morePyPI Package
Pip-installable Python package with structured access to the full geographic dataset. Type-hinted, lazy-loading, ideal for data pipelines.
pip install countrystatecity-countriesLearn moreCLI Tool
Terminal-first access to every dataset and API endpoint. Generate dropdowns, seeds, and export files in any format from one command.
cli.countrystatecity.inLearn moreAPI Playground
Try every endpoint directly in the browser. Full OpenAPI 3.0 spec with example requests, response schemas, and live execution — no code required.
playground.countrystatecity.inLearn morePowering Applications Worldwide
Real-time statistics from our global platform serving developers and businesses
Install it the way you work
Typed, versioned, and published to the registries developers already trust.
Countries dataset — iso codes, currencies, translations, coordinates.
npm install @countrystatecity/countriesBrowser-optimized, tree-shakeable country bundle.
npm install @countrystatecity/countries-browserTimezone data mapped to countries and administrative regions.
npm install @countrystatecity/timezonesPython access to the full country / state / city dataset. Type-hinted, lazy-loading.
pip install countrystatecity-countriesTerminal-first CLI — search, export, and scaffold from any dataset.
npm install -g @countrystatecity/cliReady to Build Something Amazing?
Join thousands of developers using our platform to power location-based features. Start building today with our generous free tier and scale as you grow.