# Woot Product Search Scraper (`soft_alexist/woot-product-search-scraper`) Actor

Scrape product listings and deal information from Woot.com effortlessly. This scraper extracts 11 key fields including product titles, photos, deal end dates, featured status, and sold-out indicators — perfect for deal aggregators, price monitors, and market researchers.

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

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — 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

## Woot.com Product Search Scraper: Capture Deals & Product Data Fast

***

### What Is Woot.com?

Woot.com is a leading flash-sale and deals marketplace owned by Amazon, specializing in electronics, home goods, apparel, and various other products at deeply discounted prices. The platform rotates daily deals, featured products, and category-specific sales, making it a goldmine for bargain hunters and data analysts alike. However, manually tracking products across Woot's search pages and monitoring deal status is laborious — the **Woot.com Product Search Scraper** automates this workflow, delivering structured product and deal data in seconds.

***

### Overview

The **Woot Product Search Scraper** extracts comprehensive product and deal information from Woot.com search and category pages, converting unstructured listings into clean, machine-readable records. It is ideal for:

- **Deal aggregators** building real-time deal feeds and price comparison sites
- **E-commerce researchers** analyzing Woot's product catalog and pricing trends
- **Price monitors** tracking deal status, availability, and featured placement
- **Marketplace analysts** studying flash-sale dynamics and inventory turnover
- **Inventory managers** monitoring sold-out indicators and restocking patterns

Key advantages include flexible pagination support, configurable item limits, and fault tolerance through `ignore_url_failures` for reliable bulk data collection.

***

### Input Format

The scraper accepts a JSON configuration object to control data collection:

```json
{
    "urls": [
        "https://www.woot.com/alldeals?ref=w_ngh_et_1&page=2"
    ],
    "max_items_per_url": 200,
    "ignore_url_failures": true
}
```

| Parameter | Type | Description |
|---|---|---|
| `urls` | Array | Direct links to Woot product list pages (e.g., search results, category pages, or paginated deal lists). Supports multiple URLs for batch scraping. |
| `max_items_per_url` | Integer | Maximum number of products to extract per URL (e.g., `200`). Useful for controlling data volume and scraping costs. |
| `ignore_url_failures` | Boolean | If `true`, the scraper continues running even if individual URLs fail. Recommended for robust, uninterrupted bulk operations. |

**Example usage:**

- Single URL: Scrape page 2 of all deals
- Multiple URLs: Mix category pages (`/deals/electronics`) with search results
- Pagination: Include URLs with different page numbers to collect sequential results

> **Tip:** Start with `max_items_per_url: 100` for testing, then increase to `200` for production runs to balance speed and data completeness.

***

### Output Format

**Sample output record:**

```json
{
  "id": "94754af7-041e-49af-a3ca-12275ab28a3a",
  "is_app_featured": false,
  "is_featured": false,
  "sold_out": false,
  "title": "(4 PACK) Energizer 2032 Batteries - 3V Lithium Coin Batteries",
  "photos": [
    {
      "width": 1080,
      "height": 410,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/c4dccb7f-14d8-4a87-aa6a-223828248f31.png"
    },
    {
      "width": 768,
      "height": 576,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/b0989d8a-9514-4378-8b74-8beb18bae726.jpg"
    },
    {
      "width": 604,
      "height": 453,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/e11ffd15-aec2-4b7d-8839-50ec2172a695.png"
    },
    {
      "width": 380,
      "height": 285,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/d8ca56c4-f766-48e9-8443-28588fd40c7a.png"
    },
    {
      "width": 188,
      "height": 142,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/61de99bd-d52e-4c46-a3e5-19a4e5479dc6.png"
    },
    {
      "width": 200,
      "height": 100,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/80608d70-ca90-4bfe-86aa-8d4dde57d128.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/ba4d3014-351c-4eb5-af09-beec2cdc07c2.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/fa4a3ec0-c8c2-4c86-b5d0-4cbcfde4ddc9.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/c768915e-8bb8-414d-b417-b547de13106c.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/47c06af8-3ade-43cc-b41e-fa9eb26e4a85.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/1afdc4a0-606d-4008-ac7b-10d6d791fd10.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/09bfc2ff-bd61-4415-bfc0-365cf4fd451e.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/b6ba7713-e507-4716-9807-bceaa69e43ff.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/9e718bd0-f788-42a4-a326-3f622f9be0ee.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/83422803-8bd3-4132-8697-171b70186d7b.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/7c0663db-4a43-4ac6-b3f0-9f7bf5bd5784.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/ba4d3014-351c-4eb5-af09-beec2cdc07c2.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/fa4a3ec0-c8c2-4c86-b5d0-4cbcfde4ddc9.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/c768915e-8bb8-414d-b417-b547de13106c.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/47c06af8-3ade-43cc-b41e-fa9eb26e4a85.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/1afdc4a0-606d-4008-ac7b-10d6d791fd10.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/09bfc2ff-bd61-4415-bfc0-365cf4fd451e.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/b6ba7713-e507-4716-9807-bceaa69e43ff.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/9e718bd0-f788-42a4-a326-3f622f9be0ee.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/83422803-8bd3-4132-8697-171b70186d7b.png"
    },
    {
      "width": 588,
      "height": 441,
      "url": "https://d3gqasl9vmjfd8.cloudfront.net/7c0663db-4a43-4ac6-b3f0-9f7bf5bd5784.png"
    }
  ],
  "end_date": "2026-08-08T04:59:00Z",
  "items": [
    {
      "list_price": 5.99,
      "sale_price": 3.49,
      "attributes": [
        {
          "key": "Condition",
          "value": "New"
        },
        {
          "key": "Model",
          "value": "4 Batteries"
        }
      ]
    }
  ],
  "slug": "energizer-e300653210-energizer-2032-4-pack",
  "site": {
    "hostname": "electronics.woot.com",
    "name": "Electronics.Woot",
    "tags": [
      "retail"
    ]
  },
  "event": {
    "type": "WootPlusEvent",
    "slug": "energizer-battery-bonanza"
  },
  "from_url": "https://www.woot.com/alldeals?ref=w_ngh_et_1&page=2"
}
```

