Amazon Deals Scraper avatar

Amazon Deals Scraper

Pricing

$1.50 / 1,000 deals

Go to Apify Store
Amazon Deals Scraper

Amazon Deals Scraper

Scrapes Amazon Today's Deals / Coupons grids per marketplace — deal price, list price, discount %, badge (lightning/coupon/best-deal), deal end. Errors never charged.

Pricing

$1.50 / 1,000 deals

Rating

0.0

(0)

Developer

Torchtechnology LTD

Torchtechnology LTD

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Share

What does this Actor do?

Amazon Deals Scraper harvests the Today's Deals grid of any Amazon marketplace — including Lightning deals (with live countdown and computed deal end) and Coupon deals (with the effective coupon price) — across eighteen verified marketplaces: amazon.de, .com, .co.uk, .fr, .it, .es, .ca, .com.au, .co.jp, .in, .nl, .se, .pl, .com.be, .com.mx, .com.br, .ae, and .sa. For every deal you get ASIN, title, deal price and list price as structured numbers with the marketplace's own currency, discount percentage, the deal badge, deal end time when Amazon renders a countdown, and full provenance (marketplace, source URL, scrape timestamp).

It is designed for both humans and AI agents: deterministic JSON output, documented error semantics, and pay-per-result pricing where errors are never charged.

When to use this Actor

  • Deal monitoring — pull the current deals of one or all marketplaces on a schedule and feed your price-comparison, alerting, or affiliate pipeline.
  • Lightning-deal trackingdealType: "lightning" returns only time-boxed deals, each with dealEndsIn (raw countdown) and dealEndsAt (computed UTC timestamp).
  • Coupon harvestingdealType: "coupons" returns coupon offers with the effective after-coupon price (dealPrice) and the pre-coupon price (priceBeforeCoupon).
  • Category-scoped researchcategorySlug scopes the grid to a deals collection such as beauty, toys, or computers-and-software.

When not to use it: you need full product detail pages (use a product-data actor), historical price charts (use a price-monitor actor), or review texts (use a reviews actor).

Quickstart (API)

curl -X POST "https://api.apify.com/v2/acts/YOUR_USERNAME~amazon-deals/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"marketplaces": ["com", "co.uk", "de"],
"dealType": "all",
"maxItemsPerMarketplace": 50
}'

Or in the Console: pick the marketplaces, click Start, download as JSON/CSV/Excel/XML.

Input reference

FieldTypeDefaultDescription
marketplacesstring[]["com"]Marketplace codes: com, de, co.uk, fr, it, es, ca, com.au, co.jp, in, nl, se, pl, be, mx, br, ae, sa. Several per run are fine.
dealTypestringallall | lightning | coupons — filters the grid by deal kind. Ignored when categorySlug is set.
categorySlugstringOptional deals-collection category filter (locale-independent slug from the deals-page filter bubbles), e.g. beauty, toys, electronics, computers-and-software. Available slugs vary per marketplace; an unknown slug yields an uncharged no_results_found error item.
maxItemsPerMarketplaceinteger10Cap of unique deals per marketplace (the grid lazy-loads while scrolling; max 500).
minDiscountPercentintegerKeep only deals discounted by at least this many percent (0–95, parsed from the deal badge). Fail-closed: a deal whose badge carries no discount value does not match.
priceRangeobjectKeep only deals whose effective deal price is inside {"min": …, "max": …} (marketplace currency, inclusive bounds, either side optional). Fail-closed: a deal with no parsed deal price does not match.
primeOnlybooleanfalseKeep only deals the card marks as Prime (Prime badge/icon or Prime-exclusive badge). Fail-closed: a deal without a Prime marker does not match.
proxyConfigurationobjectbundled geo proxiesOptional — the actor ships with bundled geo proxies per marketplace (no setup needed, we cover the cost). Enable this only to force your own or Apify proxies instead.
proxiesByMarketplaceobjectBring-your-own geo-pinned proxies per marketplace ({"co.uk": ["http://…"]}). Overrides the bundled pool for the listed marketplaces.

All filters (minDiscountPercent, priceRange, primeOnly) apply after parsing but before charging: filtered-out deals never appear in the dataset and are never charged.

Output

One dataset item per unique deal:

