Skip to main content
GET
Retrieve all countries within a subregion. For example, subregion “Southern Asia” contains India, Pakistan, Bangladesh, etc.
Availability: Starter plan and above. Returns 403 on Community and Legacy plans. The fields returned vary by tier — see Tier-Based Field Availability below.
Trim and order results: Add ?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.

Tier-Based Field Availability

This endpoint requires Starter+, so Community and Legacy accounts never reach field access at all — they get a 403 first. Returned country fields match Get Country Details: 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

X-CSCAPI-KEY
string
header
required

API key for authentication. Get your free key at app.countrystatecity.in.

Path Parameters

id
integer
required

Numeric subregion ID

Example:

14

Query Parameters

q
string

Search filter on country name. Min 2 characters.

Required string length: 2 - 100
fields
string

Comma-separated list of fields to include in the response. id is always included. Requires Starter+ plan.

Example:

"name,iso2"

sort
string

Comma-separated sort tokens: field or field:asc|desc. Requires Starter+ plan.

Example:

"name:asc"

locale
string

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.

Required string length: 2 - 7
Pattern: ^[a-zA-Z]{2}(-[a-zA-Z]{2,4})?$
Example:

"pt-BR"

include_translations
boolean
default:false

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.

Example:

true

Response

List of countries in subregion

id
integer<int64>
required

Unique identifier

Example:

101

name
string
required

Country name in English

Example:

"India"

iso2
string
required

ISO 3166-1 alpha-2 code

Example:

"IN"

iso3
string
required

ISO 3166-1 alpha-3 code

Example:

"IND"

phonecode
string

International dialling code

Example:

"91"

capital
string | null

Capital city name

Example:

"New Delhi"

currency
string | null

Currency code

Example:

"INR"

native
string | null

Country name in native language

Example:

"भारत"

emoji
string | null

Flag emoji

Example:

"🇮🇳"

latitude
string | null

Latitude coordinate

Example:

"20.00000000"

longitude
string | null

Longitude coordinate

Example:

"77.00000000"

region
string | null

Geographic region

Example:

"Asia"

region_id
integer | null

Region identifier

subregion
string | null

Geographic subregion

Example:

"Southern Asia"

subregion_id
integer | null

Subregion identifier

timezones
string | null

JSON string of timezone objects with zoneName, gmtOffset, gmtOffsetName, abbreviation, tzName

Example:

"[{\"zoneName\":\"Asia/Kolkata\",\"gmtOffset\":19800,\"gmtOffsetName\":\"UTC+05:30\",\"abbreviation\":\"IST\",\"tzName\":\"Indian Standard Time\"}]"

numeric_code
string | null

ISO 3166-1 numeric code. Coordinates tier and above.

Example:

"356"

currency_name
string | null

Full currency name. Coordinates tier and above.

Example:

"Indian rupee"

currency_symbol
string | null

Currency symbol. Coordinates tier and above.

Example:

"₹"

tld
string | null

Top-level domain. Coordinates tier and above.

Example:

".in"

nationality
string | null

Nationality/demonym. Coordinates tier and above.

Example:

"Indian"

population
integer<int64> | null

Population count. Coordinates tier and above.

gdp
integer<int64> | null

Gross domestic product (USD). Coordinates tier and above.

area_sq_km
number | null

Area in square kilometres. Coordinates tier and above.

postal_code_format
string | null

Postal code format pattern. Coordinates tier and above.

postal_code_regex
string | null

Postal code validation regex. Coordinates tier and above.

emojiU
string | null

Flag emoji Unicode points. Coordinates tier and above.

Example:

"U+1F1EE U+1F1F3"

translations
string | null

JSON string keyed by language code. Supporter+ plans only. Returned when include_translations=true or when fields=translations explicitly requests it.

wikiDataId
string | null

Wikidata item identifier. Full access level only.

Example:

"Q668"

localized_name
string | null

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.

Example:

"Índia"

matched_locale
string | null

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.

Example:

"pt"