Docs
EntwicklerbereichDashboardesimoa.com
    • Einführung
    • Schnellstart
    • Authentifizierung
    • Overview
    • eSIMs auflisten
    • eSIM holen
    • Länder
    • OpenAPI
    • Tracking & Provision
    • Ratenlimits & Fehler
    • Overview
    • Claude
    • ChatGPT
    • Gemini
    • Andere MCP-Clients
    • Overview
    • Authentifizierung
    • Produkte
    • Produktdetails
    • Länder
    • Errors & rate limits
  1. Docs
  2. Öffentliche API (/v1)
  3. eSIMs auflisten

Öffentliche API (/v1)

eSIMs auflisten

GET /v1/esims — search eSIMs by country, duration and data, and get purchase URLs that carry your partner code.

On this page
  • Request
  • Query parameters
  • Filter rules
  • Antwort
  • The Esim object

Request#

GET/v1/esims
curl "https://api.esimoa.com/v1/esims?country=JP&days=7&sort=price&limit=3&lang=en" \
  -H "X-API-Key: esk_live_your_key_here"
const res = await fetch(
  'https://api.esimoa.com/v1/esims?country=JP&days=7&sort=price&limit=3&lang=en',
  { headers: { 'X-API-Key': process.env.ESIMOA_API_KEY } },
);
if (!res.ok) throw new Error(`esimoa API ${res.status}`);

const { items, total } = await res.json();
for (const esim of items) {
  console.log(esim.title, esim.priceKrw, esim.url);
}
import os
import requests

res = requests.get(
    "https://api.esimoa.com/v1/esims",
    params={"country": "JP", "days": 7, "sort": "price", "limit": 3, "lang": "en"},
    headers={"X-API-Key": os.environ["ESIMOA_API_KEY"]},
    timeout=10,
)
res.raise_for_status()

for esim in res.json()["items"]:
    print(esim["title"], esim["priceKrw"], esim["url"])

Query parameters#

Alle Parameter sind optional.

ParameterTypBeschreibung
countrystringLändercode (ISO 3166-1 alpha-2, z. B. JP)
daysintegerGenaue Gültigkeit in Tagen
minDaysintegerMindestgültigkeit (Tage)
maxDaysintegerMaximale Gültigkeit (Tage)
dataGbnumberMindestdatenvolumen (GB)
unlimitedbooleantrue = nur unbegrenzte Tarife
countriesstringReise in mehrere Länder — 2–8 kommagetrennte Ländercodes (z. B. FR,IT,ES). Nur Tarife, die in allen funktionieren
maxDataGbnumberMaximales Datenvolumen (GB)
minPriceKrw / maxPriceKrwintegerPreisspanne (KRW)
dataTypestringdaily (Volumen wird täglich zurückgesetzt) | total (ein Volumen für den gesamten Zeitraum)
localNumberbooleantrue = nur Tarife mit lokaler Telefonnummer (Anrufe/SMS)
networkstringlocal (Netz eines lokalen Anbieters) | roaming (Roaming-Netz)
multiCountrybooleantrue = nur Mehrländertarife, false = nur Tarife für ein Land
providerstringAnbietercode — wie in provider zurückgegeben
hotspot / fiveGbooleanTethering-Unterstützung / 5G-Netz (ungefähr – siehe Regeln unten)
sortstringrecommended (Standard) | price (günstigste zuerst) | data (meiste Daten zuerst) | price_per_gb (günstigster GB-Preis zuerst) | validity (längste Laufzeit zuerst)
limitinteger1–50, Standard 10
offsetintegerZu überspringende Einträge – auf ein Vielfaches von limit abgerundet
langstringAntwortsprache: ko | en | ja | zh-CN | zh-TW (Standard: en)

Filter rules#

  • days überschreibt minDays und maxDays.
  • unlimited=true ignoriert dataGb.
  • countries überschreibt country.
  • hotspot · fiveG werden innerhalb der ersten 50 Tarife geprüft, die zu den anderen Filtern passen. offset wird ignoriert, und die Antwort enthält totalIsApproximate: true.
  • Boolesche Werte akzeptieren nur true, false, 1 oder 0; alles andere ergibt 400.
  • Die Ergebnisse enthalten nur direkt von esimoa verkaufte Produkte; eingestellte Produkte sind ausgeschlossen.

Antwort#

200 OKjson
{
  "success": true,
  "items": [
    {
      "id": "partner_9VKPYQ3JRYVK5797",
      "title": "Japan · 100 MB · 7 days",
      "countryCode": "JP",
      "countryName": "Japan",
      "coverageCountries": ["JP"],
      "isMultiCountry": false,
      "dataAmount": "100 MB",
      "dataAmountGB": 0.1,
      "isUnlimited": false,
      "dataType": "total",
      "validityDays": 7,
      "priceKrw": 1000,
      "currency": "KRW",
      "provider": "TSIM",
      "networkType": "5G",
      "hotspot": true,
      "hasLocalNumber": false,
      "isLocalNetwork": true,
      "url": "https://www.esimoa.com/en/plans/jp/partner_9VKPYQ3JRYVK5797?ref=p_yourcode&utm_source=esimoa_partner"
    }
  ],
  "total": 42,
  "limit": 10,
  "offset": 0,
  "sort": "price"
}

The Esim object#

FeldTypBeschreibung
idstringProdukt-ID – für den Detail-Endpunkt
titlestringAnzeigename (in lang)
countryCode / countryNamestring | nullHauptland (null bei Mehrländertarifen)
coverageCountriesstring[]Ländercodes, in denen die eSIM funktioniert
isMultiCountrybooleanTarif für mehrere Länder
dataAmount / dataAmountGBstring / numberDatenvolumen (Label / GB-Zahl)
isUnlimitedbooleanUnbegrenzter Tarif
dataType'total' | 'daily' | nullGesamtvolumen oder Tagesvolumen
validityDaysintegerGültigkeit in Tagen
priceKrw / currencyinteger / 'KRW'Preis in KRW
provider / networkTypestringAnbieter / Netz (z. B. 5G)
hotspot / hasLocalNumber / isLocalNetworkbooleanTethering / lokale Telefonnummer / lokales Netz
urlstringKauflink mit deinem Partnercode (?ref=). Unverändert anzeigen.

Hinweis

Felder werden nur hinzugefügt – Namen und Bedeutungen ändern sich nie. Verarbeite Antworten so, dass unbekannte Felder ignoriert werden.

Zuletzt aktualisiert: 1. Oktober 2026

PreviousÖffentliche API (/v1)WeitereSIM holen

On this page

  • Request
  • Query parameters
  • Filter rules
  • Antwort
  • The Esim object

APIs and MCP for bringing esimoa eSIMs to your product

Resources

  • Docs
  • API reference
  • Partner-API (B2B)
  • MCP server
  • OpenAPI spec

esimoa

  • Startseite
  • eSIM Tarife
  • Entwicklerbereich
  • Dashboard
  • Partnerportal

Company

  • Über uns
  • Partnerschaft
  • Nutzungsbedingungen
  • Datenschutzerklärung
  • Liefer- und Erstattungsbedingungen

Hilfe

  • support@esimoa.com
  • Support-Chat

NBase Korea Co., Ltd.

902, Bldg A, 767 Sinsu-ro, Suji-gu, Yongin-si, Gyeonggi-do (Dongcheon-dong, Bundang Suji U-TOWER)

US-Hauptsitz: NBASE CORP. · Corporate Park, Irvine, CA 92606, USA

© 2026 esimoa. Alle Rechte vorbehalten.