eSIMDB Travel eSIM Scraper avatar

eSIMDB Travel eSIM Scraper

Pricing

from $1.00 / 1,000 data plan rows

Go to Apify Store
eSIMDB Travel eSIM Scraper

eSIMDB Travel eSIM Scraper

Scrapes travel eSIM data plans from esimdb.com, either a full crawl of all countries/regions or a targeted scrape of specific country/region URLs.

Pricing

from $1.00 / 1,000 data plan rows

Rating

0.0

(0)

Developer

R.L.

R.L.

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

What does eSIMDB Travel eSIM Scraper do?

eSIMDB Travel eSIM Scraper extracts travel eSIM data plans from esimdb.com, the largest independent travel eSIM comparison site, covering 400,000+ prepaid plans from 200+ providers. It talks directly to the same JSON endpoints the site itself uses to render its country and region pages, so results come back fast and complete — no browser rendering or pagination clicking required. Run it on the Apify platform to get scheduled runs, API access, and integrations with Zapier, Make, Google Sheets, and more.

Why use eSIMDB Travel eSIM Scraper?

  • Price monitoring — track how travel eSIM prices for a country or region change over time.
  • Market research — compare data caps, validity periods, and pricing across every provider selling eSIMs for a destination.
  • Affiliate/comparison sites — power your own eSIM comparison tool with structured, up-to-date plan data.
  • Competitor analysis — see exactly which plans a competing provider offers and at what price.

How to use eSIMDB Travel eSIM Scraper

  1. Click Try for free or Run on the Apify platform.
  2. Choose a Scrape mode:
    • Full crawl — scrapes every country and region eSIMDB tracks (default). ⚠️ This is hundreds of thousands of unique plans, and at $1 per 1000 rows the bill scales accordingly. Before starting it, raise the run's Max total charge above the platform default, or the run will stop early once that cap is hit — the Actor logs its own row/cost estimate as soon as it starts.
    • Targeted — scrapes only the country/region URLs you provide, and is far cheaper.
  3. If using Targeted mode, add one or more eSIMDB country or region page URLs, e.g. https://esimdb.com/france or https://esimdb.com/region/europe.
  4. Click Start and wait for the run to finish.
  5. Download your results from the Storage tab in JSON, CSV, Excel, or other formats.

Input

FieldTypeDescription
modeStringfull or targeted.
startUrlsArrayCountry/region page URLs to scrape (targeted mode only).
proxyConfigurationObjectOptional proxy settings, useful if eSIMDB starts rate-limiting your IP.
includeAffiliateLinksBooleanFetch each provider's website/App Store/Google Play affiliate links (default: true).
maxConcurrencyIntegerMax parallel requests (default: 10).
requestDelaySecsNumberPoliteness delay between requests, in seconds (default: 0.3).

See the Input tab for the full schema.

Output

Each dataset item is one unique data plan. Plans sold across multiple countries or regions (e.g. a pan-European bundle) are listed identically under every destination on eSIMDB's own site — this Actor deduplicates those by plan ID across the whole run and instead lists everywhere that plan is sold in coverageCountries/coverageRegions, so you're not billed once per country for the same plan. Example:

{
"planId": "6a3a519761cac50f90a944d6",
"planName": "10GB / 7 Days",
"validityInfo": "",
"dataCapacityMb": 10000,
"isUnlimited": false,
"validityDays": 7,
"prices": { "USD": 8, "EUR": 8, "GBP": 7 },
"usdPrice": 8,
"has5G": true,
"isLowLatency": true,
"providerName": "Ubigi",
"providerSlug": "ubigi",
"providerWebsiteUrl": "https://go.ubigi.com/Jz5GLE",
"providerAppStoreUrl": null,
"providerPlayStoreUrl": null,
"coverageCountries": ["France"],
"coverageRegions": [],
"planUrl": "https://esimdb.com/france/ubigi"
}

You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.

Data table

FieldDescription
planName / planIdPlan name and unique ID
dataCapacityMb, isUnlimitedData allowance (0 + isUnlimited: true means unlimited/speed-capped)
validityDays, validityInfoHow long the plan lasts
prices, usdPrice, promoPrices, usdPromoPricePricing in listed currencies and USD
has5G, isLowLatency, tethering, telephonyPlan capabilities
providerName, providerSlug, providerCertifiedThe eSIM provider selling the plan
providerWebsiteUrl, providerAppStoreUrl, providerPlayStoreUrlThe provider's affiliate links, when eSIMDB has them
coverageCountriesEvery country this plan is sold under, as human-readable names
coverageRegionsEvery region this plan is sold under, as {slug, name} pairs
planUrlLink to this plan's page on eSIMDB (first listed country, or region if it's region-only)

Cost estimation

This Actor bills $1.00 per 1000 dataset rows (pay-per-event), not per compute unit — so cost scales with how many unique plans end up in your dataset, not how long the run takes or how many countries it touches. Plans sold in multiple countries are billed once, not once per country (see Output above).

  • Targeted mode: cost is exactly (unique plans returned / 1000) * $1. Scraping one mid-size country alone (e.g. ~13,000 raw listings) costs less than that once shared multi-country plans are deduplicated against whatever else you're scraping in the same run.
  • Full crawl: eSIMDB advertises 400,000+ plans site-wide, so a full crawl's bill is in that ballpark — the actual number depends on eSIMDB's current catalog. The raw per-country/region listing count (before dedup) is several times larger than that; the Actor logs both the raw listing estimate at startup and the real deduplicated row count once fetching finishes, so check those log lines rather than assuming a fixed number.

Before running a full crawl, raise the run's "Max total charge" (maxTotalChargeUsd) setting above the platform default — otherwise the run will stop early once that spending cap is hit, leaving you with a partial (but still billed) dataset. Compute-unit cost on top of that is low, since this Actor only makes lightweight HTTP requests (no browser rendering).

Because deduplication needs to see every scraped target before it knows which plans overlap, results are buffered in memory and pushed to the dataset in batches near the end of the run rather than streamed continuously — you won't see dataset items appear until fetching finishes.

Tips

  • Use Targeted mode with a small startUrls list when you only care about a handful of destinations — it's both faster and dramatically cheaper than a full crawl.
  • Before a full crawl, check the Actor's startup log for its row/cost estimate and set a Max total charge on the run that covers it, or the run will stop early.
  • Turn off includeAffiliateLinks if you don't need provider website/app-store links — it skips the extra per-provider page fetches (this doesn't affect the per-row price, only compute time).
  • Increase maxConcurrency for faster full crawls if eSIMDB isn't rate-limiting you; lower it (and raise requestDelaySecs) if you see request failures.
  • Enable proxyConfiguration if you start seeing failed requests due to IP-based rate limiting.

FAQ, disclaimers, and support

This Actor scrapes publicly available data from esimdb.com and respects its robots.txt. It is provided for research and comparison purposes; review eSIMDB's Terms of Use before large-scale or commercial use. Found a bug or want a custom version of this Actor? Open an issue in the Actor's Issues tab.