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.90
Try
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/fuzzy
AutocompleteSupporter+
Ranked, labelled suggestions as the user types. Built for search boxes.GET /v1/search/autocomplete
Nearby searchSupporter+
Places near a coordinate, sorted by distance.GET /v1/search/nearby
Shape your responseStarter+
Return only the fields you need, sorted the way you want.?fields=name,iso2 · ?sort=name
Phone, currency, ISOStarter+
Dial codes, currencies and ISO lookups without a second dataset.GET /v1/countries/IN
GraphQLProfessional+
Ask for a country, its states and their fields in a single query.POST /v1/graphql
Data change feedProfessional+
Sync a local copy by pulling only what changed since your last fetch.GET /v1/changes
Origin whitelistingSupporter+
Lock your key to up to 25 domains or IPs so it is safe in the browser.3 · 10 · 25 origins
Integration

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.