Each product record extracted from Woot includes 11 structured fields:

#### Product Identification

| Field | Description | Example |
|---|---|---|
| `ID` | Unique internal identifier for the product or deal listing | `12345` |
| `Title` | Product name as displayed on Woot | `65" VIZIO Smart TV - 4K UHD` |
| `Slug` | URL-friendly version of the product title | `65-vizio-smart-tv-4k-uhd` |
| `Site` | Domain or platform source | `woot.com` |

#### Visibility & Promotion Status

| Field | Description | Example |
|---|---|---|
| `Is Featured` | Boolean flag indicating if the product is highlighted on the homepage or category page | `true` or `false` |
| `Is App Featured` | Boolean flag indicating if the product is featured in the Woot mobile app | `true` or `false` |

#### Availability & Deal Status

| Field | Description | Example |
|---|---|---|
| `Sold Out` | Boolean indicating whether the product is currently out of stock | `true` or `false` |
| `End Date` | Timestamp or date when the deal expires or the listing closes | `2025-02-15T23:59:59Z` |

#### Product Content & Grouping

| Field | Description | Example |
|---|---|---|
| `Photos` | Array or string of product image URLs | `["https://m.media-amazon.com/image1.jpg", "..."]` |
| `Items` | Products or variants included in the deal (e.g., bundle items, color options) | `["Black", "Silver"]` or `["Item A", "Item B"]` |
| `Event` | Deal event or promotion category (e.g., "Lightning Deal", "Daily Deal") | `"Flash Sale"` or `"Featured Deal"` |

***

### How to Use

1. **Gather URLs** — Browse Woot.com and copy the URLs of product listing pages you want to scrape (search results, category pages, or paginated deal pages).
2. **Prepare input** — Place URLs in the `urls` array. Adjust `max_items_per_url` based on your data needs (default: 100, max recommended: 200).
3. **Set failure handling** — Enable `ignore_url_failures: true` for large batches to avoid interruptions from occasional page timeouts.
4. **Execute the scrape** — Start the actor and monitor progress in the run log.
5. **Download results** — Export data as JSON, CSV, or Excel for analysis, integration, or database import.

**Best practices:**

- Test with a single URL and small `max_items_per_url` (50) before running large batches.
- Stagger requests across different times of day to avoid rate-limiting.
- Use paginated URLs to systematically collect entire categories.

***

### Use Cases & Business Value

- **Deal aggregation:** Build a unified feed combining Woot deals with other flash-sale sites for maximum reach
- **Price intelligence:** Track Woot's pricing strategies and compare against competitor discounts
- **Inventory analysis:** Monitor sold-out rates to identify trending, high-demand products
- **Mobile optimization:** Segment products by `Is App Featured` to understand Woot's app-first strategy
- **Historical tracking:** Collect deal data over time to study seasonality and promotional patterns

The **Woot Product Search Scraper** eliminates manual browsing and copy-paste work, enabling data-driven decisions around deal sourcing, price benchmarking, and market insights.

***

### Conclusion

The **Woot.com Product Search Scraper** is an efficient, flexible solution for anyone needing structured product and deal data from Woot at scale. Whether you're building a deal aggregator, monitoring prices, or analyzing flash-sale trends, this scraper delivers clean, actionable data in minutes. Start collecting today and unlock new business opportunities in the deals marketplace.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the product list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.woot.com/alldeals?ref=w_ngh_et_1&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}
```

# 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 = {
    "urls": [
        "https://www.woot.com/alldeals?ref=w_ngh_et_1&page=2"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("soft_alexist/woot-product-search-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 = {
    "urls": ["https://www.woot.com/alldeals?ref=w_ngh_et_1&page=2"],
    "ignore_url_failures": True,
    "max_items_per_url": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("soft_alexist/woot-product-search-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 '{
  "urls": [
    "https://www.woot.com/alldeals?ref=w_ngh_et_1&page=2"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 100
}' |
apify call soft_alexist/woot-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=soft_alexist/woot-product-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/UMKZahPCa2je6bzaw/builds/7tmyzVKrf4wddzJk2/openapi.json
