# Woot Deals Scraper: Daily Flash Sales, Clearance & Stock Prices (`getascraper/woot-scraper`) Actor

Collect every active Woot deal: flash sales, clearance events, and daily specials from Woot by Amazon. Extract price, list price, discount percent, stock status, condition, category, and purchase limits as a flat, spreadsheet-ready feed. No residential proxy required. $1.99 per 1,000 results.

- **URL**: https://apify.com/getascraper/woot-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation
- **Features:** Limited permissions
- **Stats:** 6 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $0.60 / 1,000 product deals

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
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

## 🏷️ Woot Deals Scraper: Daily Flash Sales, Clearance & Stock Prices

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#FBF3E4;border:1px solid #F8E3C5;border-top:4px solid #E8A33D;color:#1C1917;border-radius:10px 10px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every live Woot deal, priced and ready before it sells out.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Pull every active flash sale, clearance event, and daily deal from Woot into one flat feed, with price, stock status, and condition on every row. No account, login, or proxy required.</span>
</td>
</tr>
</table>
<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0;margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F8E3C5;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 0 10px">
<span style="font-size:15px;font-weight:800;color:#976A28">📋 Full deal detail</span><br>
<span style="font-size:12px;color:#57534E">Price, list price, discount percent, condition, and category on every row, not just title and price.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F8E3C5;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#976A28">📦 Stock-aware</span><br>
<span style="font-size:12px;color:#57534E">Stock status and per-order purchase limits included, so you stop chasing deals that already sold out.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F8E3C5;border-left:none;vertical-align:top;border-top:none;color:#1C1917">
<span style="font-size:15px;font-weight:800;color:#976A28">🎯 Filter before you pay</span><br>
<span style="font-size:12px;color:#57534E">Set a price range, category, keyword, or in-stock-only before a run starts.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F8E3C5;border-left:none;vertical-align:top;border-top:none;color:#1C1917;border-radius:0 0 10px 0">
<span style="font-size:15px;font-weight:800;color:#976A28">🔓 No proxy required</span><br>
<span style="font-size:12px;color:#57534E">Runs reliably on standard access. No residential proxy subscription to keep results flowing.</span>
</td>
</tr>
</table>

### 🔍 What does Woot Deals Scraper do?

Woot (an Amazon subsidiary) runs time-limited flash sales and clearance events across computers, electronics, home goods, tools, and apparel. This scraper finds every active deal automatically, opens each one, and returns price, stock status, discount depth, and condition in a flat row ready for a spreadsheet or a pipeline.

1. Discovers all active deal events automatically.
2. Crawls event directory pages and lists.
3. Extracts product details directly from deal pages.
4. Returns a completely flat, spreadsheet-friendly dataset.

All data comes from public product specifications that Woot's own pages already publish. Nothing is guessed or inferred.

### 💡 Why use Woot Deals Scraper?

- **Retail arbitrage resellers:** Check a Woot clearance price against resale value on other marketplaces before committing to a lot.
- **Deal aggregators and newsletter curators:** Pull today's live Woot deals straight into your publishing queue instead of copying listings by hand.
- **Competitive intelligence analysts:** See exactly what Amazon is clearing out through Woot, and how deep the discount goes, broken out by category.
- **Price-tracking and monitoring builders:** Feed a recurring run into your own price history to track how Woot prices and stock move over time.
- **Inventory watchers:** Target a specific product or event link and get notified the moment it goes live or sells out.

### 🚀 How to use Woot Deals Scraper

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:16px 14px;width:33%;background:#FBF3E4;border:1px solid #F8E3C5;border-radius:10px 0 0 10px;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#8A6022;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick your scope</span><br>
<span style="font-size:12px;color:#57534E">Auto-discover every active Woot deal, or paste specific event and product links.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FBF3E4;border:1px solid #F8E3C5;border-left:none;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#8A6022;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set your filters</span><br>
<span style="font-size:12px;color:#57534E">Narrow by price range, category, keyword, condition, or in-stock-only before you pay for results.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FBF3E4;border:1px solid #F8E3C5;border-left:none;border-radius:0 10px 10px 0;vertical-align:top;color:#1C1917">
<span style="font-size:12px;font-weight:800;color:#8A6022;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Get your feed</span><br>
<span style="font-size:12px;color:#57534E">Download a flat dataset with price, stock, discount, and condition on every row.</span>
</td>
</tr>
</table>

