{"ok":true,"site":{"host":"e-esim.com","url":"https://e-esim.com/","type":"live","desc":"Land online in 158 countries & regions. Travel eSIM, live in seconds — no roaming bill, no SIM shop runs, you'll be online before you get your luggage.","tools":[{"name":"search_esim_plans","kind":"answer","impl":"imperative","description":"Find e-eSIM travel eSIM plans for a destination (country or region). Returns the best-value plans with full specifications, prices and a direct link. Use when a user wants mobile data abroad. Present only returned facts. price is the full fixed plan price, never per day or per GB. Every All You Can Surf grade has a daily full-speed allowance, then a reduced speed - never call a plan uncapped. Mention validity_clock, expires_on and notice when present. Use url and all_plans_url exactly.","title":"Find eSIM plans","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"destination":{"type":"string","description":"Country or region in ANY language, e.g. \"Thailand\", \"Japon\", \"Europa\". City names are mapped to their country by you first."},"type":{"type":"string","enum":["daily_surf","trip_surf","all_you_can_surf","any"],"description":"Plan type filter. daily_surf = fresh allowance each day; trip_surf = one pool for the trip; all_you_can_surf = unlimited-style. Default any."},"currency":{"type":"string","description":"Optional ISO 4217 override. Defaults to the currency shown on the page the user is on."},"language":{"type":"string","description":"ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."},"limit":{"type":"integer","minimum":1,"maximum":50,"description":"How many plans to return, best value first. Default 10; all_plans_url always lists everything."}},"required":["destination"]},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"destination":{"type":"string","description":"Resolved destination label (localized)."},"slug":{"type":"string"},"covered":{"type":"boolean"},"from_price":{"type":"number","description":"Lowest full plan price in currency."},"currency":{"type":"string"},"plans":{"type":"array","items":{"type":"object","additionalProperties":true,"properties":{"product_id":{"type":"integer"},"name":{"type":"string","description":"Plan name, localized to the requested language where a translation exists."},"type":{"type":"string","description":"Daily Surf, Trip Surf or All You Can Surf. Brand names — keep in English."},"grade":{"type":"string","description":"All You Can Surf tier qualifier (empty for standard). Present only the returned value."},"data_gb":{"type":"number","description":"High-speed data in GB. PER DAY when data_period is per_day (Daily Surf); TOTAL for the whole validity when data_period is total (Trip Surf). 0 = no fixed high-speed cap stated."},"data_period":{"type":"string","description":"per_day or total — how data_gb applies."},"days":{"type":"integer","description":"Validity in days."},"throttle_kbps":{"type":"integer","description":"Speed in kbps after the high-speed allowance is used (for that day on per_day plans; for the rest of the trip on total plans). 0 = no throttle stated in this plan's specification."},"fup":{"type":"string","description":"All You Can Surf fair-use policy in plain words (daily full-speed allowance and the still-unlimited reduced speed afterwards). Present it as returned — every AYCS grade has such an allowance; empty for non-AYCS plans."},"data_reset":{"type":"string","description":"When the daily allowance refreshes (per_day plans only). Empty when unknown."},"validity_clock":{"type":"string","description":"What the days count means for THIS plan: either 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. \"ends 23:59 (UTC+8)\"). State it whenever it is present — a calendar-day plan bought in the evening loses most of its first day. Empty when unknown."},"expires_on":{"type":"string","description":"Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present, and do not recommend a day count that cannot finish before it. Empty for the vast majority of plans."},"notice":{"type":"string","description":"Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever it is non-empty — never omit or soften it. Empty when the plan has no caveat."},"carrier":{"type":"string","description":"Local network operator, when specified. NEVER invent one if empty."},"network":{"type":"string","description":"Network generation, e.g. 5G/4G. NEVER invent one if empty."},"coverage":{"type":"string","description":"Human-readable coverage label (localized)."},"price":{"type":"number","description":"FULL fixed price in currency; not per-day or per-GB."},"currency":{"type":"string"},"url":{"type":"string"},"family_id":{"type":"string","description":"Plans sharing a family_id are day-length variants of the same package."},"review_count":{"type":"integer"},"rating":{"type":"number"},"coverage_countries":{"type":"array","items":{"type":"string"},"description":"Localized country names covered (details tool only, multi-country plans)."},"description":{"type":"string"}}}},"all_plans_url":{"type":"string"},"message":{"type":"string"},"pricing_bucket":{"type":"string","description":"The language-region bucket the prices and links are quoted in: the one the customer is browsing, unless the agent asked for another language or currency."},"returned":{"type":"integer","description":"Number of plans in this result."},"total_available":{"type":"integer","description":"Number of plans the shop matched; the rest are on all_plans_url."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"get_plan_details","kind":"answer","impl":"imperative","description":"Full details for one e-eSIM plan by product id: data allowance, validity, network, throttle behaviour, daily reset, full coverage country list, reviews, description and link. Present only the returned fields; never invent carrier, speed or coverage details that are not in the result. price is the full fixed price. State validity_clock, expires_on and notice whenever they are present.","title":"Get plan details","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"product_id":{"type":"integer","description":"WooCommerce product id from search_esim_plans."},"language":{"type":"string","description":"ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."}},"required":["product_id"]},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"product_id":{"type":"integer"},"name":{"type":"string","description":"Plan name, localized to the requested language where a translation exists."},"type":{"type":"string","description":"Daily Surf, Trip Surf or All You Can Surf. Brand names — keep in English."},"grade":{"type":"string","description":"All You Can Surf tier qualifier (empty for standard). Present only the returned value."},"data_gb":{"type":"number","description":"High-speed data in GB. PER DAY when data_period is per_day (Daily Surf); TOTAL for the whole validity when data_period is total (Trip Surf). 0 = no fixed high-speed cap stated."},"data_period":{"type":"string","description":"per_day or total — how data_gb applies."},"days":{"type":"integer","description":"Validity in days."},"throttle_kbps":{"type":"integer","description":"Speed in kbps after the high-speed allowance is used (for that day on per_day plans; for the rest of the trip on total plans). 0 = no throttle stated in this plan's specification."},"fup":{"type":"string","description":"All You Can Surf fair-use policy in plain words (daily full-speed allowance and the still-unlimited reduced speed afterwards). Present it as returned — every AYCS grade has such an allowance; empty for non-AYCS plans."},"data_reset":{"type":"string","description":"When the daily allowance refreshes (per_day plans only). Empty when unknown."},"validity_clock":{"type":"string","description":"What the days count means for THIS plan: either 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. \"ends 23:59 (UTC+8)\"). State it whenever it is present — a calendar-day plan bought in the evening loses most of its first day. Empty when unknown."},"expires_on":{"type":"string","description":"Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present, and do not recommend a day count that cannot finish before it. Empty for the vast majority of plans."},"notice":{"type":"string","description":"Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever it is non-empty — never omit or soften it. Empty when the plan has no caveat."},"carrier":{"type":"string","description":"Local network operator, when specified. NEVER invent one if empty."},"network":{"type":"string","description":"Network generation, e.g. 5G/4G. NEVER invent one if empty."},"coverage":{"type":"string","description":"Human-readable coverage label (localized)."},"price":{"type":"number","description":"FULL fixed price in currency; not per-day or per-GB."},"currency":{"type":"string"},"url":{"type":"string"},"family_id":{"type":"string","description":"Plans sharing a family_id are day-length variants of the same package."},"review_count":{"type":"integer"},"rating":{"type":"number"},"coverage_countries":{"type":"array","items":{"type":"string"},"description":"Localized country names covered (details tool only, multi-country plans)."},"description":{"type":"string"},"pricing_bucket":{"type":"string","description":"The language-region bucket the prices and links are quoted in: the one the customer is browsing, unless the agent asked for another language or currency."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"start_checkout","kind":"transact","impl":"imperative","description":"Hand the customer to the e-eSIM shop to buy one plan. Returns buy_url (the product page where they tap Buy now to pay securely — card, Apple Pay, Google Pay) plus the plan name and price. No account needed; the eSIM is emailed right after payment. There is no in-chat order tracking and no discount-code field. Hand the customer to buy_url exactly as returned, as one clear link; the customer pays on that page. No cart is created here and there is no order tracking or discount code.","title":"Start secure checkout","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"product_id":{"type":"integer","description":"WooCommerce product id to buy."},"language":{"type":"string","description":"ISO language of the conversation, e.g. en, de, ja. Defaults to the language of the page the user is on."}},"required":["product_id"]},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"product":{"type":"string"},"price":{"type":"number","description":"Full fixed price in currency; not per-day."},"currency":{"type":"string"},"buy_url":{"type":"string","description":"The exact product page to send the customer to. Use verbatim."},"app_links":{"type":"object","description":"Optional links to the free e-eSIM app (android/ios) for tracking data usage after setup. Mention only when present."},"message":{"type":"string"},"pricing_bucket":{"type":"string","description":"The language-region bucket the prices and links are quoted in: the one the customer is browsing, unless the agent asked for another language or currency."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"get_locale_state","kind":"answer","impl":"imperative","description":"Read the current site locale: UI language, region and the active /{language-region}/ bucket of the page the user is on.","title":"Read site locale","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"language":{"type":"string","description":"ISO language code of the UI."},"region":{"type":"string","description":"Two-letter region code."},"bucket":{"type":"string","description":"language-region bucket, e.g. \"en-gb\"."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"set_language","kind":"act","impl":"imperative","description":"Switch the site to a supported language-region bucket such as \"de-de\" or \"en-gb\" and navigate to that locale; prices then show in that region's currency. Call get_locale_state first to see the current bucket.","title":"Switch site language","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"bucket":{"type":"string","description":"Lowercase language-region bucket, e.g. \"de-de\", \"en-us\", \"ja-jp\".","enum":["en-gb","en-ie","de-de","de-at","de-ch","nl-nl","fr-fr","fr-be","es-es","it-it","pt-pt","pl-pl","cs-cz","fr-lu","de-li","fr-mc","it-sm","it-va","en-mt","el-cy","el-gr","tr-tr","sv-se","nb-no","da-dk","fi-fi","sk-sk","hr-hr","bg-bg","lt-lt","lv-lv","et-ee","sl-si","ro-ro","ro-md","hu-hu","uk-ua","sr-rs","sr-me","hr-ba","is-is","en-us","en-ca","fr-ca","en-jm","en-tt","en-bz","es-mx","es-cr","es-co","es-pe","es-cl","es-uy","es-ar","pt-br","es-ec","es-sv","es-pa","es-bo","es-py","es-hn","es-gt","es-do","en-au","en-nz","en-za","en-ke","en-zw","ru-ru","ru-by","ru-kz","ru-uz","en-in","en-ph","en-my","en-pk","zh-cn","zh-sg","zht-tw","zht-hk","zht-mo","ja-jp","ko-kr"]}},"required":["bucket"]},"outputSchema":{"type":"object","properties":{"success":{"type":"boolean"},"switched_to":{"type":"string","description":"The bucket the page is navigating to."},"error":{"type":"string","description":"Present only when the bucket is invalid or unsupported."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"set_currency","kind":"act","impl":"imperative","description":"Switch the displayed currency by ISO 4217 code such as \"EUR\", \"USD\" or \"GBP\". Currency follows the region, so the site navigates to the matching region in the user's current language.","title":"Switch displayed currency","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{"code":{"type":"string","description":"ISO 4217 currency code, e.g. \"EUR\", \"USD\", \"GBP\".","enum":["GBP","EUR","CHF","PLN","CZK","TRY","SEK","NOK","DKK","RON","MDL","HUF","UAH","RSD","BAM","ISK","USD","CAD","JMD","TTD","BZD","MXN","CRC","COP","PEN","CLP","UYU","ARS","BRL","BOB","PYG","HNL","GTQ","DOP","AUD","NZD","ZAR","KES","RUB","BYN","KZT","UZS","INR","PHP","MYR","PKR","CNY","SGD","TWD","HKD","MOP","JPY","KRW"]}},"required":["code"]},"outputSchema":{"type":"object","properties":{"success":{"type":"boolean"},"currency":{"type":"string"},"switched_to":{"type":"string","description":"The bucket the page is navigating to."},"error":{"type":"string","description":"Present only when the code is unknown or unsupported."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"get_consent_state","kind":"answer","impl":"imperative","description":"Read the visitor's current cookie-consent state on this site. Necessary cookies are always on. Reports whether the visitor has decided yet and the on/off state of analytics, ads and personalized ads. By design there is no tool to grant consent: consent is given by a human on the banner.","title":"Read cookie consent","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"decided":{"type":"boolean","description":"true once the visitor has made any choice."},"necessary":{"type":"boolean","description":"Always true."},"analytics":{"type":"boolean"},"ads":{"type":"boolean"},"personalized_ads":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"reject_non_essential_cookies","kind":"act","impl":"imperative","description":"Opt the visitor out of all non-essential cookies (analytics, ads, personalized ads) and close the consent banner. Necessary cookies remain. Records a refusal only; it can never grant consent - that is a human decision by design. Use when the user wants to decline tracking.","title":"Refuse non-essential cookies","annotations":{"readOnlyHint":false,"consequentialHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","properties":{"success":{"type":"boolean"},"necessary":{"type":"boolean"},"analytics":{"type":"boolean"},"ads":{"type":"boolean"},"personalized_ads":{"type":"boolean"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/en-gb/","/en-gb/destination/japan/","/en-gb/destination/europe/","/en-gb/product/japan-7-days-unlimited-data-day/","/de-de/"]},{"name":"get_current_plan","kind":"answer","impl":"imperative","description":"Read the plan on the product page the user is viewing right now: the same facts as get_plan_details for that product, priced as shown on the page. Use when the user asks about \"this plan\" or the page they are on. No input. Present only the returned fields; never invent carrier, speed or coverage details that are not in the result. price is the full fixed price. State validity_clock, expires_on and notice whenever they are present.","title":"Read the plan on this page","annotations":{"readOnlyHint":true,"untrustedContentHint":true},"inputSchema":{"type":"object","properties":{}},"outputSchema":{"type":"object","additionalProperties":true,"properties":{"product_id":{"type":"integer"},"name":{"type":"string","description":"Plan name, localized to the requested language where a translation exists."},"type":{"type":"string","description":"Daily Surf, Trip Surf or All You Can Surf. Brand names — keep in English."},"grade":{"type":"string","description":"All You Can Surf tier qualifier (empty for standard). Present only the returned value."},"data_gb":{"type":"number","description":"High-speed data in GB. PER DAY when data_period is per_day (Daily Surf); TOTAL for the whole validity when data_period is total (Trip Surf). 0 = no fixed high-speed cap stated."},"data_period":{"type":"string","description":"per_day or total — how data_gb applies."},"days":{"type":"integer","description":"Validity in days."},"throttle_kbps":{"type":"integer","description":"Speed in kbps after the high-speed allowance is used (for that day on per_day plans; for the rest of the trip on total plans). 0 = no throttle stated in this plan's specification."},"fup":{"type":"string","description":"All You Can Surf fair-use policy in plain words (daily full-speed allowance and the still-unlimited reduced speed afterwards). Present it as returned — every AYCS grade has such an allowance; empty for non-AYCS plans."},"data_reset":{"type":"string","description":"When the daily allowance refreshes (per_day plans only). Empty when unknown."},"validity_clock":{"type":"string","description":"What the days count means for THIS plan: either 24-hour periods from activation, or calendar days ending at a fixed clock (e.g. \"ends 23:59 (UTC+8)\"). State it whenever it is present — a calendar-day plan bought in the evening loses most of its first day. Empty when unknown."},"expires_on":{"type":"string","description":"Hard supplier end date (YYYY-MM-DD) after which the plan stops working and unused data is lost, whatever validity the customer picks. Say it plainly when present, and do not recommend a day count that cannot finish before it. Empty for the vast majority of plans."},"notice":{"type":"string","description":"Customer-facing caveat for this plan in plain words: a daily cut-off, a coverage exclusion, an activation or verification step. Present it as returned whenever it is non-empty — never omit or soften it. Empty when the plan has no caveat."},"carrier":{"type":"string","description":"Local network operator, when specified. NEVER invent one if empty."},"network":{"type":"string","description":"Network generation, e.g. 5G/4G. NEVER invent one if empty."},"coverage":{"type":"string","description":"Human-readable coverage label (localized)."},"price":{"type":"number","description":"FULL fixed price in currency; not per-day or per-GB."},"currency":{"type":"string"},"url":{"type":"string"},"family_id":{"type":"string","description":"Plans sharing a family_id are day-length variants of the same package."},"review_count":{"type":"integer"},"rating":{"type":"number"},"coverage_countries":{"type":"array","items":{"type":"string"},"description":"Localized country names covered (details tool only, multi-country plans)."},"description":{"type":"string"},"pricing_bucket":{"type":"string","description":"The language-region bucket the prices and links are quoted in: the one the customer is browsing, unless the agent asked for another language or currency."}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/en-gb/product/japan-7-days-unlimited-data-day/","pages":["/en-gb/product/japan-7-days-unlimited-data-day/"]}],"category":"Travel & Events","favicon":"/favicons/e-esim.com.png","apiSurface":"spec","toolCount":9}}