List or search countries
Changed onReturns a paginated list of countries. Supports full-text search via q, per-property filter chains (e.g. ?region=Europe&landlocked=1), pagination via limit/offset, and response shaping via response_fields / response_fields_omit. Per-property filters use any searchable field name as a query parameter; see https://restcountries.com/docs#fields for the full list.
Request
- Base URLhttps://api.restcountries.com
- Auth
- HTTP bearer
- or API key in query parameter api-key
Query parameters
Full-text search across every searchable property. Case-insensitive substring match.
Number of records to return. Defaults to 25; accepts an integer from 1 to 100 on the free plan, or up to 500 on paid plans. Non-integer or below-range values return HTTP 400; a value above your plan's ceiling but within the paid maximum (e.g. 200 on a free plan) returns HTTP 403 indicating it is valid only on paid plans. See https://restcountries.com/docs#pagination for details.
Number of records to skip for pagination. Default 0.
Comma-separated dot-path projection. Only the specified fields are returned. Example: names.common,codes.alpha_2,flag.emoji
Comma-separated dot-path blocklist. The specified fields are removed from the response. Useful for trimming heavy branches like names.translations.
Set to true (a bare ?pretty, 1, or true) to pretty-print the JSON response; 0 or false keep it minified. Default is minified.
Response
Paginated list of countries.
Changes
- info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the
//response's property pattern^[a-z_]+\.[a-z0-9_]+$was added for the status - info
the
//response's property pattern^[a-z_]+\.[a-z0-9_]+$was added for the status - info
the
//response's property pattern^[a-z_]+\.[a-z0-9_]+$was added for the status - info
the
//response's property pattern^[a-z_]+\.[a-z0-9_]+$was added for the status - info
the
//response's property pattern^[a-z_]+\.[a-z0-9_]+$was added for the status - info
the
//response's property pattern^[a-z_]+\.[a-z0-9_]+$was added for the status
- info
- breaking
added to the
////response propertyoneOflist for the response status - breaking
the
////response's property type changed fromobjectto no type for status - warning
removed the optional property
/////from the response with the status - warning
removed the optional property
/////from the response with the status - warning
removed the optional property
/////from the response with the status - warning
removed the optional property
/////from the response with the status - warning
removed the optional property
/////from the response with the status
- breaking