Running a comparison site, a travel agency or a reseller network? Our whole eSIM catalogue is available programmatically: a key-based plans API with final VAT-inclusive prices, built from the same price list as our shop and checkout.
We offer four kinds of partnership. Terms are agreed individually with each partner.
eSIM comparison site, travel portal or app: our plans and prices, automatically, with your own API key.
API documentationBlog, social profile, YouTube channel: your own code and link, commission on purchases. This has its own programme and form.
Affiliate programmeWant to offer eSIMs to your own customers (tour operators, corporate fleets, group travel)? By individual agreement.
ApplyOffer mobile data alongside the booking: a link, a code or a group quote, fitted to your booking flow.
ApplyA read-only JSON document with every plan that can be bought online: destination, covered countries and networks, data allowance, validity, final price and product page link. It is rebuilt with every release from our shop's price list — the price on the product page and the amount charged at checkout are the same.
https://ql1gdzweui.execute-api.eu-central-1.amazonaws.com/v1x-api-key header, one key per partnerEvery request needs the x-api-key header. We send your key personally once your application is approved — one key per partner, with its own limits. Use the key server-side only; never ship it in browser or mobile app code. If it leaks, tell us: we revoke it and issue a new one.
There is no separate sandbox: the API is read-only, so the live endpoint is safe to try.
| Method and path | Returns |
|---|---|
GET /v1/plans | The full document: provider, currencies, eSIM fee, destinations, plans. |
GET /v1/schema | The JSON Schema (2020-12) of the response. |
No query parameters: one response contains every plan in every currency.
| Field | Type | Meaning |
|---|---|---|
apiVersion | integer | Always 1. Breaking changes get a new path (/v2). |
updatedAt | string (date-time) | When the content last changed (UTC) — not when it was last rebuilt. |
dataVersion | string | Content fingerprint; same value = nothing to update. It is also the ETag. |
schema | string | Path of the schema on this API (/v1/schema). |
provider | object | Name, website, contact e-mail. |
currencies | string[] | ISO 4217 codes; every prices object has all of them (HUF, EUR, RON, RSD). |
pricesIncludeVat | boolean | true: every price is the final consumer price including VAT. |
esimFee | object | The one-time eSIM fee per currency (amount), when it applies (appliesTo) and the fee-free period (waived, currently null: none). |
planTerms | object | Terms that hold for every plan: when validity starts, activation window, delivery, hotspot, top-ups, refunds. |
linkParameters | object | URL parameters the product pages understand (see Links). |
destinations | object[] | One entry per destination (country, region or global bundle). |
plans | object[] | One entry per plan, flat. |
| Field | Type | Meaning |
|---|---|---|
id | string | Stable, opaque identifier (our internal slug — don't parse it). |
name | string | English name. |
type | string | country, region (e.g. Europe) or global. |
countries | object[] | Every covered country (see below). |
url | string (uri) | The Hungarian product page. |
localizedUrls | object | The same page in other languages, keyed by language code (hu, en, de…); 8 languages for the 23 most popular destinations. |
| Field | Type | Meaning |
|---|---|---|
iso2 | string | ISO 3166-1 alpha-2, upper case. |
name | string | English country name. |
networks | string[] | Partner networks in that country. |
| Field | Type | Meaning |
|---|---|---|
id | string | Stable while the plan exists; a different allowance or validity gives a new id. |
destinationId | string | Points to destinations[].id. |
name | string | e.g. Turkey 5 GB / 15 days. |
countries | string[] | ISO codes covered (same as the destination's). |
dataType | string | fixed: dataGb for the whole validity. (daily means a daily allowance — we have no such plans today.) |
dataGb | number | null | Data allowance in GB. |
dailyDataGb | number | null | Daily allowance in GB; null for fixed plans. |
validityDays | integer | Validity in days, from the first data connection at the destination. |
throttling | object | null | null: full speed until the data is used up. |
prices | object | Final price per currency in major units (2.9 = €2.90; HUF has no decimals). |
url | string (uri) | Product page with the plan pre-selected (?plan=). |
curl -H "x-api-key: $ESIMPONT_API_KEY" -H "Accept-Encoding: gzip" --compressed \
https://ql1gdzweui.execute-api.eu-central-1.amazonaws.com/v1/plans
{
"apiVersion": 1,
"updatedAt": "2026-10-22T16:35:31Z",
"dataVersion": "0a7c39d7c287ce38",
"schema": "/v1/schema",
"provider": {
"name": "eSIMPont",
"website": "https://www.esimpont.hu/",
"contact": "partner@esimpont.hu"
},
"currencies": [
"HUF",
"EUR",
"RON",
"RSD"
],
"pricesIncludeVat": true,
"esimFee": {
"amount": {
"HUF": 490,
"EUR": 1.36,
"RON": 6.94,
"RSD": 166.06
},
"appliesTo": "Purchases that need a new eSIM profile: the traveller's first purchase, or a destination that cannot be loaded onto the eSIM they already have. Top-ups onto an eSIMPont eSIM the traveller already has are exempt.",
"waived": null
},
"planTerms": {
"validityStarts": "first data connection at the destination",
"activateWithinMonths": 12,
"delivery": "QR code by e-mail right after payment",
"hotspot": true,
"topUps": true,
"refund": "The 14-day withdrawal right ends when the QR code is delivered (the buyer consents at checkout). If a fault on our side cannot be fixed, the price is refunded."
},
"linkParameters": {
"plan": "pre-selects a plan on the product page, e.g. ?plan=5gb-15d (already in every plan url)",
"ref": "partner code for attribution, e.g. ?ref=CODE (ask us for one); remembered for 30 days",
"utm_*": "utm_source / utm_medium / utm_campaign / utm_content are recorded",
"currency": "fixed by the page language: hu = HUF, en/de/es/fr/sk = EUR, ro = RON, sr = RSD (see destinations[].localizedUrls)"
},
"destinations": [
{
"id": "torokorszag",
"name": "Turkey",
"type": "country",
"countries": [
{
"iso2": "TR",
"name": "Turkey",
"networks": [
"Turk Telekom Turkey",
"Vodafone Turkey"
]
}
],
"url": "https://www.esimpont.hu/esim-torokorszag.html",
"localizedUrls": {
"hu": "https://www.esimpont.hu/esim-torokorszag.html",
"en": "https://www.esimpont.hu/en/esim-turkey.html",
"de": "https://www.esimpont.hu/de/esim-tuerkei.html",
"es": "https://www.esimpont.hu/es/esim-turquia.html",
"fr": "https://www.esimpont.hu/fr/esim-turquie.html",
"sk": "https://www.esimpont.hu/sk/esim-turecko.html",
"ro": "https://www.esimpont.hu/ro/esim-turcia.html",
"sr": "https://www.esimpont.hu/sr/esim-turska.html"
}
}
],
"plans": [
{
"id": "torokorszag-s-1gb-7d",
"destinationId": "torokorszag",
"name": "Turkey 1 GB / 7 days",
"countries": [
"TR"
],
"dataType": "fixed",
"dataGb": 1,
"dailyDataGb": null,
"validityDays": 7,
"throttling": null,
"prices": {
"HUF": 890,
"EUR": 2.9,
"RON": 12.9,
"RSD": 390
},
"url": "https://www.esimpont.hu/esim-torokorszag.html?plan=1gb-7d"
},
{
"id": "torokorszag-m-5gb-15d",
"destinationId": "torokorszag",
"name": "Turkey 5 GB / 15 days",
"countries": [
"TR"
],
"dataType": "fixed",
"dataGb": 5,
"dailyDataGb": null,
"validityDays": 15,
"throttling": null,
"prices": {
"HUF": 1990,
"EUR": 5.9,
"RON": 28.9,
"RSD": 690
},
"url": "https://www.esimpont.hu/esim-torokorszag.html?plan=5gb-15d"
},
{
"id": "torokorszag-l-20gb-30d",
"destinationId": "torokorszag",
"name": "Turkey 20 GB / 30 days",
"countries": [
"TR"
],
"dataType": "fixed",
"dataGb": 20,
"dailyDataGb": null,
"validityDays": 30,
"throttling": null,
"prices": {
"HUF": 5590,
"EUR": 15.9,
"RON": 79.9,
"RSD": 1890
},
"url": "https://www.esimpont.hu/esim-torokorszag.html?plan=20gb-30d"
}
]
}
The example is today's real data. The full response has 513 plans and 171 destinations.
curl -i -H "x-api-key: $ESIMPONT_API_KEY" \
-H 'If-None-Match: "0a7c39d7c287ce38"' \
https://ql1gdzweui.execute-api.eu-central-1.amazonaws.com/v1/plans
# HTTP/2 304 (nothing changed since this dataVersion)
pricesIncludeVat: true) — exactly what the product page shows and what the checkout charges.esimFee): €1.36 (HUF 490) on top of the plan when the purchase needs a new eSIM profile — normally the first purchase. Plans loaded onto an existing eSIMPont eSIM don't pay it.localizedUrls).url opens the product page with the plan pre-selected (?plan=5gb-15d).?ref=CODE — partner code: purchases are attributed to you for 30 days. We issue the code and agree its terms with you.utm_source, utm_medium, utm_campaign, utm_content are recorded, so traffic can be traced together.Example: https://www.esimpont.hu/esim-torokorszag.html?plan=5gb-15d&ref=CODE&utm_source=yoursite&utm_medium=referral
| Code | When | What to do |
|---|---|---|
200 | Success. | — |
304 | The ETag you sent in If-None-Match is still current. | Keep using your copy; there is no body. |
403 | Missing or invalid x-api-key, revoked key, or unknown path. | The body says which: {"message": "…"}. |
429 | Too many requests per second (over 5, bursts over 10). | Wait for the Retry-After header (1 second). |
429 | Daily quota (1,000 requests) used up. | It resets at 00:00 UTC; the body says so. |
5xx | A temporary error on our side or at AWS. | Retry with increasing back-off. |
Responses carry Cache-Control: private, max-age=3600, an ETag and Last-Modified. Send the last ETag back in If-None-Match: if nothing changed you get 304 Not Modified with no body. With Accept-Encoding: gzip the response is compressed.
We don't offer an availability guarantee (SLA) or a status page; the API runs on AWS API Gateway and Lambda. If something is wrong, write to partner@esimpont.hu.
/v2).GET /v1/plans, GET /v1/schema, per-partner key and limits, ETag/304.By using a key the partner accepts the following. If they are broken, we may revoke the key.
url) with your own utm or ref parameter. Checkout happens on eSIMPont; partners never handle payments or card data.Tell us who you are and how you would use the API or the partnership — we reply personally. Affiliate or content creator? Your form is on the affiliate programme page.
Your application is with our partnerships team. We'll reply personally to .
API keys, partner codes, questions or a missing field: partner@esimpont.hu. Operated by SoundCam Productions Kft. (legal notice).