Ecommerce Shipping & Returns Scraper avatar

Ecommerce Shipping & Returns Scraper

Pricing

from $15.00 / 1,000 store analyzeds

Go to Apify Store
Ecommerce Shipping & Returns Scraper

Ecommerce Shipping & Returns Scraper

Bulk ecommerce shipping scraper: carriers, return portals, free-shipping thresholds, PUDO pickup, shipping software. $15/1k stores. EU policy pages.

Pricing

from $15.00 / 1,000 store analyzeds

Rating

0.0

(0)

Developer

Pequod

Pequod

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

19 hours ago

Last modified

Share

Ecommerce Shipping Intelligence

Turn any list of ecommerce domains into a structured shipping & returns intelligence dataset — carriers, return portals, free-shipping thresholds, pickup points, and the shipping software stack behind each store.

No API keys, no LLM costs, no scraping setup. Paste domains, get enriched profiles.

Why this Actor

Shipping and returns data is public — it sits on policy pages, FAQs and footers — but collecting it manually takes 10–15 minutes per site. This Actor does it in seconds per domain, at scale, and returns clean, queryable fields:

  • Which carriers does this merchant use? (DHL, GLS, PostNL, UPS, Colissimo, InPost, …)
  • Do they have a branded return portal, or do returns go through email? (Loop, Outvio, ReturnGO, Narvar, AfterShip, and 30+ more vendors detected)
  • What is their free-shipping threshold? (stated in EUR)
  • Do they offer pickup points / PUDO or click & collect?
  • Which shipping software runs behind the store? (multi-carrier platforms, tracking suites, returns SaaS)
  • Which ecommerce platform? (Shopify, WooCommerce, Magento, PrestaShop, …)
  • Do they ship internationally?

Who uses it

You areYou get
Logistics / carrier sales teamProspect lists segmented by current carrier mix — target merchants using a competitor, or single-carrier stores ready for multi-carrier
Returns / post-purchase SaaSMerchants with manual, email-only returns flows — your exact ICP — plus stores already using a competitor's portal
Shipping software vendorThe software stack each merchant already runs, so you qualify before the first call
Market researcher / analystFree-shipping thresholds, PUDO adoption, international-shipping rates across whole markets
Agency / consultantInstant shipping-experience audits for pitches and benchmarks

How it works

  1. Fetches each homepage with browser-like headers (SSL fallback included)
  2. Discovers shipping, returns, FAQ and tracking policy pages — multilingual: full rule coverage for EN, IT, DE, FR, NL, ES, PT, PL, SV, DA, NO, FI, CS, RO, HU, EL; AI enhancement reads everything else
  3. Recovers missing pages via sitemap parsing, canonical path probing and nav-link ranking
  4. Runs 200+ deterministic detection rules refined on thousands of real European stores — no hallucinations, every field is backed by on-page evidence
  5. When a policy page is written in a way the rules can't parse — "you have two weeks to change your mind" instead of "14 days" — AI enhancement reads it and fills the gap. Every AI answer must point at an exact sentence from the page; if that sentence isn't there, the answer is thrown away. Fields recovered this way are marked in llm_enhanced_fields, so you always know which values came from rules and which from AI

Quick start

{
"domains": ["velasca.com", "bergfreunde.de"],
"proxyConfiguration": { "useApifyProxy": true }
}

That's it. One dataset item per domain.

Input options

  • domains (required): list of ecommerce domains or URLs
  • concurrency (optional, default 5): parallel domains (1–20)
  • proxyConfiguration (optional, recommended): Apify Proxy avoids IP blocks (403/429) from ecommerce WAFs
  • pushFailed (optional, default false): unreachable domains are kept out of the dataset, so you only pay for successfully analyzed domains. They are always listed in the FAILED_DOMAINS record of the key-value store; set to true to also push them as dataset items
  • browserFallback (optional, default false): render the homepage with a headless browser when plain HTTP fails — recovers JS-only storefronts and hard WAFs (2048 MB memory suggested)
  • aiEnhanced (optional, default true): when the rules can't read an oddly-worded policy page, a language model extracts the missing fields. Every AI answer is verified against the page text before being accepted — values are never invented. Enhanced results are billed as a separate event; turn off to pay the base price only

Example output

{
"domain": "bergfreunde.de",
"canonical_domain": "bergfreunde.de",
"carriers": ["DHL"],
"carriers_state": "detected",
"return_portal_state": "unknown",
"return_window_days": 7,
"international_state": "ships_intl",
"ecommerce_platform": "Shopware",
"discovered_policy_urls": {
"shipping": ["https://www.bergfreunde.de/hochtouren/"],
"returns": ["https://www.bergfreunde.de/rueckgabe/"],
"faq": ["https://www.bergfreunde.de/faq/"]
},
"shipping_pages_fetched": 4
}

Output fields

FieldDescription
domainInput domain
carriersDetected carrier brands (e.g. DHL, GLS, PostNL)
carriers_statedetected, no_carrier_proven, or unknown
return_portal_statehas_portal, manual_only, or unknown
returns_portalBranded returns vendor when detected (Loop, Outvio, ReturnGO, …)
return_window_daysStated return window in days
free_shipping_threshold_eurFree-shipping threshold in EUR when stated
pickup_state / pickup_vendorsCarrier PUDO / pickup point detection
click_and_collectMerchant store pickup
detected_tools / detected_vendorsShipping/returns software stack on site
ecommerce_platformShopify, WooCommerce, Magento, …
international_stateships_intl, domestic_only_proven, or unknown
tracking_vendorBranded tracking platform when present
discovered_policy_urlsPolicy URLs found and fetched per category

Every state field distinguishes proven facts from unknown — the Actor never guesses. unknown means the public pages don't say; it never fabricates a value.

Reliability

  • Unreachable homepage + proxy configured → automatic retry on a fresh proxy session (new exit IP)
  • Domains that still fail are listed in the FAILED_DOMAINS record of the run's key-value store, so you always know exactly what to re-run
  • Failed domains are not pushed to the dataset by default — you never pay for empty results
  • AI enhancement never overrides the rules: it only fills fields that would otherwise be unknown, and only with values it can prove with a quote from the page. You are only charged the AI event when it actually recovered something

Limitations

  • JavaScript-only storefronts may return partial profiles from plain HTTP — enable browserFallback to recover them
  • Hard WAFs: a small share of sites block all automated traffic; these end up in FAILED_DOMAINS instead of producing bad data
  • Checkout-only signals: pickup options shown only at checkout may not appear on policy pages (pickup_state: unknown)
  • Free-shipping thresholds in local currency (zł, kr, Kč, Ft, lei): the deterministic parser extracts EUR thresholds only; local-currency amounts are recovered via AI enhancement when a verbatim quote is found on the page

Questions or feature requests?

Open an issue on the Actor's page — feedback on new carriers, vendors or markets to detect is welcome.