Jetpac Global APIjetpacglobal.com ↗
Access eSIM data plan pricing for 200+ destinations from Jetpac Global. Retrieve GB-based and unlimited plans with duration, price in USD, and cost per day.
What is the Jetpac Global API?
The Jetpac Global API exposes one endpoint, get_plans, that returns all available eSIM data plans for any of 200+ supported destinations. Each response includes structured plan objects covering data amount, validity duration, USD pricing, and a computed cost-per-day figure — for both fixed-GB tiers and unlimited plans. Supply a destination slug like japan-esim or united-states-of-america-esim and get back a complete list of purchase-ready options.
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 Jetpac Global API
What the API Returns
The get_plans endpoint accepts a single required parameter — destination — which is a slug string identifying the country or region (e.g. albania-esim, japan-esim). The response contains an array of plan objects and a total count of plans available for that destination. Each plan object carries country_name, data_amount, data_unit, duration_days, duration_unit, price_usd, currency, and cost_per_day. Plans are drawn from both fixed-GB tiers (grouped by validity period) and unlimited data options.
Plan Data Details
The cost_per_day field is computed per plan, giving you a normalized comparison metric without any client-side math. data_amount and data_unit together express the allotment (e.g. 1 GB, 5 GB, or an unlimited designation). duration_days and duration_unit specify validity windows, which typically range from short-trip durations to multi-week plans. All prices are expressed in USD via the price_usd and currency fields.
Coverage and Destination Slugs
The API covers 200+ destinations. Destination slugs follow a predictable pattern: lower-cased country name joined by hyphens with -esim appended. Multi-word countries use full names, so the United States becomes united-states-of-america-esim. If you are building a lookup table, you can iterate over known slug patterns or maintain a destination list based on Jetpac Global's published coverage.
The Jetpac Global API is a managed, monitored endpoint for jetpacglobal.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when jetpacglobal.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official jetpacglobal.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Build a travel app that surfaces the cheapest eSIM plan per day for a user's destination by comparing
cost_per_dayacross returned plans. - Aggregate eSIM pricing data across multiple destinations to identify price trends by region or duration tier.
- Power a trip-planning tool that recommends unlimited vs. fixed-GB plans based on trip length using
duration_daysanddata_amount. - Create a browser extension that shows eSIM plan options and USD pricing when a user searches for a destination.
- Monitor price changes over time for specific destination slugs by scheduling periodic calls to
get_plansand storingprice_usdsnapshots. - Provide a comparison widget for travel bloggers that lists plan tiers with
data_amountandcost_per_dayfor a featured country.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 200 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
| Team | $300/mo | 20,000 | 300 req/min |
| Company | $1,000/mo | 100,000 | 500 req/min |
Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Jetpac Global have an official developer API?+
How does `get_plans` distinguish between fixed-GB and unlimited plans?+
plans array. Fixed-GB plans carry a numeric data_amount with a data_unit like GB, while unlimited plans use an unlimited designation in the data_amount field. You can filter the array on data_amount to separate the two types.Are plans returned for every country Jetpac Global supports, or only a subset?+
total field will return 0.Does the API support filtering plans by price range or data amount within a single call?+
get_plans returns all plans for the given destination slug without server-side filtering. You can apply price or data-amount filters client-side using the price_usd and data_amount fields in the response. You can fork this API on Parse and revise it to add a filtered endpoint if you need query-time constraints.Can I retrieve a list of all valid destination slugs from the API?+
get_plans; there is no index or discovery endpoint that enumerates all supported slugs. You can fork this API on Parse and revise it to add a destination-listing endpoint.