View service status →
The geography API that forgives typos.
Countries, states and cities with fuzzy search, autocomplete, nearby search and timezone helpers. REST or GraphQL. 5.1B+ requests served.
3,000 free requests / mo
GraphQL Professional and up
REST JSON responses
GET /v1/search/fuzzy?q=banglore
BengaluruKarnataka, India
score 0.90Try
200 OKSupporter and upillustrative data
More than a list of countries.
The helpers you'd otherwise build yourself, on the same endpoint and the same key.
Typo-tolerant searchSupporter+
"Banglore" finds Bengaluru. Ranked matches across countries, states and cities.GET /v1/search/fuzzyAutocompleteSupporter+
Ranked, labelled suggestions as the user types. Built for search boxes.GET /v1/search/autocompleteNearby searchSupporter+
Places near a coordinate, sorted by distance.GET /v1/search/nearbyShape your responseStarter+
Return only the fields you need, sorted the way you want.?fields=name,iso2 · ?sort=namePhone, currency, ISOStarter+
Dial codes, currencies and ISO lookups without a second dataset.GET /v1/countries/INGraphQLProfessional+
Ask for a country, its states and their fields in a single query.POST /v1/graphqlData change feedProfessional+
Sync a local copy by pulling only what changed since your last fetch.GET /v1/changesOrigin whitelistingSupporter+
Lock your key to up to 25 domains or IPs so it is safe in the browser.3 · 10 · 25 originsIntegration
Your first request in a minute.
One header for auth. Every snippet below is copy-paste ready: swap in your key and run it.
curl "https://api.countrystatecity.in/v1/countries/IN/states" \ -H "X-CSCAPI-KEY: $API_KEY"
Free up to 3,000 requests a month.
Paid plans from $5 add higher limits. Supporter adds fuzzy search; Professional adds GraphQL and the change feed.