Retrieve a complete list of all countries with basic information including ISO codes, phone codes, currencies, and regional data.
Authentication
Your API key for authentication
Response
Unique identifier for the country
Official country name in English
Two-letter ISO 3166-1 alpha-2 country code
Three-letter ISO 3166-1 alpha-3 country code
International dialing code for the country
Capital city of the country
Three-letter ISO 4217 currency code
Country name in the native language
Flag emoji representation
curl -X GET 'https://api.countrystatecity.in/v1/countries' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"native": "भारत",
"emoji": "🇮🇳"
},
{
"id": 233,
"name": "United States",
"iso2": "US",
"iso3": "USA",
"phonecode": "1",
"capital": "Washington",
"currency": "USD",
"native": "United States",
"emoji": "🇺🇸"
}
]
Common Use Cases
Country Selector Dropdown
Use this endpoint to populate country selection dropdowns in forms.const populateCountryDropdown = async () => {
const countries = await fetch('/api/countries').then(r => r.json());
const select = document.getElementById('country-select');
countries.forEach(country => {
const option = document.createElement('option');
option.value = country.iso2;
option.textContent = country.name;
select.appendChild(option);
});
};
Get currency information for financial applications.const getCurrencyInfo = (countries, countryCode) => {
const country = countries.find(c => c.iso2 === countryCode);
return {
code: country.currency,
symbol: country.emoji
};
};
Cache country data locally as it rarely changes. This reduces API calls and improves application performance.