Docs
Developer CenterDashboardesimoa.com
    • Introduction
    • Quickstart
    • Authentication
    • Overview
    • List eSIMs
    • Get an eSIM
    • Countries
    • OpenAPI
    • Tracking & commission
    • Rate limits & errors
    • Overview
    • Claude
    • ChatGPT
    • Gemini
    • Other MCP clients
    • Overview
    • Authentication
    • Products
    • Product detail
    • Countries
    • Errors & rate limits
  1. Docs
  2. Public API (/v1)
  3. Overview

Overview

Public API (/v1)

Shared rules of the /v1 API: base URL, response envelope, pagination and response language.

On this page
  • Base URL
  • Endpoints
  • Response envelope
  • Pagination
  • Response language
  • Prices & caching

Base URL#

Send every request over HTTPS to the address below. A Public API key is required (Authentication), and every response is JSON.

url
https://api.esimoa.com/v1

Endpoints#

EndpointDescription
GET /v1/esimsSearch eSIMs
GET /v1/esims/:idGet an eSIM
GET /v1/countriesList countries
GET /v1/openapi.jsonOpenAPI 3.1 spec (no key needed)

Response envelope#

Successful responses always include "success": true. Lists come in items and a single result in item.

json
// List endpoints
{ "success": true, "items": [ ... ], "total": 42, "limit": 10, "offset": 0, "sort": "price" }

// Detail endpoint
{ "success": true, "item": { ... } }

For error responses and status codes, see Rate limits & errors.

Pagination#

Lists are paged with limit (1–50, default 10) and offset. offset is always rounded down to a multiple of limit — for example limit=10, offset=15 is treated as offset=10. The offset in the response is the value actually used, and total is the full count.

Tip

Request the next page with offset + limit. Offsets that are not a multiple of limit could repeat items across pages, which is why they are rounded down.

Response language#

The lang parameter (ko | en | ja | zh-CN | zh-TW, default en) sets the language of country names, item titles and the purchase page that url points to. Match it to your user’s language.

Prices & caching#

Prices (priceKrw) are esimoa’s selling price as integer KRW. Prices change often — cache search results for a few minutes at most; the esimoa checkout is always the source of truth for the amount charged.

Last updated: October 1, 2026

PreviousAuthenticationNextList eSIMs

On this page

  • Base URL
  • Endpoints
  • Response envelope
  • Pagination
  • Response language
  • Prices & caching

APIs and MCP for bringing esimoa eSIMs to your product

Resources

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

esimoa

  • Home
  • eSIM plans
  • Developer Center
  • Dashboard
  • Partner portal

Company

  • About Us
  • Partnership
  • Terms of Service
  • Privacy Policy
  • Delivery & Refunds Policy

Support

  • 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 Headquarters: NBASE CORP. · Corporate Park, Irvine, CA 92606, USA

© 2026 esimoa. All rights reserved.