{
"asin": "B0D3J7CKFR",
"dealId": "019c2bdd",
"itemId": "amzn1.asin.B0D3J7CKFR:amzn1.deal.019c2bdd",
"dealType": "best-deal",
"title": "Apple Pencil Pro: Advanced tools, pixel-perfect precision …",
"url": "https://www.amazon.com/dp/B0D3J7CKFR",
"thumbnailUrl": "https://m.media-amazon.com/images/I/…jpg",
"dealPrice": { "value": 99.0, "currency": "USD" },
"listPrice": { "value": 129.0, "currency": "USD" },
"priceBeforeCoupon": null,
"discountPercent": 23,
"primeExclusive": false,
"badgeText": "Limited time deal",
"dealEndsIn": null,
"dealEndsAt": null,
"marketplace": "com",
"sourceUrl": "https://www.amazon.com/deals",
"collection": null,
"input": "com",
"scrapedAt": "2026-08-18T17:45:12.543773+00:00"
}

A lightning deal additionally carries the countdown:

{
"dealType": "lightning",
"badgeText": "Endet in 04:27:08",
"dealEndsIn": "04:27:08",
"dealEndsAt": "2026-08-18T16:27:08+00:00"
}

A coupon deal carries the effective price in dealPrice and the regular price in priceBeforeCoupon:

{
"dealType": "coupon",
"dealPrice": { "value": 22.02, "currency": "EUR" },
"priceBeforeCoupon": { "value": 24.47, "currency": "EUR" },
"listPrice": { "value": 29.99, "currency": "EUR" }
}

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

Field reference

FieldDescription
asinAmazon Standard Identification Number.
dealIdAmazon's deal/coupon id when rendered (amzn1.deal.* / promo id).
itemIdFull provenance id of the card (amzn1.asin…:amzn1.deal…); used for dedupe.
dealTypelightning (countdown rendered), coupon (coupon card), best-deal (discounted deal without countdown), or null when no badge is rendered.
dealPriceEffective deal price, structured: value + marketplace currency. For coupons: the after-coupon price.
listPriceStrike-through reference price (e.g. UVP/RRP) when rendered.
priceBeforeCouponCoupon cards only: the price before the coupon is applied.
discountPercentParsed from the badge label (e.g. "27 % Rabatt" → 27).
primeExclusivetrue when the card renders a Prime marker (Prime icon or Prime-exclusive badge); used by the primeOnly filter.
badgeTextRaw localized badge message (e.g. "Befristetes Angebot", "Endet in …").
dealEndsIn / dealEndsAtLightning deals: raw remaining time (HH:MM:SS) and the computed UTC end timestamp.
marketplace / sourceUrl / collection / input / scrapedAtProvenance: which marketplace, which page, which filter, and when.

How much does it cost?

The Actor uses pay-per-event pricing: you pay one deal event per unique deal item delivered. Error items (blocked, transport, no_results_found, deals_page_unavailable) are pushed for transparency and are never charged. Duplicate deals are deduplicated before charging, and filters are applied before charging as well.

Tips

  • The deals grid lazy-loads while scrolling; the Actor scrolls until the requested number of unique deals is reached (or the grid is exhausted). Large maxItemsPerMarketplace values simply take longer.
  • Deal inventory changes during the day (lightning deals expire) — schedule runs for stable snapshots.
  • Use categorySlug to avoid paying for deals outside your niche.

FAQ, disclaimers, and support

  • Is this legal? The Actor scrapes publicly visible data only — no login, no personal data, no circumvention of technical protection measures. You are responsible for complying with applicable law and Amazon's terms in your jurisdiction.
  • Known limitations: Amazon renders deals client-side; rare hydration failures surface as an uncharged no_results_found error — just retry. Some marketplaces offer fewer deal collections than others; an unknown categorySlug is reported, never silently ignored. On some marketplaces (observed: it, es, se, be) Amazon currently serves a grid variant without prices — those deal items still carry ASIN, title, badge and discount %, with dealPrice/listPrice as null.
  • Price accuracy: prices are parsed from the localized card markup into typed numbers (value + marketplace currency); dealPriceString always keeps the raw text for auditing.
  • Feedback: please use the Issues tab of this Actor. Custom solutions (other marketplaces, other fields) are available on request.