Country State City - Search REST API
Country State City Search API is a production-ready location data API for developers building address forms, checkout flows, onboarding forms, CRMs, marketplaces, travel products, logistics tools, directories, and location intelligence features. The API provides normalized country, state, and city records with stable public IDs, source IDs, ISO2 and ISO3 country codes, state codes, latitude and…
Country State City - Search REST API endpoints
| Method | Endpoint | Description |
|---|---|---|
| Core Country Data | ||
| GET |
/countries/{countryCode}/coverage /countries/{countryCode}/coverage |
Returns state and city counts for one country, including zero-count cases. |
| GET |
/countries/{countryCode} /countries/{countryCode} |
Returns a single country by ISO2 code. |
| GET |
/countries /countries |
Lists countries with optional region/subregion filters. |
| States and Provinces | ||
| GET |
/countries/{countryCode}/states /countries/{countryCode}/states |
Lists states/provinces for a country. Countries without states return an empty data array and total 0. |
| GET |
/states/{stateId} /states/{stateId} |
Returns a state/province by numeric id or stable api_id. |
| GET |
/countries/{countryCode}/states/{stateCode} /countries/{countryCode}/states/{stateCode} |
Returns one state/province by country and state code. |
| City Data | ||
| GET |
/countries/{countryCode}/states/{stateCode}/cities /countries/{countryCode}/states/{stateCode}/cities |
Lists cities for a state/province. States without cities return an empty data array and total 0. |
| GET |
/cities/{cityId} /cities/{cityId} |
Returns a city by numeric id or stable api_id. |
| GET |
/countries/{countryCode}/states/{stateCode}/cities/popular /countries/{countryCode}/states/{stateCode}/cities/popular |
Lists cities in a state/province by population descending. |
| GET |
/countries/{countryCode}/cities /countries/{countryCode}/cities |
Lists cities for a country. Countries without cities return an empty data array and total 0. |
| GET |
/countries/{countryCode}/cities/popular /countries/{countryCode}/cities/popular |
Lists cities by population descending. |
| GET |
/cities/nearby /cities/nearby |
Returns cities near a latitude/longitude within a radius in kilometers. |
| Search and Autocomplete | ||
| GET |
/cities/autocomplete /cities/autocomplete |
Fast city autocomplete optimized for typeahead UI. |
| GET |
/states/search /states/search |
Full-text state/province search with optional country filter. |
| GET |
/cities/search /cities/search |
Full-text city search with optional country/state filters. |
| GET |
/countries/search /countries/search |
Full-text country search. |
| Location Lookup | ||
| GET |
/lookup /lookup |
Resolves country, optional state, and optional city text to normalized records. |
| POST |
/bulk/lookup /bulk/lookup |
Resolves up to 100 locations in a single request. |
| Country Enrichment | ||
| GET |
/countries/{countryCode}/flag /countries/{countryCode}/flag |
Returns SVG/PNG flag URLs, alt text, and emoji for a country. |
| GET |
/countries/metadata /countries/metadata |
Lists enriched REST Countries v4-style country metadata records. |
| GET |
/countries/{countryCode}/metadata /countries/{countryCode}/metadata |
Returns base country data plus flag, postal code rules, timezones, and enriched metadata. |
| Postal and ZIP Codes | ||
| GET |
/countries/{countryCode}/postal-code /countries/{countryCode}/postal-code |
Returns postal/ZIP code format and regex metadata for a country. |
| GET |
/postal-codes/search /postal-codes/search |
Validates a postal/ZIP code against country rules, or finds countries whose postal regex matches the input. |
| GET |
/postal-codes /postal-codes |
Lists countries that have postal/ZIP code format or regex metadata. |
| Timezones | ||
| GET |
/countries/{countryCode}/timezones /countries/{countryCode}/timezones |
Returns country UTC offsets, source timezone objects, and IANA city timezone counts. |
| GET |
/cities/{cityId}/timezone /cities/{cityId}/timezone |
Returns the IANA timezone for one city. |
| GET |
/timezones /timezones |
Lists unique IANA city timezones and REST Countries UTC offsets. |
| Localized Names | ||
| GET |
/countries/{countryCode}/localized-names /countries/{countryCode}/localized-names |
Returns all known localized names for one country. Use locale to return one locale. |
| GET |
/cities/{cityId}/localized-names /cities/{cityId}/localized-names |
Returns all known localized names for one city. |
| GET |
/states/{stateId}/localized-names /states/{stateId}/localized-names |
Returns all known localized names for one state/province. |
| REST Countries | ||
| GET |
/restcountries/alpha /restcountries/alpha |
Looks up countries by comma-separated ISO2, ISO3, numeric, or CIOC codes. |
| GET |
/restcountries/independent /restcountries/independent |
Lists independent or non-independent countries and territories. |
| GET |
/restcountries/alpha/{code} /restcountries/alpha/{code} |
Looks up a country by ISO2, ISO3, numeric, or CIOC code. |
| GET |
/restcountries/lang/{lang} /restcountries/lang/{lang} |
Searches by language code or name. |
| GET |
/restcountries/demonym/{demonym} /restcountries/demonym/{demonym} |
Searches by demonym. |
| GET |
/restcountries/region/{region} /restcountries/region/{region} |
Searches by UN region. |
| GET |
/restcountries/capital/{capital} /restcountries/capital/{capital} |
Searches by capital city. |
| GET |
/restcountries/currency/{currency} /restcountries/currency/{currency} |
Searches by currency code, name, or symbol. |
| GET |
/restcountries/all /restcountries/all |
Lists enriched REST Countries v4-style records. Supports fields filtering. |
| GET |
/restcountries/sovereignstate/{cca3} /restcountries/sovereignstate/{cca3} |
Lists territories governed by a sovereign CCA3 country code. |
| GET |
/restcountries/name/{name} /restcountries/name/{name} |
Searches by common, official, native, or alternate country name. |
| GET |
/restcountries/translation/{translation} /restcountries/translation/{translation} |
Searches by translated country name. |
| GET |
/restcountries/subregion/{subregion} /restcountries/subregion/{subregion} |
Searches by UN subregion. |
| API Health | ||
| GET |
/status /status |
Returns API version, dataset source, coverage, and last sync summary. |
| GET |
/health /health |
Checks Worker and database reachability. |
| Dataset Metadata | ||
| GET |
/meta/coverage /meta/coverage |
Summarizes countries, states, cities, and known no-state/no-city edge cases. |
| GET |
/meta/sync/latest /meta/sync/latest |
Returns the newest weekly dataset sync run. |
| GET |
/meta/usage /meta/usage |
Returns optional route usage counters when analytics are enabled. |
| GET |
/meta /meta |
Alias for /meta/source. |
| GET |
/meta/snippets /meta/snippets |
Returns starter request snippets for common languages. |
Country State City - Search REST API pricing
| Plan | Price | Rate limit | Quotas |
|---|---|---|---|
| BASIC | Free | — |
|
| PRO | $8 / month | 3 / second |
|
| ULTRA Recommended | $15 / month | — |
|
| MEGA | $45 / month | — |
|