# Amazon Deals API

> Amazon Today's Deals and Lightning Deals as JSON: deal price, list price, saving and deal state per ASIN, filtered by department, discount and rating.

- URL: https://everydata.io/amazon-deals-api
- Updated: 2026-09-20
- Publisher: everydata.io (https://everydata.io)

Amazon's deals page concentrates the marketplace's time-limited discounts: Lightning Deals with a countdown, Best Deals, Prime-exclusive offers and the seasonal events built on them. The everydata.io Amazon Deals API reads that grid live for any marketplace and returns each deal with current price, reference price, saving and deal state. Filters for department, discount range, star rating, price range and Prime access map directly to the refinements on the page, and a companion endpoint tells you which filter values are valid right now.

## Key facts

- Platform: [Amazon Product Data API](https://everydata.io/apis/amazon) (live)
- Main endpoint: `GET /amz/amazon-search-deals-v2`
- Quota: A call to the Amazon API counts as 1 request against the monthly quota.
- Pricing: 100 free requests a month; paid plans from €30 a month for 5,000 requests (€1.00–€6.00 per 1,000 requests). One quota is shared across all 34 platforms; failed requests (5xx, blocked pages) are not counted.

## What you get

A deals response contains currentPage, lastPage, countDeals, domainCode and usedFilter – an echo of the refinement state that was applied, so you can verify your filters took effect. deals is the array of deal cards: id and dealType (BEST_DEAL, LIGHTNING_DEAL …), title, url, asin, price, retailPrice, savingAmount, savingPercentage, currency, dealState (AVAILABLE, and later states as the deal progresses), badgeMessage ("Limited time deal"), productRating, countReview, imgUrls and brand where Amazon shows one.

GET /amz/amazon-deal-filter-v2 returns the live filter vocabulary for a marketplace: departments as label/value pairs ("Appliances" → 2619526011), discountRange steps ("10% off or more" → 1), minProductStarRating, priceRange bands, accessType for Prime Exclusive and Prime Early Access, brands and active collections such as Lightning deals. Feed these values into the deals endpoint rather than hard-coding them – department IDs and bands differ per marketplace.

- Deal price, list price, savingAmount and savingPercentage as numbers with currency
- dealType, dealState and badgeMessage to distinguish Lightning Deals from ongoing Best Deals
- ASIN, product URL, images, rating, review count and brand per deal card
- Filters: departments, discountRange (1–5), minProductStarRating (1–4), priceRange (1–5), primeEarly, primeExclusive
- Filter-discovery endpoint with valid department IDs, bands and active collections per marketplace
- 30 deals per page, mirroring Amazon's own grid
- Every marketplace by domainCode – com, de, co.uk, fr, it, es, ca, co.jp and more

## How it works

Call GET /amz/amazon-search-deals-v2 with domainCode and page. Add departments with one or more IDs from the filter endpoint (comma separated), discountRange, minProductStarRating, priceRange as single digits, and primeEarly or primeExclusive as booleans. The example requests deals in the Appliances department with at least 25 % off and a 4-star minimum.

```bash
curl -s "https://api.everydata.io/amz/amazon-search-deals-v2?domainCode=com&page=1&departments=2619526011&discountRange=2&minProductStarRating=4" \
  -H "x-api-key: YOUR_API_KEY"
```

Response (shortened):

```json
{
  "responseStatus": "PRODUCT_FOUND_RESPONSE",
  "responseMessage": "Product successfully found!",
  "currentPage": 1,
  "lastPage": 2,
  "countDeals": 30,
  "domainCode": "com",
  "usedFilter": {
    "state": {
      "refinementFilters": {
        "departments": [
          "2619526011"
        ],
        "reviewRating": [
          "4"
        ],
        "percentOff": [
          "2"
        ]
      }
    },
    "version": 1
  },
  "deals": [
    {
      "id": "35911091",
      "dealType": "BEST_DEAL",
      "title": "Ultra Pain Relief Cooling Pillow for Neck Support, Adjustable Cervical Pillow, Odorless Ergonomic Contour Memory Foam",
      "url": "https://www.amazon.com/Adjustable-Cervical-Sleeping-Ergonomic-Orthopedic/dp/B0C1GQ54QD",
      "price": 31.32,
      "retailPrice": 52.22,
      "savingAmount": 20.9,
      "savingPercentage": 40,
      "asin": "B0C1GQ54QD",
      "badgeMessage": "Limited time deal",
      "productRating": "4.2",
      "countReview": 23511,
      "currency": "USD",
      "dealState": "AVAILABLE"
    }
  ]
}
```

Paging follows the deals grid one-to-one: 30 cards per page. lastPage is what Amazon's pagination showed at fetch time, but the deals page is a moving target – deals sell out, new Lightning Deals start – so the safe loop is to increment page until the deals array comes back empty rather than stopping at lastPage. Deduplicate by id or asin, because a card can shift from page 2 to page 1 between two calls.

Not every card carries every field. Cards that Amazon renders without a deal badge – often "related" products at the end of a grid – arrive without price, retailPrice or dealType. Treat savingPercentage as the authoritative discount and retailPrice as Amazon's reference price, which may be a list price or a recent typical price depending on the marketplace.

productRating is a bare string like "4.2" on deal cards, unlike the "4.2 out of 5 stars" form on product pages. A department ID that does not exist for the marketplace returns an empty deals array with your filter echoed in usedFilter.

## What teams build with this

### Deal aggregator and alert services

Poll the deals grid every few minutes on Prime Day or Black Friday, filter on savingPercentage and productRating, and push new Lightning Deals to subscribers before they sell out.

### Competitive promotion monitoring

Brands watch which competitors run deals in their department, how deep the discount goes and how long a deal stays AVAILABLE – input for their own promo calendar.

### Affiliate content

Generate daily "best deals under 25 in Electronics" pages from priceRange and departments filters, linking each ASIN with your tag.

### Price-anomaly research

Store retailPrice alongside the price-history endpoint to check whether deal reference prices reflect real recent prices.

## Pricing

Each deals page and each filter lookup is one request; the filter vocabulary changes rarely, so fetch it once a day per marketplace. A tracker polling five departments every ten minutes across two pages uses about 43,000 requests a month – the Production plan (50,000 requests, €80) covers it, with event-day bursts billed as overage at €3 per 1,000. Upstream 5xx responses are never billed.

## FAQ

### How do I find valid department IDs?

Call GET /amz/amazon-deal-filter-v2 with the domainCode. departments lists label/value pairs such as "Appliances" → 2619526011; pass the value to the deals endpoint. IDs differ between marketplaces, so look them up per domainCode.

### What do discountRange and priceRange values mean?

They are the ordinal positions of the bands Amazon offers – for example discountRange 1 is "10% off or more" and 2 is "25% off or more"; priceRange 1 is "Under 25". The filter endpoint returns the current labels for each value.

### Why does page 3 return an empty array although lastPage said 4?

The deals grid changes continuously as deals expire and start, so the page count at your first call may not hold a minute later. Loop until the deals array is empty and deduplicate by id.

### Can I request only Lightning Deals?

Not by a dedicated parameter, but each card carries dealType and badgeMessage, so filter client-side for LIGHTNING_DEAL. The filter endpoint's collections field shows whether a Lightning-deals collection is currently active.

### Does the API return the deal countdown?

No. dealState tells you whether the deal is currently AVAILABLE, but the countdown timer and claimed-percentage bar are not included. Poll at short intervals to detect sell-outs quickly.

## Related use cases

- [Amazon Price Tracker API](https://everydata.io/amazon-price-tracker-api)
- [Amazon Best Sellers API](https://everydata.io/amazon-best-sellers-api)
- [Amazon Search Results API](https://everydata.io/amazon-search-results-api)
- [Walmart Product API](https://everydata.io/walmart-product-api)

## More

- [All platforms](https://everydata.io/apis) · [Pricing](https://everydata.io/pricing) · [API reference](https://everydata.io/docs) · [Getting started](https://everydata.io/docs/getting-started) · [MCP server](https://everydata.io/docs/mcp) · [Status](https://everydata.io/status)
- Machine-readable: [llms.txt](https://everydata.io/llms.txt), [llms-full.txt](https://everydata.io/llms-full.txt), [OpenAPI](https://api.everydata.io/openapi.json)
