apiwren
Amazon Data API · GET /deals

Amazon deals API

GET /deals returns the first page of Amazon’s Today’s Deals for one marketplace, about 30 deals. Each deal has a deal ID, ASIN, title, image, deal price, list price, savings percent, Amazon’s deal badge text such as “31% off”, and the percent already claimed.

Part of Amazon Data API, sold on RapidAPI with a free plan of 100 requests a month. Endpoint details checked 2026-11-03.

Get a free key on RapidAPIAll 17 endpoints

What GET /deals returns

The first page of Amazon's Today's Deals for one marketplace (about 30 deals), each with deal ID, ASIN, title, image, deal price, list price, savings percent, Amazon's deal badge text, percent claimed and end time. Null where Amazon shows no value; ends_at is usually null because the deals page does not publish end times. Only page 1 is available: Amazon serves the same deals for later pages. Every response is checked to come from the requested marketplace; a page from another country is never returned.

Parameters

NameRequiredValuesNotes
pageno1 to 1 (default 1)Only 1 is accepted: Amazon serves the same deals for later pages.
countrynoUS, CA, MX, BR, GB, DE, FR, IT, ES, NL, SE, PL, BE, TR, AE, SA, EG, IN, JP, SG, AU, IE, ZAAmazon marketplace, as an ISO country code. GB is amazon.co.uk. Default US (amazon.com).

Example request

Every parameter that has an example, with country set explicitly. Send your key in X-RapidAPI-Key.

curl --request GET \
  --url 'https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/deals?country=US' \
  --header 'X-RapidAPI-Key: YOUR_RAPIDAPI_KEY' \
  --header 'X-RapidAPI-Host: amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com'
import requests

resp = requests.get(
    "https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/deals",
    params={"country": "US"},
    headers={
        "X-RapidAPI-Key": "YOUR_RAPIDAPI_KEY",
        "X-RapidAPI-Host": "amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com",
    },
    timeout=30,
)
resp.raise_for_status()
body = resp.json()
if "error" in body:  # bad input or not found: HTTP 200 with an error body
    raise RuntimeError(f"{body['error']['code']}: {body['error']['message']}")
print(body["data"])
const url = new URL('https://amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com/deals');
url.search = new URLSearchParams({ country: 'US' });

const res = await fetch(url, {
  headers: {
    'X-RapidAPI-Key': process.env.RAPIDAPI_KEY,
    'X-RapidAPI-Host': 'amazon-data-api-search-product-reviews-best-sellers.p.rapidapi.com',
  },
});
const { data, meta } = await res.json();
console.log(data, meta.fetched_at);

Example response

A recorded response, shortened to 3 items per list.

200 OK
{
  "data": {
    "page": 1,
    "deals": [
      {
        "deal_id": "6395c5e8",
        "asin": "B07MJL8NXR",
        "title": "Premier Protein 30g High Protein Shake, Chocolate, 12 Pack | 160 Calories, 24 Vitamins & Minerals, No Added Sugar, Supports Muscle Health, Gluten-Free, 11.5 oz",
        "image": "https://m.media-amazon.com/images/I/71Y8GT3GYvL.jpg",
        "deal_price": 19.99,
        "list_price": 28.92,
        "currency": "USD",
        "savings_percent": 31,
        "deal_badge": "31% off",
        "percent_claimed": null,
        "ends_at": null,
        "url": "https://www.amazon.com/dp/B07MJL8NXR"
      },
      {
        "deal_id": "7d887165",
        "asin": "B079H53D2B",
        "title": "Physician's CHOICE Probiotics 60 Billion CFU - 10 Strains + Organic Prebiotics - Immune, Digestive & Gut Health - Supports Occasional Constipation, Diarrhea, Gas & Bloating - for Women & Men - 30ct",
        "image": "https://m.media-amazon.com/images/I/81WwpFusoAL.jpg",
        "deal_price": 17.49,
        "list_price": 29.97,
        "currency": "USD",
        "savings_percent": 42,
        "deal_badge": "42% off",
        "percent_claimed": null,
        "ends_at": null,
        "url": "https://www.amazon.com/dp/B079H53D2B"
      }
    ]
  },
  "meta": {
    "country": "US",
    "cached": false,
    "fetched_at": "2026-10-26T14:05:11.000Z"
  }
}

What people use it for

FAQ

Can I page through more deals?
No. Only page 1 is accepted, because Amazon serves the same deals on later pages.
Does it return when a deal ends?
ends_at exists but is usually null, because Amazon’s deals page does not publish end times.

Related endpoints

See all 17 endpoints and 23 marketplaces on the Amazon product API page.

Try GET /deals. The free plan covers 100 requests a month.

Get Amazon Data API on RapidAPI