- I've never found any complete library to get all world countries, states, and cities. I want to develop the best one. Of course, contributors are welcome!!
- I took this data as a starting point.
To get started with this library, you need to install it and add it to your project.
Countries States Cities Service is available as an npm package.
# npm
npm install countries-states-cities-service
# yarn
yarn add countries-states-cities-service
Import single named import as follow:
import { Countries, States, Cities } from 'countries-states-cities-service'
The code snippet below shows how to put into action countries-states-cities-service
in some common use cases.
- Get all countries.
const countries = Countries.getCountries()
- Get all countries by
asc
sort.
const countries = Countries.getCountries({
sort: {
mode: 'asc',
},
})
- Get all countries by
desc
sort.
const countries = Countries.getCountries({
sort: {
mode: 'desc',
},
})
- Get all countries by alphabetical sort.
const countries = Countries.getCountries({
sort: {
mode: 'alphabetical',
key: 'iso2',
},
})
- Get all countries with localization.
const countries = Countries.getCountries({ locale: 'it' })
- Get a country by iso2 code.
const countries = Countries.getCountries({ filters: { iso2: 'US' } })
- Get a country by iso2 code and localization.
const countries = Countries.getCountries({
filters: { iso2: 'IT' },
locale: 'it',
})
- Get a country by iso3 code.
const countries = Countries.getCountries({ filters: { iso3: 'ITA' } })
- Get all states.
const states = States.getStates()
- Get all states by
asc
sort.
const states = States.getStates({
sort: {
mode: 'asc',
},
})
- Get all states by
desc
sort.
const states = States.getStates({
sort: {
mode: 'desc',
},
})
- Get all states by
alphabetical
sort.
const states = States.getStates({
sort: {
mode: 'alphabetical',
key: 'name',
},
})
- Get all states with localization.
const states = States.getStates({ locale: 'it' })
- Get states by country code.
const states = States.getStates({ filters: { country_code: 'IT' } })
- Get states by country code and localization (available only for Italian states for now).
const states = States.getStates({
filters: { country_code: 'IT' },
locale: 'it',
})
- Get regions by country code (available only for Italian states for now).
const states = States.getStates({
filters: {
country_code: 'IT',
is_region: true,
},
})
- Get a state by country code and state code.
const states = States.getStates({
filters: {
country_code: 'IT',
state_code: 'GE',
},
})
- Get all cities.
const cities = Cities.getCities()
- Get all cities by
asc
sort.
const cities = Cities.getCities({
sort: {
mode: 'asc',
},
})
- Get all cities by
desc
sort.
const cities = Cities.getCities({
sort: {
mode: 'desc',
},
})
- Get all cities by
alphabetical
sort.
const cities = Cities.getCities({
sort: {
mode: 'alphabetical',
key: 'name',
},
})
- Get Italian cities.
const cities = Cities.getCities({
filters: {
country_code: 'IT',
},
})
- Get Italian Ligurian cities.
const cities = Cities.getCities({
filters: {
country_code: 'IT',
state_code: '42', // Region iso2
},
})
Any contribution is appreciated. You can get started with the steps below:
-
Fork this repository (learn how to do this here).
-
Clone the forked repository.
-
Make your changes and create a pull request (learn how to do this).
-
I will attend to your pull request and provide some feedback.
Ping me on Twitter
This repository is licensed under the MIT License.
Don't be shy! 😜