ISO 3166-2 API
ISO 3166-2 API — Access all of the world's subdivision/regional ISO 3166…
ISO 3166-2 API exposes access all of the world's subdivision/regional ISO 3166-2 codes We verified a keyless GET endpoint returning JSON (Geocoding). Check the provider docs for rate limits and terms before production use.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Open provider docs ↗
On our probe schedule. Uptime charts appear after the first check lands.
GET https://iso3166-2-api.vercel.app/api/all
{
"AD": {
"AD-02": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-02.svg",
"history": null,
"latLng": [
42.5868,
1.6574
],
"localOtherName": null,
"name": "Canillo",
"parentCode": null,
"type": "Parish"
},
"AD-03": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-03.svg",
"history": null,
"latLng": [
42.536,
1.5836
],
"localOtherName": null,
"name": "Encamp",
"parentCode": null,
"type": "Parish"
},
"AD-04": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-04.svg",
"history": null,
"latLng": [
42.5442,
1.5164
],
"localOtherName": null,
"name": "La Massana",
"parentCode": null,
"type": "Parish"
},
"AD-05": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-05.svg",
"history": null,
"latLng": [
42.601,
1.5298
],
"localOtherName": null,
"name": "Ordino",
"parentCode": null,
"type": "Parish"
},
"AD-06": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-06.svg",
"history": null,
"latLng": [
42.4667,
1.4967
],
"localOtherName": null,
"name": "Sant Julià de Lòria",
"parentCode": null,
"type": "Parish"
},
"AD-07": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-07.svg",
"history": null,
"latLng": [
42.4979,
1.5032
],
"localOtherName": null,
"name": "Andorra la Vella",
"parentCode": null,
"type": "Parish"
},
"AD-08": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AD/AD-08.svg",
"history": null,
"latLng": [
42.4862,
1.6038
],
"localOtherName": null,
"name": "Escaldes-Engordany",
"parentCode": null,
"type": "Parish"
}
},
"AE": {
"AE-AJ": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-AJ.svg",
"history": [
{
"Change": "Change of spelling of AE-AJ, AE-RK; addition of local variation of AE-FU, AE-RK, AE-UQ; update List Source.",
"Date Issued": "2015-11-27",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AE."
}
],
"latLng": [
24.8075,
56.0695
],
"localOtherName": "عجمان (ara), إمارة عيمان (afb)",
"name": "‘Ajmān",
"parentCode": null,
"type": "Emirate"
},
"AE-AZ": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-AZ.svg",
"history": [
{
"Change": "Error correction: Spelling correction in AE-AZ.",
"Date Issued": "2002-08-20",
"Description of Change": null,
"Source": "Newsletter I-3 - https://web.archive.org/web/20081218103236/http://www.iso.org/iso/iso_3166-2_newsletter_i-3_en.pdf."
}
],
"latLng": [
24.3438,
55.1
],
"localOtherName": "أبو ظبي (ara), Mārat Abū Ẓabī (ara), Abu Dhabi (eng)",
"name": "Abū Z̧aby",
"parentCode": null,
"type": "Emirate"
},
"AE-DU": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-DU.svg",
"history": null,
"latLng": [
25.2296,
55.2896
],
"localOtherName": "دبي (ara), Imārat Dubayy (ara), Dubai (eng)",
"name": "Dubayy",
"parentCode": null,
"type": "Emirate"
},
"AE-FU": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-FU.svg",
"history": [
{
"Change": "Change of spelling of AE-AJ, AE-RK; addition of local variation of AE-FU, AE-RK, AE-UQ; update List Source.",
"Date Issued": "2015-11-27",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AE."
}
],
"latLng": [
25.4147,
56.2314
],
"localOtherName": "الفجيرة (ara), Fujairah (eng)",
"name": "Al Fujayrah",
"parentCode": null,
"type": "Emirate"
},
"AE-RK": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-RK.png",
"history": [
{
"Change": "Change of spelling of AE-AJ, AE-RK; addition of local variation of AE-FU, AE-RK, AE-UQ; update List Source.",
"Date Issued": "2015-11-27",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AE."
},
{
"Change": "Spelling correction in AE-RK.",
"Date Issued": "2002-05-21",
"Description of Change": null,
"Source": "Newsletter I-2 - https://web.archive.org/web/20081218103157/http://www.iso.org/iso/iso_3166-2_newsletter_i-2_en.pdf."
}
],
"latLng": [
25.0438,
56.0966
],
"localOtherName": "رأس الخيمة (ara), Ras Al Khaimah (eng)",
"name": "Ra’s al Khaymah",
"parentCode": null,
"type": "Emirate"
},
"AE-SH": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-SH.svg",
"history": null,
"latLng": [
25.2798,
56.2776
],
"localOtherName": "الشارقة (ara), Imārat Aš-Šāriqah (ara), Sharjah (eng)",
"name": "Ash Shāriqah",
"parentCode": null,
"type": "Emirate"
},
"AE-UQ": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AE/AE-UQ.svg",
"history": [
{
"Change": "Change of spelling of AE-AJ, AE-RK; addition of local variation of AE-FU, AE-RK, AE-UQ; update List Source.",
"Date Issued": "2015-11-27",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AE."
}
],
"latLng": [
25.5145,
55.7183
],
"localOtherName": "أم القيوين (ara), Umm Al Quwain (eng)",
"name": "Umm al Qaywayn",
"parentCode": null,
"type": "Emirate"
}
},
"AF": {
"AF-BAL": {
"flag": null,
"history": null,
"latLng": [
36.7992,
67.2373
],
"localOtherName": "بلخ (pus), بلخ (prs)",
"name": "Balkh",
"parentCode": null,
"type": "Province"
},
"AF-BAM": {
"flag": null,
"history": null,
"latLng": [
34.75,
67.25
],
"localOtherName": "بامیان (prs), بامیان (pus), Bamiyan (eng), Bāmīān (pus)",
"name": "Bāmyān",
"parentCode": null,
"type": "Province"
},
"AF-BDG": {
"flag": null,
"history": null,
"latLng": [
35,
63.75
],
"localOtherName": "بادغیس (pus), بادغیس (prs)",
"name": "Bādghīs",
"parentCode": null,
"type": "Province"
},
"AF-BDS": {
"flag": null,
"history": null,
"latLng": [
36.804,
71.3677
],
"localOtherName": "بدخشان (pus), بدخشان (prs)",
"name": "Badakhshān",
"parentCode": null,
"type": "Province"
},
"AF-BGL": {
"flag": null,
"history": null,
"latLng": [
35.75,
69
],
"localOtherName": "بغلان (pus), بغلان (prs)",
"name": "Baghlān",
"parentCode": null,
"type": "Province"
},
"AF-DAY": {
"flag": null,
"history": [
{
"Change": "Subdivisions added: AF-DAY Dāykondī. AF-PAN Panjshīr.",
"Date Issued": "2005-09-13",
"Description of Change": "Addition of 2 provinces. Update of list source.",
"Source": "Newsletter I-7 - https://web.archive.org/web/20081218103217/http://www.iso.org/iso/iso_3166-2_newsletter_i-7_en.pdf."
}
],
"latLng": [
33.7251,
66.2197
],
"localOtherName": "دایکندی (pus), دایکندی (prs), Daikundi (eng), Daikondi (eng), Daykondi (eng)",
"name": "Dāykundī",
"parentCode": null,
"type": "Province"
},
"AF-FRA": {
"flag": null,
"history": null,
"latLng": [
32.6071,
62.671
],
"localOtherName": "فراه (pus), فراه (prs)",
"name": "Farāh",
"parentCode": null,
"type": "Province"
},
"AF-FYB": {
"flag": null,
"history": null,
"latLng": [
35.6481,
64.8809
],
"localOtherName": "فاریاب (pus), فاریاب (prs)",
"name": "Fāryāb",
"parentCode": null,
"type": "Province"
}
},
"AG": {
"AG-03": {
"flag": null,
"history": null,
"latLng": [
17.1218,
-61.7812
],
"localOtherName": null,
"name": "Saint George",
"parentCode": null,
"type": "Parish"
},
"AG-04": {
"flag": null,
"history": [
{
"Change": "Change spelling of AG-04.",
"Date Issued": "2014-10-29",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AG."
}
],
"latLng": [
17.1152,
-61.8583
],
"localOtherName": null,
"name": "Saint John",
"parentCode": null,
"type": "Parish"
},
"AG-05": {
"flag": null,
"history": null,
"latLng": [
17.0548,
-61.8602
],
"localOtherName": null,
"name": "Saint Mary",
"parentCode": null,
"type": "Parish"
},
"AG-06": {
"flag": null,
"history": null,
"latLng": [
17.0326,
-61.7707
],
"localOtherName": null,
"name": "Saint Paul",
"parentCode": null,
"type": "Parish"
},
"AG-07": {
"flag": null,
"history": null,
"latLng": [
17.107,
-61.7502
],
"localOtherName": null,
"name": "Saint Peter",
"parentCode": null,
"type": "Parish"
},
"AG-08": {
"flag": null,
"history": null,
"latLng": [
17.0664,
-61.7062
],
"localOtherName": null,
"name": "Saint Philip",
"parentCode": null,
"type": "Parish"
},
"AG-10": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AG/AG-10.svg",
"history": null,
"latLng": [
17.6149,
-61.8544
],
"localOtherName": null,
"name": "Barbuda",
"parentCode": null,
"type": "Dependency"
},
"AG-11": {
"flag": null,
"history": [
{
"Change": "Subdivisions added: AG-11 Redonda.",
"Date Issued": "2010-06-30",
"Description of Change": "Update of the administrative structure and of the list source.",
"Source": "Newsletter II-2 - https://www.iso.org/files/live/sites/isoorg/files/archive/pdf/en/iso_3166-2_newsletter_ii-2_2010-06-30.pdf."
}
],
"latLng": [
17.0245,
-62.2936
],
"localOtherName": null,
"name": "Redonda",
"parentCode": null,
"type": "Dependency"
}
},
"AI": {},
"AL": {
"AL-01": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-01.svg",
"history": null,
"latLng": [
40.6084,
20.1089
],
"localOtherName": "Qarku Berat (sqi)",
"name": "Berat",
"parentCode": null,
"type": "County"
},
"AL-02": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-02.svg",
"history": null,
"latLng": [
41.428,
19.5373
],
"localOtherName": "Qarku i Durrësit (sqi)",
"name": "Durrës",
"parentCode": null,
"type": "County"
},
"AL-03": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-03.svg",
"history": null,
"latLng": [
41.0511,
20.1399
],
"localOtherName": "Qarku i Elbasanit (sqi)",
"name": "Elbasan",
"parentCode": null,
"type": "County"
},
"AL-04": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-04.png",
"history": null,
"latLng": [
40.742,
19.5701
],
"localOtherName": "Qarku Fier (sqi)",
"name": "Fier",
"parentCode": null,
"type": "County"
},
"AL-05": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-05.png",
"history": null,
"latLng": [
40.1556,
20.2139
],
"localOtherName": "Qarku i Gjirokastrës (sqi)",
"name": "Gjirokastër",
"parentCode": null,
"type": "County"
},
"AL-06": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-06.svg",
"history": null,
"latLng": [
40.5859,
20.7361
],
"localOtherName": "Qarku Korçë (sqi)",
"name": "Korçë",
"parentCode": null,
"type": "County"
},
"AL-07": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-07.svg",
"history": null,
"latLng": [
42.1886,
20.377
],
"localOtherName": "Qarku i Kukësit (sqi)",
"name": "Kukës",
"parentCode": null,
"type": "County"
},
"AL-08": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AL/AL-08.png",
"history": null,
"latLng": [
41.7932,
19.8891
],
"localOtherName": "Qarku i Lezhës (sqi)",
"name": "Lezhë",
"parentCode": null,
"type": "County"
}
},
"AM": {
"AM-AG": {
"flag": null,
"history": null,
"latLng": [
40.3828,
44.1147
],
"localOtherName": "Արագածոտն (hye), Aragatsotn (eng)",
"name": "Aragac̣otn",
"parentCode": null,
"type": "Region"
},
"AM-AR": {
"flag": null,
"history": null,
"latLng": [
40.0054,
44.7315
],
"localOtherName": "Արարատ (hye), Ararat (eng)",
"name": "Ararat",
"parentCode": null,
"type": "Region"
},
"AM-AV": {
"flag": null,
"history": null,
"latLng": [
40.1556,
44.0388
],
"localOtherName": "Արմավիր (hye), Armavir (eng)",
"name": "Armavir",
"parentCode": null,
"type": "Region"
},
"AM-ER": {
"flag": "https://raw.githubusercontent.com/amckenna41/iso3166-flags/main/iso3166-2-flags/AM/AM-ER.svg",
"history": null,
"latLng": [
40.1777,
44.5126
],
"localOtherName": "Երևան (hye), Yerevan (eng), The Pink City (eng), Mother City (eng)",
"name": "Erevan",
"parentCode": null,
"type": "City"
},
"AM-GR": {
"flag": null,
"history": null,
"latLng": [
40.3031,
45.3757
],
"localOtherName": "Գեղարքունիք (hye), Gegharkunik (eng)",
"name": "Geġark'unik'",
"parentCode": null,
"type": "Region"
},
"AM-KT": {
"flag": null,
"history": null,
"latLng": [
40.3707,
44.6885
],
"localOtherName": "Կոտայք (hye), Kotayk (eng)",
"name": "Kotayk'",
"parentCode": null,
"type": "Region"
},
"AM-LO": {
"flag": null,
"history": null,
"latLng": [
41.0073,
44.49
],
"localOtherName": "Լոռի (hye), Lori (eng)",
"name": "Loṙi",
"parentCode": null,
"type": "Region"
},
"AM-SH": {
"flag": null,
"history": null,
"latLng": [
40.9186,
43.8404
],
"localOtherName": "Շիրակ (hye), Shirak (eng)",
"name": "Širak",
"parentCode": null,
"type": "Region"
}
},
"AO": {
"AO-BGO": {
"flag": null,
"history": null,
"latLng": [
-8.3197,
13.8656
],
"localOtherName": "Bengo (kon)",
"name": "Bengo",
"parentCode": null,
"type": "Province"
},
"AO-BGU": {
"flag": null,
"history": null,
"latLng": [
-12.9105,
14.0357
],
"localOtherName": "Bengela (kon), Luombaka Volupale (umb)",
"name": "Benguela",
"parentCode": null,
"type": "Province"
},
"AO-BIE": {
"flag": null,
"history": null,
"latLng": [
-12.263,
17.4968
],
"localOtherName": "Biye (kon)",
"name": "Bié",
"parentCode": null,
"type": "Province"
},
"AO-CAB": {
"flag": null,
"history": null,
"latLng": [
-5.0564,
12.3212
],
"localOtherName": "Kabinda (kon), Portuguese Congo (eng)",
"name": "Cabinda",
"parentCode": null,
"type": "Province"
},
"AO-CCU": {
"flag": null,
"history": [
{
"Change": "Change of spelling of AO-CCU, AO-CNO, AO-CUS, AO-LNO, AO-LSU; Addition of local variation for AO-CCU, AO-CNO, AO-CUS; Update List Source.",
"Date Issued": "2020-11-24",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AO."
},
{
"Change": "Correct spelling of AO-CCU.",
"Date Issued": "2015-02-12",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AO."
}
],
"latLng": [
-16.0458,
19.5622
],
"localOtherName": "Kuando Kubango Volupale (kon)",
"name": "Cuando Cubango",
"parentCode": null,
"type": "Province"
},
"AO-CNN": {
"flag": null,
"history": null,
"latLng": [
-16.5569,
15.7867
],
"localOtherName": "Kuene (kon)",
"name": "Cunene",
"parentCode": null,
"type": "Province"
},
"AO-CNO": {
"flag": null,
"history": [
{
"Change": "Change of spelling of AO-CCU, AO-CNO, AO-CUS, AO-LNO, AO-LSU; Addition of local variation for AO-CCU, AO-CNO, AO-CUS; Update List Source.",
"Date Issued": "2020-11-24",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AO."
},
{
"Change": "Correct spelling of AO-CNO and AO-CUS.",
"Date Issued": "2014-12-18",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AO."
}
],
"latLng": [
-9.0297,
15.0926
],
"localOtherName": "Konano Kwanza Volupale (kon), North Cuanza (eng)",
"name": "Cuanza-Norte",
"parentCode": null,
"type": "Province"
},
"AO-CUS": {
"flag": null,
"history": [
{
"Change": "Change of spelling of AO-CCU, AO-CNO, AO-CUS, AO-LNO, AO-LSU; Addition of local variation for AO-CCU, AO-CNO, AO-CUS; Update List Source.",
"Date Issued": "2020-11-24",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AO."
},
{
"Change": "Correct spelling of AO-CNO and AO-CUS.",
"Date Issued": "2014-12-18",
"Description of Change": null,
"Source": "Online Browsing Platform (OBP) - https://www.iso.org/obp/ui/#iso:code:3166:AO."
}
],
"latLng": [
-10.7708,
15.0976
],
"localOtherName": "Kuanza Sudi (kon), South Cuanza (eng)",
"name": "Cuanza-Sul",
"parentCode": null,
"type": "Province"
}
}
}curl "https://iso3166-2-api.vercel.app/api/all"const res = await fetch("https://iso3166-2-api.vercel.app/api/all");
const data = await res.json();
console.log(data);import requests
res = requests.get("https://iso3166-2-api.vercel.app/api/all")
print(res.json())BROWSER CALLS BLOCKED (NO CORS/HTTPS) — USE THE CURL SNIPPET
/api/allPROBEDISO 3166-2 API — Access all of the world's subdivision/regional ISO 3166…
/apiApi — documented GET route.
/api/1Api details by ID (example: 1).
/api?limit=10Api — documented GET route.
/api/search?q=testSearch by query parameters.
/api/all?limit=10Full collection dump.
We probe a documented GET and expect 2xx JSON — full uptime and health score. Export includes every documented route below.
Not tracked yet. Shape-change history starts once this API joins our probe schedule.
ISO 3166-2 API: common questions
Is ISO 3166-2 API free to use?
Yes — ISO 3166-2 API is a free geo & maps API. Free tier: Free — limits not published. Whether the free tier allows commercial use is unclear — check the provider docs.
Does ISO 3166-2 API need an API key?
No — ISO 3166-2 API needs no API key or signup. You can call it straight away; rate limits still apply (Unpublished).
Can I call ISO 3166-2 API from the browser?
Not directly — ISO 3166-2 API doesn't send browser-friendly CORS headers, so call it from a server or proxy instead. Copy the curl or Python snippet on this page to get started.
Is ISO 3166-2 API up right now?
ISO 3166-2 API is catalogued but not yet on our probe schedule, so we don't publish a live status for it. Check the provider's own status page or docs for its current state.