curl -X GET 'https://api.countrystatecity.in/v1/subregions/14/countries' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
curl -X GET 'https://api.countrystatecity.in/v1/subregions/14/countries?include_translations=true' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
const response = await fetch('https://api.countrystatecity.in/v1/subregions/14/countries', {
headers: { 'X-CSCAPI-KEY': 'YOUR_API_KEY' }
});
const countries = await response.json();
console.log(countries);
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"native": "भारत",
"emoji": "🇮🇳",
"latitude": "20.00000000",
"longitude": "77.00000000",
"region": "Asia",
"region_id": 3,
"subregion": "Southern Asia",
"subregion_id": 14,
"timezones": "[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]"
}
]
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"currency_name": "Indian rupee",
"currency_symbol": "₹",
"tld": ".in",
"nationality": "Indian",
"native": "भारत",
"emoji": "🇮🇳",
"emojiU": "U+1F1EE U+1F1F3",
"latitude": "20.00000000",
"longitude": "77.00000000",
"region": "Asia",
"region_id": 3,
"subregion": "Southern Asia",
"subregion_id": 14,
"timezones": "[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]",
"population": 1380004385,
"gdp": 2870504000000,
"area_sq_km": 3287263,
"postal_code_format": "######",
"postal_code_regex": "^(\\d{6})$",
"numeric_code": "356",
"translations": "{\"kr\":\"인도\",\"de\":\"Indien\",\"es\":\"India\",\"fr\":\"Inde\",\"ja\":\"インド\"}",
"wikiDataId": "Q668"
}
]
{
"status": "error",
"message": "This feature is not available on your current plan.",
"details": {
"feature": "regionsApi",
"currentTier": "community",
"requiredTier": "starter",
"upgradeUrl": "https://app.countrystatecity.in/pricing"
}
}
Get Countries by Subregion
Retrieve countries belonging to a specific subregion
curl -X GET 'https://api.countrystatecity.in/v1/subregions/14/countries' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
curl -X GET 'https://api.countrystatecity.in/v1/subregions/14/countries?include_translations=true' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
const response = await fetch('https://api.countrystatecity.in/v1/subregions/14/countries', {
headers: { 'X-CSCAPI-KEY': 'YOUR_API_KEY' }
});
const countries = await response.json();
console.log(countries);
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"native": "भारत",
"emoji": "🇮🇳",
"latitude": "20.00000000",
"longitude": "77.00000000",
"region": "Asia",
"region_id": 3,
"subregion": "Southern Asia",
"subregion_id": 14,
"timezones": "[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]"
}
]
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"currency_name": "Indian rupee",
"currency_symbol": "₹",
"tld": ".in",
"nationality": "Indian",
"native": "भारत",
"emoji": "🇮🇳",
"emojiU": "U+1F1EE U+1F1F3",
"latitude": "20.00000000",
"longitude": "77.00000000",
"region": "Asia",
"region_id": 3,
"subregion": "Southern Asia",
"subregion_id": 14,
"timezones": "[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]",
"population": 1380004385,
"gdp": 2870504000000,
"area_sq_km": 3287263,
"postal_code_format": "######",
"postal_code_regex": "^(\\d{6})$",
"numeric_code": "356",
"translations": "{\"kr\":\"인도\",\"de\":\"Indien\",\"es\":\"India\",\"fr\":\"Inde\",\"ja\":\"インド\"}",
"wikiDataId": "Q668"
}
]
{
"status": "error",
"message": "This feature is not available on your current plan.",
"details": {
"feature": "regionsApi",
"currentTier": "community",
"requiredTier": "starter",
"upgradeUrl": "https://app.countrystatecity.in/pricing"
}
}
403 on Community and Legacy plans. The fields returned vary by tier — see Tier-Based Field Availability below.?fields= to limit columns returned, or ?sort= to order the list. Both are available on Starter+ plans. See the Field Filtering & Sorting guide for syntax and per-entity sortable fields.Response
Returns the same country object as Get All Countries, filtered to the subregion.curl -X GET 'https://api.countrystatecity.in/v1/subregions/14/countries' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
curl -X GET 'https://api.countrystatecity.in/v1/subregions/14/countries?include_translations=true' \
-H 'X-CSCAPI-KEY: YOUR_API_KEY'
const response = await fetch('https://api.countrystatecity.in/v1/subregions/14/countries', {
headers: { 'X-CSCAPI-KEY': 'YOUR_API_KEY' }
});
const countries = await response.json();
console.log(countries);
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"native": "भारत",
"emoji": "🇮🇳",
"latitude": "20.00000000",
"longitude": "77.00000000",
"region": "Asia",
"region_id": 3,
"subregion": "Southern Asia",
"subregion_id": 14,
"timezones": "[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]"
}
]
[
{
"id": 101,
"name": "India",
"iso2": "IN",
"iso3": "IND",
"phonecode": "91",
"capital": "New Delhi",
"currency": "INR",
"currency_name": "Indian rupee",
"currency_symbol": "₹",
"tld": ".in",
"nationality": "Indian",
"native": "भारत",
"emoji": "🇮🇳",
"emojiU": "U+1F1EE U+1F1F3",
"latitude": "20.00000000",
"longitude": "77.00000000",
"region": "Asia",
"region_id": 3,
"subregion": "Southern Asia",
"subregion_id": 14,
"timezones": "[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]",
"population": 1380004385,
"gdp": 2870504000000,
"area_sq_km": 3287263,
"postal_code_format": "######",
"postal_code_regex": "^(\\d{6})$",
"numeric_code": "356",
"translations": "{\"kr\":\"인도\",\"de\":\"Indien\",\"es\":\"India\",\"fr\":\"Inde\",\"ja\":\"インド\"}",
"wikiDataId": "Q668"
}
]
{
"status": "error",
"message": "This feature is not available on your current plan.",
"details": {
"feature": "regionsApi",
"currentTier": "community",
"requiredTier": "starter",
"upgradeUrl": "https://app.countrystatecity.in/pricing"
}
}
Tier-Based Field Availability
This endpoint requires Starter+, so Community and Legacy accounts never reach field access at all — they get a403 first. Returned country fields match Get Country Details:
| Tier | Plans | Fields |
|---|---|---|
| Basic | Starter | id, name, iso2, iso3, phonecode, capital, currency, native, emoji, latitude, longitude, region, region_id, subregion, subregion_id, timezones |
| Full | Supporter, Professional, Business | All Basic + numeric_code, currency_name, currency_symbol, tld, nationality, population, gdp, area_sq_km, postal_code_format, postal_code_regex, emojiU, translations, wikiDataId, localized_name, matched_locale |
translations is part of Full access but is not returned by default: add include_translations=true, or name it in ?fields=. localized_name and matched_locale are computed from the translations rather than stored, and appear only when you pass locale. See Localized Place Names.
See Pricing for plan details.Authorizations
API key for authentication. Get your free key at app.countrystatecity.in.
Path Parameters
Numeric subregion ID
14
Query Parameters
Search filter on country name. Min 2 characters.
2 - 100Comma-separated list of fields to include in the response. id is always included. Requires Starter+ plan.
"name,iso2"
Comma-separated sort tokens: field or field:asc|desc. Requires Starter+ plan.
"name:asc"
BCP 47 locale code (e.g. pt-BR) to request a localized name. Adds localized_name (resolved via exact locale → base language → native name → English name fallback) and matched_locale (which tier matched) to each result; name is unaffected. Supporter+ plans only — silently omitted (not an error) on lower tiers. A malformed value is rejected with a 400 on every tier.
2 - 7^[a-zA-Z]{2}(-[a-zA-Z]{2,4})?$"pt-BR"
When true, includes the full translations field (JSON string keyed by language code). Supporter+ plans only — silently omitted (not an error) on lower tiers. Note that an explicit fields=translations also returns the field and takes precedence over this flag.
true
Response
List of countries in subregion
Unique identifier
101
Country name in English
"India"
ISO 3166-1 alpha-2 code
"IN"
ISO 3166-1 alpha-3 code
"IND"
International dialling code
"91"
Capital city name
"New Delhi"
Currency code
"INR"
Country name in native language
"भारत"
Flag emoji
"🇮🇳"
Latitude coordinate
"20.00000000"
Longitude coordinate
"77.00000000"
Geographic region
"Asia"
Region identifier
Geographic subregion
"Southern Asia"
Subregion identifier
JSON string of timezone objects with zoneName, gmtOffset, gmtOffsetName, abbreviation, tzName
"[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]"
ISO 3166-1 numeric code. Coordinates tier and above.
"356"
Full currency name. Coordinates tier and above.
"Indian rupee"
Currency symbol. Coordinates tier and above.
"₹"
Top-level domain. Coordinates tier and above.
".in"
Nationality/demonym. Coordinates tier and above.
"Indian"
Population count. Coordinates tier and above.
Gross domestic product (USD). Coordinates tier and above.
Area in square kilometres. Coordinates tier and above.
Postal code format pattern. Coordinates tier and above.
Postal code validation regex. Coordinates tier and above.
Flag emoji Unicode points. Coordinates tier and above.
"U+1F1EE U+1F1F3"
JSON string keyed by language code. Supporter+ plans only. Returned when include_translations=true or when fields=translations explicitly requests it.
Wikidata item identifier. Full access level only.
"Q668"
Name resolved via the locale query param's fallback chain (exact locale → base language → native name → English name). Only present when locale was supplied. Supporter+ plans only — silently omitted on lower tiers.
"Índia"
Which fallback tier satisfied the locale request: the exact locale (e.g. pt-BR), its base language (e.g. pt), native, or en (English fallback). Only present when locale was supplied. Supporter+ plans only — silently omitted on lower tiers.
"pt"