Country.State.City.
World location data with a visible source, a stable package, and no mystery between the map and your code.
npm install @tansuasici/country-state-city{ "name": "Türkiye", "iso2": "TR", "region": "Asia"}Trust the record
Open data, without the black box.
Every published layer keeps its license, attribution, and provenance visible.
Schema, identity, parent relationships, coordinates, and artifacts pass release gates.
Verified province and district polygons ship separately from global center points.
One connected workflow
From a name to usable data.
One location moves through search, hierarchy, code, and map without changing identity.01 / 03Find the place people mean.
Search local names, ISO codes, aliases, and parent regions from the same index.
const result = searchLocations("Kadıköy");// result[0].path → "Türkiye / Istanbul / Kadıköy"Built for developers
One dataset.Every surface.
Search it in an application, load it in Node, explore it on a map, or query it through MCP.One typed API
Country, state, and city lookups with TypeScript definitions for browser and Node.
Four export formats
Move the same records through JSON, CSV, XML, or YAML without a second dataset.
Natural-language access
Use the included MCP server from compatible AI assistants and developer tools.
Quick start
From install to first lookup in three lines.
The same dataset powers typed APIs, raw JSON exports, and country shards.Read the API referenceimport { CountryStateCity } from '@tansuasici/country-state-city';const turkey = CountryStateCity .getCountryByIso2('TR');const states = CountryStateCity .getStatesByCountryId(turkey.id);Open data. Clear provenance.