# Amazon Today's Deals Scraper (`fastdataapi/amazon-todays-deals-scraper`) Actor

Amazon Today's Deals Scraper — Extract Amazon deal data including product names, discounted prices, original prices, discounts, ratings, reviews, images, availability, ASINs, and product URLs. Useful for deal tracking, product research, price comparison, and e-commerce analysis.

- **URL**: https://apify.com/fastdataapi/amazon-todays-deals-scraper.md
- **Developed by:** [Fast Data API](https://apify.com/fastdataapi) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.19 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Amazon Today's Deals Scraper — Prices, Discounts and Deal Windows

Amazon Today's Deals Scraper reads Amazon's live Today's Deals feed on the US storefront and returns every discounted product as one structured JSON row: title, current price and savings, the deal window, star rating with the full review breakdown, and category and brand details. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a deal-monitoring pipeline. **No Amazon account, login or cookie is needed.** Start small, then raise the limit to track the full live set.

![Amazon Today's Deals Scraper output: deal price, savings and deal window as JSON](https://api.apify.com/v2/key-value-stores/Lg9lp51Levfro6SrV/records/h-amazon-deals-hero.webp)

***

### What data can I extract with Amazon Today's Deals Scraper?

Using this Amazon Deal API, you will be able to extract the following Amazon deal data:

| 🆔 ASIN | 📝 Product title | 🔗 Product link | 🖼️ Product image |
|---|---|---|---|
| 💲 Deal price | 🏷️ Original price | 💰 Money saved | 📉 Discount percentage |
| 💵 Currency | 🎯 Deal ID | 📦 Deal type | ✅ Deal status |
| 📅 Deal start time | ⏳ Deal end time | 💬 Deal badge label | 🗨️ Deal badge message |
| ⭐ Average rating | 🧮 Review count | 📊 5-star review share | 📊 4-star review share |
| 📊 3-star review share | 📊 2-star review share | 📊 1-star review share | 🗂️ Category |
| 🧩 Product type | 🏭 Product group code | 🏢 Brand ID | |

***

### How to use Amazon Today's Deals Scraper

Built for shoppers, deal publishers and AI agent builders who need what's discounted on Amazon right now: this amazon deals scraper turns Amazon's live Today's Deals feed into one row per real deal — so you can scrape amazon deals without opening a browser.

**Copy to your AI assistant:**

```text
`amazon-todays-deals-scraper` (Apify Actor ID: fastdataapi/amazon-todays-deals-scraper, https://apify.com/fastdataapi/amazon-todays-deals-scraper) is an Apify Actor that returns discounted Amazon products as structured JSON: ASIN, title, link, image, deal price, original price, savings amount and percentage, deal window, star rating and review breakdown, and category and brand. Use it whenever someone needs Amazon's current deals without cookies, a login, or a browser - tracking price drops, publishing a daily deals shortlist, or giving an AI shopping agent live discount data. Run it with curl: curl -X POST "https://api.apify.com/v2/acts/amazon-todays-deals-scraper/run-sync-get-dataset-items?token=APIFY_TOKEN" -H "Content-Type: application/json" -d '{"limit": 50}'. Or in Python: ApifyClient("APIFY_TOKEN").actor("amazon-todays-deals-scraper").call(run_input={"limit": 50}) then client.dataset(run["defaultDatasetId"]).list_items().items. Inputs: limit (integer, optional, how many real deals to collect, default 10, minimum 1, maximum 10000). Each real deal is pushed as the row_result event; promotional tiles with no price are dropped before anything is charged. There is no fixed per-run ceiling - the Actor reads the whole live feed and stops once it has limit deals or there are no more to find. Full input schema, every default, and the complete output field list: GET https://api.apify.com/v2/acts/amazon-todays-deals-scraper/builds/default
```

#### Amazon Today's Deals Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor

Point your AI assistant at Apify and it can find and call this Actor on its own: search for it, add it, and run it to read Amazon's live deals feed. No glue code, no scraping logic in your prompts.

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=fastdataapi/amazon-todays-deals-scraper"
```

#### Step by step

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open [Amazon Today's Deals Scraper](https://apify.com/fastdataapi/amazon-todays-deals-scraper) in the Apify Store.
3. Enter the number of deals to collect, or leave it at the default.
4. Click **Start** (or send your API request).
5. Download or stream your results in JSON, CSV or Excel.

#### How to scale Amazon Today's Deals Scraper to bulk

There is no list to batch — one run already reads the whole live Today's Deals feed across every category Amazon offers. To collect more than Amazon currently has live, raise the deal limit and schedule repeat runs; deals rotate through the day, so spaced-out runs cover more of the day's total than one long run. Use Apify Schedules to run it every morning, and an Apify webhook on run success to push new rows into your own system automatically.

***

### ✨ Features

Amazon Today's Deals Scraper fetches clean, structured deal data from Amazon's live Today's Deals feed ⚡ — useful as an amazon discount scraper or amazon promotions scraper for deal-alert pipelines, daily deal-publishing shortlists, pricing research, and giving AI shopping agents live discount context. It extracts, per deal:

- **Deal price and savings** – the current price against the list price, with the amount and percentage saved
- **Deal window** – when a promotion started and when it ends, plus Amazon's own badge text
- **Star rating and review breakdown** – average rating, review count and the full five-bucket star histogram
- **Category and brand** – website category, product type, product-group code and brand ID
- **Product identity** – ASIN, title, product link and image, deduplicated so the same product never appears twice

⚡ Built as an amazon goldbox scraper: rows are pushed to the dataset as soon as each one is ready, with nothing charged for a promotional tile that carries no price.

***

### Use cases 💡

- **Deal-alert builder** — build an amazon price drop scraper that alerts past a discount threshold.
- **Deal publisher** — turn today's biggest discounts into a morning deals post.
- **Pricing analyst** — track amazon deal monitoring by comparing deal price to list price per category.
- **AI shopping agent builder** — feed live deal rows into a RAG pipeline for grounded "what's on sale" answers.
- **Developer** — stream new rows into a database keyed on the product ID for a price-drop browser extension.

Building an AI agent? [Connect Amazon Today's Deals Scraper over MCP](#mcp-integration-for-ai-agents) and let it call the actor on its own.

***

### Why choose this actor?

1. **27 fixed fields on every deal, every run.** Product identity, pricing and savings, the deal window, star rating with the full five-bucket review histogram, and category and brand taxonomy all arrive on the same row, with no join needed.
2. **`null` over fake, always.** A field Amazon did not show for a product is written as `null`, never a substituted `0` or empty string, so averages and discount math stay honest.
3. **One setting, the whole live feed.** A single number controls how many deals come back — no URLs, categories or filters to configure; the Actor reads every category Amazon's deals page offers on its own.

***

### ⬇️ Input

![Amazon Today's Deals Scraper input: number of deals to scrape](https://api.apify.com/v2/key-value-stores/Lg9lp51Levfro6SrV/records/h-amazon-deals-input.webp)

The Actor takes one optional setting: how many real deals to collect. Leaving it out collects the schema default.

| Parameter | Required | Type | Description | Example value |
|---|---|---|---|---|
| `limit` | No | integer | How many real deals to collect. The Actor reads across every category Amazon's deals page offers until it has gathered this many, or there are no more live deals to find. Promotional tiles with no price are dropped and never counted. Default `10`, minimum `1`, maximum `10000`. | `100` |

#### Free plan limits

Free plan: up to 20 deals per run and 200 per month; paid plans have no limit.

#### Example input

```json
{
  "limit": 100
}
```

***

### ⬆️ Output

![Amazon Today's Deals Scraper output: one row per deal with price, savings and rating](https://api.apify.com/v2/key-value-stores/Lg9lp51Levfro6SrV/records/h-amazon-deals-output.webp)

Every real deal is one typed, normalized JSON item with the same 27 keys on every run. Export the dataset as JSON (default), CSV or Excel, or read it directly from the Apify API.

#### Example output

```json
{
  "asin": "B0D1XD1ZV3",
  "title": "Wireless Earbuds Bluetooth 5.4 Headphones, 48H Playtime, IPX7 Waterproof",
  "link": "https://www.amazon.com/Wireless-Earbuds-Bluetooth-Headphones/dp/B0D1XD1ZV3",
  "image": "https://m.media-amazon.com/images/I/71abcDEfGhL.jpg",
  "priceToPay": 25.49,
  "basisPrice": 39.99,
  "savingsAmount": 14.5,
  "savingsPercentageValue": 36,
  "currency": "USD",
  "dealId": "8e46b66b",
  "dealType": "BEST_DEAL",
  "dealState": "AVAILABLE",
  "dealStartTime": "2026-07-20T07:00:00Z",
  "dealEndTime": "2026-08-01T06:59:59.999Z",
  "dealBadgeLabel": "36% off",
  "dealBadgeMessage": "Limited time deal",
  "rating": 4.4,
  "reviewCount": 8480,
  "starsFivePercent": 72,
  "starsFourPercent": 12,
  "starsThreePercent": 7,
  "starsTwoPercent": 4,
  "starsOnePercent": 5,
  "category": "Consumer Electronics",
  "productType": "HEADPHONES",
  "glProductGroup": "gl_wireless",
  "brandId": "5209892"
}
```

Fields Amazon did not provide for a given product — most often the rating, review count, the star shares, the badge message or the brand ID — are returned as `null`, not a substituted `0` or empty string.

***

### How does it work?

The Actor reads Amazon's public Today's Deals page, the same one any visitor's browser loads, and goes wide across every category filter that page offers so it is not limited to the first screen. Each product tile is checked for a real, current price before it counts as a deal — a tile with no price is dropped, not guessed at. A request is first tried as a normal, direct connection with a realistic browser header set; if a response is genuinely blocked, it is retried automatically with backoff and, if still blocked, escalated to Apify's own proxy for one more attempt. There is nothing to configure for this. The Actor returns only data any visitor can see without logging in, and the output stays the same 27 keys from run to run, so your integration keeps working when Amazon changes its page.

***

### How do you integrate Amazon Today's Deals Scraper into your stack?

It works with what you already use: the REST API from any language, MCP for AI agents, and no-code tools.

#### Using Amazon Today's Deals Scraper with the Apify API

```python
import requests

response = requests.post(
    "https://api.apify.com/v2/acts/amazon-todays-deals-scraper/run-sync-get-dataset-items",
    params={"token": "APIFY_TOKEN"},
    json={"limit": 50},
)
for deal in response.json():
    print(deal["asin"], deal["title"], deal["priceToPay"], deal["savingsPercentageValue"])
```

*Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.*

#### MCP integration for AI agents

Add the Apify MCP server to your AI client with one command:

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=fastdataapi/amazon-todays-deals-scraper"
```

This registers Amazon Today's Deals Scraper as a tool your agent can call directly: the agent finds it through the server's search, adds it and runs it, then reads the deal rows back as JSON. It works in Claude Code, Cursor and Windsurf.

#### No-code tools (n8n, Make, LangChain)

**n8n:** add the Apify node and choose "Run an Actor", or use the HTTP Request node pointed at the run-sync endpoint with your token. Send high-discount rows to a Slack alert or a Google Sheet in the next node.

**Make:** use the Apify app's "Run an Actor" module, then "Get Dataset Items" to pull deal rows into the rest of your scenario.

**LangChain:** install `langchain-apify` and wrap the actor with `ApifyActorsTool("amazon-todays-deals-scraper")` so your agent can look up live deals on its own.

***

### Is it legal to scrape Amazon deal data?

Scraping publicly available Amazon product and pricing data is generally lawful in the US and EU, as long as you stay out of logged-in areas. Amazon Today's Deals Scraper returns only publicly available data — what any visitor sees on the deals page without logging in: ASINs, titles, prices, discounts, promotion windows, category codes, brand identifiers and aggregate review statistics. No reviewer names, review text or customer information is collected, so no personal data is processed. Amazon's own Terms of Service and database or compilation rights may still apply to how you use or republish the data, separately from data-protection law. Consult legal counsel if your use case involves bulk storage or redistribution of this data.

***

### Frequently asked questions

#### What fields does Amazon Today's Deals Scraper return?

It returns each deal's ASIN, title, link and image, current price and savings against the list price, the deal window, and star rating with the review breakdown. See [the data fields section](#what-data-can-i-extract-with-amazon-todays-deals-scraper) for the full list.

#### Does Amazon Today's Deals Scraper require an Amazon account or login?

No. Only public deal data is extracted, and no credentials are needed.

#### What happens if Amazon has no deals to show?

The run finishes with an empty dataset rather than guessing at data. Promotional tiles that carry no price are dropped the same way and are never charged.

#### Can I collect more deals than one run finds?

Yes. Raise the deal limit and schedule repeat runs — deals rotate through the day, so spaced-out runs cover more of the day's total than one long run. Deduplicate on ASIN and deal ID when you merge results across runs.

#### Does Amazon Today's Deals Scraper work with Claude, ChatGPT, and other AI agent tools?

Yes — it is available as an MCP tool. Register it in Claude Code, Cursor or Windsurf with `claude mcp add --transport http apify "https://mcp.apify.com?tools=fastdataapi/amazon-todays-deals-scraper"`. Any agent that can call an HTTP endpoint can use the REST API directly.

#### Does Amazon Today's Deals Scraper return data in a format LLMs can use directly?

Yes. Output is amazon deals json — typed, normalized, with consistent field names, no HTML parsing and no selectors. Pass it straight to an LLM, index it into a vector store, or feed it to an agent tool, with no transformation step.

#### What happens when Amazon changes its layout or updates its anti-bot system?

The Actor is maintained, and when Amazon changes its page, it is updated so your calls keep returning the same 27-key JSON shape with no changes on your end.

#### Can I use Amazon Today's Deals Scraper without managing proxies or browser infrastructure?

Yes. The Actor runs on a direct connection by default and only switches to Apify's own proxy on its own when a request is genuinely blocked, and no browser is needed. You send one request and get structured JSON back, with no proxy accounts and no maintenance.

#### Which Amazon deal fields work best for AI training data and RAG indexing?

For RAG, use the title, category and deal badge text — the plain-language fields a model can reason over directly. For training data and analytics, use the numeric fields: price, savings amount and percentage, rating, review count and the five star-share values. All fields are plain strings, numbers and nulls, so no normalization is needed.

***

### Your feedback

Found a bug or missing a field? Let us know on the Actor's Issues tab on its Apify Store listing. Every report is read, and fixes ship as new versions of the Actor.

# Actor input Schema

## `limit` (type: `integer`):

How many deals to collect. The Actor keeps reading Amazon's live deals listing, across every category it offers, until it has gathered this many real deals or there are simply no more live deals left to find. Non-deal filler rows are dropped and never counted. Free-plan users are limited to 20 items per run and 200 items per month; paid plans have no limit.

## Actor input object example

```json
{
  "limit": 10
}
```

# Actor output Schema

## `results` (type: `string`):

All scraped deals in the Actor's default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("fastdataapi/amazon-todays-deals-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("fastdataapi/amazon-todays-deals-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call fastdataapi/amazon-todays-deals-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fastdataapi/amazon-todays-deals-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/ABmnop03RzadwVskT/builds/W9TOn4RmpsB5hbYNN/openapi.json