Click **Try for free** on the Woot Deals Scraper page, choose auto-discover or specific URLs, set any filters you need, then click **Start**. Results appear in the Output tab and download as JSON, CSV, Excel, or HTML.

### 📥 Input

| Field | Type | Required | Description |
|---|---|---|---|
| `scrapeMode` | enum | Yes | Choose sitemap mode for all deals, or URLs mode for specific links |
| `startUrls` | array of URLs | No | Paste Woot event or product links directly, used in URLs mode |
| `minPrice` | number | No | Only save products priced at or above this amount |
| `maxPrice` | number | No | Only save products priced at or below this amount |
| `keyword` | string | No | Only save products whose title contains this keyword |
| `onlyNew` | boolean | No | Skip refurbished and used items |
| `filterByCategory` | string | No | Only save products in this category |
| `onlyInStock` | boolean | No | Skip products that are sold out |
| `maxItems` | integer | No | Maximum number of products to save |
| `proxyConfiguration` | object | No | Custom proxy settings if needed |

### 📤 Output

Each record is completely flat, meaning there are no nested arrays or objects. Download your data as JSON, CSV, or Excel directly from the Output tab.

```json
{
  "sku": "melissa-doug-scented-water-wow-9",
  "title": "Melissa & Doug Scented Water Wow!",
  "url": "https://home.woot.com/offers/melissa-doug-scented-water-wow-9?ref=w_cnt_wp_0_2",
  "price": 7.25,
  "currency": "USD",
  "availability": "InStock",
  "merchant": "Woot!",
  "image_url": "https://images-na.ssl-images-amazon.com/images/S/mediaservice.woot.com/7aeaf5f4-de45-42f2-9276-22e55b6e62da._SX368_.png",
  "list_price": 10.99,
  "discount_percent": 34,
  "condition": "New",
  "category": "Toys & Games",
  "max_quantity": 3,
  "specifications": "Specs\r\n                                In the Box:\n\n\n\t(1) Melissa & Doug Scented Water Wow! Reusable Water-Reveal Coloring Activity Pad Travel Toy – Fruit",
  "sale_ends_date": "2026-06-22T04:00:05Z",
  "scraped_at": "2026-06-22T18:03:44.833Z"
}
```

### 📊 Data table

| Field | Type | Description |
|---|---|---|
| `sku` | string | Unique slug extracted from the product URL |
| `title` | string | Official product title from Woot product details |
| `url` | string | Canonical product page URL |
| `price` | number | Deal price as a decimal (e.g. `7.25`) |
| `currency` | string | Currency code (always `USD` for Woot) |
| `availability` | string | `InStock` or `OutOfStock` from product details |
| `merchant` | string | Seller name (usually `Woot!`) |
| `image_url` | string | Direct link to the product cover image |
| `list_price` | number | Original list or retail price before discount, if present |
| `discount_percent` | number | Discount percentage |
| `condition` | string | Physical condition of the product |
| `category` | string | Broad product category |
| `max_quantity` | number | Maximum purchase quantity limit per order |
| `specifications` | string | Full product specs block as plain text |
| `sale_ends_date` | string | ISO 8601 datetime when the deal expires, if present |
| `scraped_at` | string | ISO 8601 extraction timestamp |

### 💰 Pricing

This Actor uses pay-per-event pricing. You are charged only for each active Woot product deal that is successfully parsed with a valid price and saved to the dataset.

You are not charged for expired, unavailable, or invalid deals that do not produce an output row. There is no subscription and no cost for a run that returns nothing.

### ⭐ Enjoying Woot Deals Scraper?

<table width="100%" style="display:table;width:100%;border-collapse:separate;border-spacing:0">
<tr>
<td style="padding:20px 24px 14px;background:#FBF3E4;border:1px solid #F8E3C5;border-left:5px solid #E8A33D;border-radius:10px 10px 0 0;color:#1C1917">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Turning Woot's flash sales into a feed you can actually act on?</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other resellers and deal aggregators find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#E8A33D;border:1px solid #E8A33D;border-left:5px solid #E8A33D;border-top:none;border-radius:0 0 10px 10px;text-align:center;color:#1C1917">
<a href="https://apify.com/getascraper/woot-scraper/reviews" style="display:block;padding:13px 16px;color:#444444;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ✨ Tips or advanced options

