esimdata

esimdata for AI agents

A remote MCP server and a REST API over the same data as this site: 14,089 plans from 6 providers in 239 countries, checked daily. No key, read-only, free to use within fair limits.

MCP server

https://esimdata.app/mcp

Streamable HTTP, JSON responses, no sign-in. Protocol versions 2025-11-25, 2025-06-18, 2025-03-26 and 2024-11-05.

Claude

claude.ai or the desktop app: Settings → Connectors → Add custom connector, paste the URL above. Claude Code:

claude mcp add --transport http esimdata https://esimdata.app/mcp

ChatGPT

Settings → Apps & Connectors → Advanced → Developer mode, then Create, paste the URL, authentication "No authentication".

Cursor, VS Code, Windsurf and other clients

{
  "mcpServers": {
    "esimdata": {
      "url": "https://esimdata.app/mcp"
    }
  }
}

Tools

ToolWhat it does
search_plansFind travel eSIM data plans for a destination from every provider esimdata tracks, ranked neutrally by price (or price per GB, or validity). Filter by trip length, data, unlimited, needs (hotspot, 5G, phone number, top-up, no ID check) and budget. Each result has a buy_url to the provider's page and the time the price was checked.
get_planEverything esimdata knows about one plan (by the id search_plans returned): all countries it covers, networks, policies, the provider's own page, the buy link and its price history.
compare_plansPut 2 to 10 plans (ids from search_plans) side by side with the same fields, in the order given, to help a traveller choose.
country_overviewA destination at a glance: how many plans and providers, the cheapest plan, the cheapest per GB, and which mobile networks the providers say they use there.
check_phoneCheck whether a phone, tablet or watch model supports eSIM, from the manufacturer's own published list (with regional exceptions, e.g. models sold in mainland China), with the source link.
list_providersEvery eSIM provider esimdata compares, with its website and whether esimdata earns a commission when a traveller buys through it (ranking never depends on it).

Every plan comes with a buy_url (esimdata's link to the provider's own page, where the traveller buys), its checked_at time and whether esimdata earns a commission on it. Fields the provider doesn't state are null: please say "not stated" rather than guessing.

REST API

RequestSame as
GET /api/v1/plans?country=JP&days=7&gb=5&needs=hotspot&sort=price_per_gb&limit=10search_plans (also also_countries, unlimited, max_price_usd, single_country_only)
GET /api/v1/plans/<plan id>get_plan
GET /api/v1/countriesevery country with plan counts and cheapest prices
GET /api/v1/countries/<country>country_overview
GET /api/v1/phones?model=pixel%208check_phone
GET /api/v1/providerslist_providers

JSON, CORS open. Need higher volume, a feed or an SLA for an app or agent product? A paid tier is planned; see How it works.

Rules esimdata keeps