Country data API
ISO 3166 country codes, names in English, Vietnamese and native language, capital, calling codes, currencies, languages, flag emoji, TLD and time zones.
Look up one country by ISO 3166-1 alpha-2, alpha-3 or numeric code (/v1/countries/VN, code=VNM, code=704) or search the 250 countries and territories: q matches names in English, Vietnamese (with or without accents: "Hàn Quốc", "han quoc", "Đức") and the native language plus common aliases; calling_code finds countries by dialling code or by the start of a full phone number (+1 876… → Jamaica, +1 → US, Canada); currency, language, continent (code or name in English / Vietnamese) and timezone filter the list.
Each country has its codes, English, Vietnamese and native names, aliases, capital, continent (with Vietnamese name), calling codes, currencies (ISO 4217 code, name, symbol, decimals), languages (ISO 639-1 with native names), flag emoji, country-code TLD and IANA time zones. Without filters the whole list is returned in a compact form (full=true for every detail).
Data comes from countries-list and i18n-iso-countries (MIT) and the IANA time zone database (public domain), with common Vietnamese names reviewed by hand, and is refreshed weekly. Flags are emoji only (no image hotlinking).
Parameters
| Name | In | Type | Required | Default | |
|---|---|---|---|---|---|
code | query|path | string | no | ISO alpha-2, alpha-3 or numeric code (/v1/countries/VN also works). | |
q | query | string | no | Search by name (English, Vietnamese with or without accents, native). | |
calling_code | query | string | no | Dialling code or full phone number (+84, 1876). | |
currency | query | string | no | ISO 4217 currency code (EUR). | |
language | query | string | no | ISO 639-1 language code (fr). | |
continent | query | string | no | AS, EU, AF, NA, SA, OC, AN or a name (Asia, châu Á). | |
timezone | query | string | no | IANA time zone (Europe/Berlin). | |
full | query | boolean | no | false | Full details in lists (currency and language objects, aliases). |
limit | query | number | no | Maximum results (1–300; 50 when filtering). |
Example
curl "https://apibox.io.vn/v1/countries?q=H%C3%A0n%20Qu%E1%BB%91c" \
-H "Authorization: Bearer YOUR_API_KEY"const res = await fetch('https://apibox.io.vn/v1/countries?q=H%C3%A0n%20Qu%E1%BB%91c', {
method: 'GET',
headers: {
Authorization: 'Bearer YOUR_API_KEY',
},
});
const data = await res.json();
console.log(data);import requests
res = requests.get(
"https://apibox.io.vn/v1/countries?q=H%C3%A0n%20Qu%E1%BB%91c",
headers={"Authorization": "Bearer YOUR_API_KEY"},
timeout=30,
)
print(res.json())<?php
$ch = curl_init('https://apibox.io.vn/v1/countries?q=H%C3%A0n%20Qu%E1%BB%91c');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => ['Authorization: Bearer YOUR_API_KEY'],
]);
$response = curl_exec($ch);
print_r(json_decode($response, true));Response
{
"count": 1,
"filters": {
"q": "Hàn Quốc"
},
"countries": [
{
"alpha2": "KR",
"alpha3": "KOR",
"numeric": "410",
"name": "South Korea",
"name_vi": "Hàn Quốc",
"native": "대한민국",
"flag": "🇰🇷",
"aliases": [
"Korea, Republic of",
"Republic of Korea",
"Nam Hàn",
"Đại Hàn Dân Quốc"
],
"capital": "Seoul",
"continent": "AS",
"continent_name": "Asia",
"continent_name_vi": "Châu Á",
"calling_codes": [
"+82"
],
"currencies": [
{
"code": "KRW",
"name": "South Korean Won",
"native": "대한민국 원",
"symbol": "₩",
"symbol_native": "₩",
"numeric": "410",
"decimals": 0
}
],
"languages": [
{
"code": "ko",
"name": "Korean",
"native": "한국어"
}
],
"tld": [
".kr"
],
"timezones": [
"Asia/Seoul"
],
"score": 100
}
],
"source": "Data: countries-list (MIT), i18n-iso-countries (MIT), IANA tz database (public domain)",
"updated": "2026-11-11"
}
Use cases
- Fill country pickers in English and Vietnamese
- Validate ISO country codes in imports and forms
- Guess the country of a phone number from its prefix
- Show the currency and time zone of a customer country
FAQ
Are Vietnamese names included?
Yes, name_vi for every country (Hàn Quốc, Đức, Hoa Kỳ…), with alternatives such as Mỹ or Nam Hàn as aliases; search works without accents.
Why does +1 return several countries?
The North American plan shares +1; give more digits (e.g. +1876) to get the exact country such as Jamaica.
Is Kosovo included?
Yes, with the user-assigned code XK (flagged user_assigned_code), as used by the EU and many APIs.
Related APIs
JSON Validator
Check JSON syntax with exact line and column of errors, and validate data against a JSON Schema (draft 4, 7, 2019-09 or 2020-12).
{ }JSON Formatter
Pretty print JSON with 0-8 spaces or tabs, minify it, or sort object keys recursively. Syntax errors are reported with line and column.
CSVCSV to JSON
Convert CSV into an array of JSON objects using the header row, with delimiter auto-detection, number and boolean typing, and row-level errors.