Developer documentation is currently available in English.
A world of plans.
One connection.
Bring travel connectivity into your app or AI assistant. Search destinations, compare published plans and help travelers get ready.
Meet your travel tools.
Add https://esimotter.com/mcp as a remote MCP server in a client that supports Streamable HTTP. Choose “OAuth or no authentication” in ChatGPT. Public tools work immediately; account tools prompt you to sign in and consent.
For clients with a JSON server configuration, use this example. Some clients require type: "http"; follow that client’s configuration format.
The endpoint is stateless: ordinary Streamable HTTP tool requests are supported. Long-lived SSE sessions and standalone GET streams are unavailable.
Explore the API contract ↗{
"mcpServers": {
"esim-otter": {
"url": "https://esimotter.com/mcp"
}
}
}REST endpoints & MCP tools
| REST · GET | What it returns | MCP tool |
|---|---|---|
/api/v1/destinations | Search countries, regional bundles and global destinations. | search_destinations |
/api/v1/destinations/{slug} | Compare current published plans and retail prices. | get_destination |
/api/v1/trips | Find one plan covering every country in a trip. | find_trip_plans |
/api/v1/devices | Find exact Apple, Google and Samsung model names. | list_devices |
/api/v1/compatibility | Check phone model, purchase region and unlocking. | check_phone_compatibility |
/api/v1/help | Search setup, activation and connectivity answers. | search_help |
Connect to ChatGPT.
In ChatGPT’s Plugins page, choose Add → Create MCP App. Use https://esimotter.com/mcp, choose OAuth or no authentication, and use dynamic client registration. Default scopes: account:read purchase:write offline_access.
Account tools: get_my_account, list_my_orders, get_my_order, list_my_esims, get_my_esim_usage and list_my_topups. Disconnect an app any time from your account.
Prepare a purchase.
prepare_purchase takes a published product ID and currency. For refills, also supply your eSIM ID and an eligible top-up product ID. It returns a review link tied to your account that expires after 24 hours.
You sign in, review the plan and final tax, and complete payment on the website. The tool never charges your card or reserves stock.
OAuth API: GET /api/v1/integrations/account for account resources; POST to prepare a purchase.
One request. Real results.
GET /api/v1/compatibility?model=iPhone%2015®ion=US&unlocked=yes
Choose an example and run a request.
Build with current information.
Prices are integers in minor currency units: 500 means $5.00 in USD. Prices exclude tax. Supported currencies: USD. Checkout rechecks prices and availability; an API result does not reserve a plan.
Keep requests modest.
REST and MCP share an approximate limit of 60 requests per minute per IP at each Cloudflare location. A rate-limited request returns HTTP 429 and Retry-After: 60. Public REST supports cross-origin GET requests without cookies.
Invalid inputs return HTTP 400; missing destinations return 404; temporary failures return 503. REST errors use {"error":"code"}. MCP tool failures use an error tool result.