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

Collect active flash sales, clearance offers, and daily deals from Woot by Amazon. Save accurate price cuts, stock status, category fields, and product conditions directly to spreadsheets to spot profitable arbitrage.

- **URL**: https://apify.com/getascraper/woot-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## 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/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

### What does Woot scraper do?

Get current, high-performing deal listings from Woot by Amazon: price cuts, stock status, category fields, specifications, images, and product conditions, ready for your spreadsheets in under 10 seconds. This scraper connects directly to public directories unblocked, meaning no accounts or API keys are required. Built for retail arbitrage researchers, deal aggregators, e-commerce dropshippers, and market analysts compiling top deal opportunities.

Woot (an Amazon subsidiary) runs time-limited flash sales and clearance events across computers, electronics, home goods, and apparel. This tool:

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 is structured from public specifications embedded by Woot's own systems. There are no fragile scrapers. No complex page rendering is required.

### Why use Woot scraper?

- **Deal aggregators:** Feed Woot flash sales into your deal-of-the-day site or newsletter.
- **Retail arbitrage:** Monitor clearance prices for profitable resale opportunities.
- **Price tracking:** Build a historical archive of Woot deal prices and availability.
- **Competitive intelligence:** Track what Amazon is clearing at what price points by category.
- **Inventory alerts:** Watch for specific products and get notified when they go live.

### How to use Woot scraper

1. Go to the Woot scraper page on the Apify Store and click **Try for free**.
2. Choose a search mode:
   - **Auto-discover from sitemap:** Crawls all active deals across every Woot category automatically.
   - **Specific URLs:** Paste one or more Woot event or product links to target a specific sale.
3. Set an optional limit for **Max Items** and enable **In-Stock Only** filtering.
4. Click **Start**. Your results will appear in the Output tab within seconds.
5. Download your data 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. You can 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 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.

### 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/actorstack/woot-scraper/issues). For custom integrations, contact us through the Apify platform.

# 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("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).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": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=getascraper/woot-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Woot Scraper: Daily Deals, Flash Sales & Clearance Prices",
        "description": "Collect active flash sales, clearance offers, and daily deals from Woot by Amazon. Save accurate price cuts, stock status, category fields, and product conditions directly to spreadsheets to spot profitable arbitrage.",
        "version": "0.1",
        "x-build-id": "qAFCpYhEzRU82aWrO"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~woot-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-woot-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/getascraper~woot-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-woot-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/getascraper~woot-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-woot-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "scrapeMode": {
                        "title": "Scrape Mode",
                        "enum": [
                            "sitemap",
                            "urls"
                        ],
                        "type": "string",
                        "description": "How to discover products: auto-crawl all active deals via the Woot sitemap, or scrape a list of specific Woot URLs you provide.",
                        "default": "sitemap"
                    },
                    "startUrls": {
                        "title": "Start URLs",
                        "type": "array",
                        "description": "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",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "minPrice": {
                        "title": "Min Price (USD)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only include products priced at or above this amount. Set to 0 to disable.",
                        "default": 0
                    },
                    "maxPrice": {
                        "title": "Max Price (USD)",
                        "minimum": 0,
                        "type": "number",
                        "description": "Only include products priced at or below this amount. Set to 0 for no upper limit.",
                        "default": 0
                    },
                    "keyword": {
                        "title": "Keyword Filter",
                        "type": "string",
                        "description": "Only include products whose title contains this keyword (case-insensitive). Leave empty to include all.",
                        "default": ""
                    },
                    "onlyNew": {
                        "title": "New Condition Only",
                        "type": "boolean",
                        "description": "Skip refurbished and used items. Only keep products with condition listed as New.",
                        "default": false
                    },
                    "filterByCategory": {
                        "title": "Filter by Category",
                        "type": "string",
                        "description": "Only include products in this Woot category (case-insensitive partial match, e.g. 'electronics', 'computers', 'toys'). Leave empty for all categories.",
                        "default": ""
                    },
                    "onlyInStock": {
                        "title": "In-Stock Only",
                        "type": "boolean",
                        "description": "Skip products that are out of stock or sold out. Checks the schema.org availability microdata on each product page.",
                        "default": false
                    },
                    "maxItems": {
                        "title": "Max Items",
                        "minimum": 0,
                        "maximum": 100000,
                        "type": "integer",
                        "description": "Maximum number of product deals to extract. Set to 0 for unlimited.",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "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.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