- **Sitemap mode is the most efficient:** It discovers all active deals in one pass, typically 100 to 500 products depending on active sales.
- **Enable In-Stock Only** to skip sold-out listings and save your result quota for live deals.
- **Schedule daily runs** via the built-in scheduler to maintain a fresh daily feed.
- **Woot resets deals at midnight CT:** Schedule your run around 00:15 CT to catch the freshest inventory.

### ❓ FAQ, disclaimers, and support

##### Is it legal to scrape Woot?

Yes. This tool accesses only publicly available product pages using standard public requests. It does not bypass paywalls, read private user accounts, or circumvent any access controls.

##### What if some products show no title?

A small number of Woot categories are dynamically generated on the client side and are skipped automatically.

##### Does this require a proxy?

No. Woot pages are served from public servers with standard protection. Custom proxy rotation is not required for standard volume.

##### How do I get support or report a bug?

Open an issue on the [Actor's Issues tab](https://apify.com/getascraper/woot-scraper/issues). For custom integrations, contact us through the Apify platform.

### 🔗 Other actors

- [DSW Scraper](https://apify.com/getascraper/dsw-scraper) ↗ - extracts footwear listings, prices, and sizes from DSW.com.
- [ThriftBooks Scraper](https://apify.com/getascraper/thriftbooks-scraper) ↗ - pulls used book prices, conditions, and inventory from ThriftBooks.
- [Swappa Scraper](https://apify.com/getascraper/swappa-scraper) ↗ - collects used electronics listings and prices from Swappa.
- [Whatnot Scraper](https://apify.com/getascraper/whatnot-scraper) ↗ - extracts live shows, products, and sellers from Whatnot.

# Actor input Schema

## `scrapeMode` (type: `string`):

How to discover products: auto-crawl all active deals via the Woot sitemap, or scrape a list of specific Woot URLs you provide.

## `startUrls` (type: `array`):

Woot event hub or product detail URLs to scrape. Used only when Scrape Mode is set to 'Specific URLs'. Example: https://home.woot.com/plus/toypalooza-1

## `minPrice` (type: `number`):

Only include products priced at or above this amount. Set to 0 to disable.

## `maxPrice` (type: `number`):

Only include products priced at or below this amount. Set to 0 for no upper limit.

## `keyword` (type: `string`):

Only include products whose title contains this keyword (case-insensitive). Leave empty to include all.

## `onlyNew` (type: `boolean`):

Skip refurbished and used items. Only keep products with condition listed as New.

## `filterByCategory` (type: `string`):

Only include products in this Woot category (case-insensitive partial match, e.g. 'electronics', 'computers', 'toys'). Leave empty for all categories.

## `onlyInStock` (type: `boolean`):

Skip products that are out of stock or sold out. Checks the schema.org availability microdata on each product page.

## `maxItems` (type: `integer`):

Maximum number of product deals to extract. Set to 0 for unlimited.

## `proxyConfiguration` (type: `object`):

Woot is hosted on standard CDN with no aggressive anti-bot. Datacenter proxies work perfectly. Residential proxies are not needed unless you encounter IP blocks at very high volumes.

## Actor input object example

```json
{
  "scrapeMode": "sitemap",
  "startUrls": [],
  "minPrice": 0,
  "maxPrice": 0,
  "keyword": "",
  "onlyNew": false,
  "filterByCategory": "",
  "onlyInStock": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

## `run` (type: `string`):

No description

# 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 = {
    "scrapeMode": "sitemap",
    "startUrls": [],
    "minPrice": 0,
    "maxPrice": 0,
    "keyword": "",
    "onlyNew": false,
    "filterByCategory": "",
    "onlyInStock": false,
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/woot-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 = {
    "scrapeMode": "sitemap",
    "startUrls": [],
    "minPrice": 0,
    "maxPrice": 0,
    "keyword": "",
    "onlyNew": False,
    "filterByCategory": "",
    "onlyInStock": False,
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/woot-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 '{
  "scrapeMode": "sitemap",
  "startUrls": [],
  "minPrice": 0,
  "maxPrice": 0,
  "keyword": "",
  "onlyNew": false,
  "filterByCategory": "",
  "onlyInStock": false,
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call getascraper/woot-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/woot-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/2Wloej8Qu80xcgeRX/builds/7X7ABfehILbjlTC38/openapi.json
