Jetpacglobal APIjetpacglobal.com ↗
Compare eSIM data plans across 200+ destinations through Jetpac Global, viewing pricing, data amounts, plan durations, and unlimited options all in one place. Make informed decisions about international connectivity by instantly accessing the best available plans for your travel destination.
curl -X GET 'https://api.parse.bot/scraper/e0c3d65f-60eb-42ad-8fe7-0afaa4d8ea18/get_plans?destination=japan-esim' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace jetpacglobal-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""Walkthrough: Jetpac eSIM API — bounded, re-runnable; every call capped."""
from parse_apis.jetpacglobal_com_api import Jetpac, DestinationNotFound
client = Jetpac()
# Fetch all plans for Japan
japan = client.destinations.get(destination="japan-esim")
print(f"Found {japan.total} plans for {japan.country_name}")
# Show a few plans with typed attribute access
for plan in japan.plans[:3]:
print(plan.data_amount, "GB" if not plan.is_unlimited else "Unlimited",
plan.duration_days, "days", f"${plan.price_usd}", f"(${plan.cost_per_day}/day)")
# Handle a missing destination gracefully
try:
client.destinations.get(destination="nonexistent-esim")
except DestinationNotFound as e:
print(f"Not found: {e.destination}")
print("exercised: destinations.get")
Retrieves all available eSIM data plans for a destination. Returns both fixed GB plans (grouped by validity period) and unlimited data plans with pricing in USD. Each plan includes data amount, duration, price, and computed cost per day.
| Param | Type | Description |
|---|---|---|
| destinationrequired | string | Destination slug for the eSIM product page (e.g. 'japan-esim', 'albania-esim', 'united-states-of-america-esim'). Use the country name in lowercase with hyphens, followed by '-esim'. |
{
"type": "object",
"fields": {
"plans": "array of plan objects with country_name, data_amount, duration_days, price_usd, currency, data_unit, duration_unit, cost_per_day, is_unlimited",
"total": "total number of plans returned",
"country_name": "destination country name as displayed on the site"
},
"sample": {
"data": {
"plans": [
{
"currency": "USD",
"data_unit": "GB",
"price_usd": 34.99,
"data_amount": 40,
"cost_per_day": 1.17,
"country_name": "Japan",
"is_unlimited": false,
"duration_days": 30,
"duration_unit": "days"
},
{
"currency": "USD",
"data_unit": "Unlimited",
"price_usd": 65.99,
"data_amount": -1,
"cost_per_day": 2.2,
"country_name": "Japan",
"is_unlimited": true,
"duration_days": 30,
"duration_unit": "days"
}
],
"total": 24,
"country_name": "Japan"
},
"status": "success"
}
}About the Jetpacglobal API
The Jetpacglobal API on Parse exposes 1 endpoint for the publicly available data on jetpacglobal.com. Calls return JSON over HTTPS and are billed per successful response.
Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.