Public API (/v1)
Countries
GET /v1/countries — list countries with eSIMs on sale, with plan counts and lowest prices.
Request#
GET
/v1/countriescurl "https://api.esimoa.com/v1/countries?q=japan&lang=en" \
-H "X-API-Key: esk_live_your_key_here"const res = await fetch('https://api.esimoa.com/v1/countries?q=japan&lang=en', {
headers: { 'X-API-Key': process.env.ESIMOA_API_KEY },
});
const { items } = await res.json();res = requests.get(
"https://api.esimoa.com/v1/countries",
params={"q": "japan", "lang": "en"},
headers={"X-API-Key": os.environ["ESIMOA_API_KEY"]},
timeout=10,
)
countries = res.json()["items"]Query parameters#
| Parameter | Type | Description |
|---|---|---|
q | string | Search by country name or code (optional) |
lang | string | Response language: ko | en | ja | zh-CN | zh-TW (default en) |
q matches country names in any of the five languages (e.g. japan, 일본, 日本).
Response#
200 OKjson
{
"success": true,
"items": [
{
"countryCode": "JP",
"name": "Japan",
"planCount": 128,
"lowestPriceKrw": 1000,
"url": "https://www.esimoa.com/en/plans/jp?ref=p_yourcode"
}
]
}The Country object#
| Field | Type | Description |
|---|---|---|
countryCode | string | ISO 3166-1 alpha-2 country code |
name | string | Country name (in lang) |
planCount | integer | Number of plans on sale |
lowestPriceKrw | integer | null | Lowest price in KRW |
url | string | Country plans page — carries your partner code (?ref=) |
