# Home Depot Clearance Scraper (`scrapyspider/home-depot-clearance-scraper`) Actor

Scrape all clearance and special buy products from any Home Depot store. Get product names, prices, savings, ratings, images, and availability. Covers 2,000+ clearance categories automatically. Search by store ID or zip code. Fast GraphQL API — no browser needed

- **URL**: https://apify.com/scrapyspider/home-depot-clearance-scraper.md
- **Developed by:** [ScrapySpider](https://apify.com/scrapyspider) (community)
- **Categories:** E-commerce
- **Stats:** 7 total users, 1 monthly users, 0.0% runs succeeded, NaN 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 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

### Home Depot Clearance Scraper

Scrapes clearance products from any Home Depot store using direct GraphQL API requests — no browser needed, 10x faster than browser-based scrapers. Returns full product details with original and clearance pricing, inventory status, and category data.

- Direct GraphQL API integration — no browser overhead, lightning-fast execution
- Store-specific results by store ID or zipcode lookup
- Complete clearance pricing with dollar-off and percentage-off savings
- 100+ pre-loaded clearance categories scraped automatically
- Smart deduplication across runs — no duplicate products in your dataset
- Parallel processing with configurable concurrency (1–20 requests)
- Outputs clean JSON, CSV, or Excel via Apify dataset export

#### What data does it extract?

Each result contains:

**Product info:** item ID, product name, brand, model number, SKU, product type

**Pricing:** current price, original price, clearance price, dollar savings, percentage off

**Media:** product image URLs in multiple resolutions

**Reviews:** average rating, total review count

**Availability:** store-specific inventory status, stock quantity, store name, fulfillment options

**Category:** category title, full breadcrumb path (e.g., "Heating, Venting & Cooling > Air Filters")

**Links:** direct Home Depot product URL with store parameter

All data exports as JSON, CSV, or Excel directly from the Apify dataset.

#### Use cases

- **Bargain hunting:** Find deep discounts on Home Depot clearance items at specific stores near you
- **Inventory monitoring:** Track clearance product availability and pricing changes across stores over time
- **Reselling:** Identify high-value clearance deals for retail arbitrage opportunities
- **Price tracking:** Monitor when products go on clearance and how much is discounted from the original price
- **Market research:** Analyze clearance trends across Home Depot product categories and departments
- **Store comparison:** Compare clearance inventory and pricing between different Home Depot locations

#### How to use

1. Click **Try for free** on the Actor page
2. In the **Input** tab, enter a Home Depot **Store ID** (e.g., `6643`) or a **Zipcode** (e.g., `92807`) — the Actor will find the nearest store automatically
3. Adjust **Parallel Requests** if needed (default is 3, increase for faster runs with good proxies)
4. Leave **Proxy Configuration** as default (Apify Residential US) for best results
5. Click **Start** and wait for the run to complete (typically 5–15 minutes depending on store inventory)
6. Download your results as JSON, CSV, or Excel from the **Output** tab

#### Input parameters

| Parameter | Type | Required | Description |
|---|---|---|---|
| `storeId` | String | No | Home Depot store ID for location-specific pricing. Example: `6643` |
| `zipcode` | String | No | US zipcode to find the nearest Home Depot store. Only used if `storeId` is not provided. Default: `92807` |
| `parallelRequests` | Integer | No | Number of parallel API requests (1–20). Higher values increase speed but may trigger rate limiting. Default: `3` |
| `proxyConfig` | Object | No | Proxy configuration. Defaults to Apify Residential proxy with US country targeting. Recommended to leave as default. |

**Note:** Provide either `storeId` or `zipcode`, not both. If neither is provided, the Actor defaults to zipcode `92807`.

#### Output example

```json
{
  "itemId": "337106319",
  "identifiers": {
    "storeSkuNumber": "1014491215",
    "brandName": "Simply",
    "itemId": "337106319",
    "productLabel": "20 in. x 25 in. x 1 in. MERV 11 FPR 7 Pleated Furnace Air Filter (6-Pack)",
    "modelNumber": "S-11-06-20251"
  },
  "pricing": {
    "value": 56.97,
    "original": 56.97,
    "clearance": {
      "value": 29.99,
      "dollarOff": 26.98,
      "percentageOff": 47
    }
  },
  "reviews": {
    "ratingsReviews": {
      "averageRating": "4.7",
      "totalReviews": "541"
    }
  },
  "isClearanceItem": true,
  "categoryTitle": "Air Filters",
  "categoryPath": "Heating, Venting & Cooling > Air Filters",
  "URL": "https://homedepot.com/p/Simply-20-in-x-25-in-x-1-in-MERV-11-FPR-7-Pleated-Furnace-Air-Filter-6-Pack-S-11-06-20251/337106319?store=6643"
}
````

#### Pricing

This Actor is **free to use** — you only pay for Apify platform compute time and proxy usage.

A typical run scraping one full store costs approximately **$0.50–$1.50** in Apify platform credits depending on the number of clearance items and parallel request settings.

New Apify accounts receive **$5 in free credits** — enough to run multiple full store scrapes.

**Cost optimization tips:**

- Set memory to **512 MB** (the Actor typically uses only ~135 MB)
- Use the default parallel requests setting of 3 for a good balance of speed and cost
- The Actor uses HTTP requests instead of browsers, keeping compute costs minimal

#### Technical notes

- **No browser needed:** Uses direct GraphQL API requests via curl — 10x faster and cheaper than browser-based scrapers
- **Residential proxy required:** US residential proxies are recommended for best success rates. The default Apify Residential US proxy works out of the box.
- **100+ categories:** All Home Depot clearance categories are pre-loaded and scraped automatically
- **720 product cap:** Home Depot's API limits results to 720 products per category (30 pages × 24 items). This is a platform limitation, not an Actor limitation.
- **Memory efficient:** Typical usage is ~135 MB. Recommended memory setting is 512 MB.
- **Smart deduplication:** Tracks previously processed items via key-value store so repeated runs only return new products
- **Retry logic:** Multi-layer retry mechanism with exponential backoff handles intermittent failures automatically
- **Data freshness:** All data is scraped live from Home Depot — no cached or stale results

#### Integrations

Outputs are compatible with:

- **Apify API:** Run the Actor programmatically and retrieve results via the [Apify REST API](https://docs.apify.com/api/v2) or [JavaScript](https://docs.apify.com/sdk/js)/[Python](https://docs.apify.com/sdk/python) SDK
- **Make (formerly Integromat):** Use the Apify module to trigger runs and route clearance data to other apps
- **Zapier:** Connect Actor runs to 5,000+ apps via the Apify Zapier integration

#### Support

Have questions or found a bug? Reach out:

- **Email:** ScrapySpider@protonmail.com
- **Website:** [ScrapySpider.com](https://ScrapySpider.com)
- **Apify:** Open a support issue on this Actor's page
- **Response time:** Within 24–48 hours on weekdays

# Actor input Schema

## `storeId` (type: `string`):

Home Depot store ID to use for product availability. If provided, this takes precedence over zipcode lookup.

## `zipcode` (type: `string`):

US zipcode to automatically find the closest Home Depot store. Only used if Store ID is not provided.

## `parallelRequests` (type: `integer`):

Number of curl requests to run in parallel. Higher values increase speed but may cause rate limiting.

## `proxyConfig` (type: `object`):

Configuration for Apify Proxy or custom proxies. If not set, the Actor will run without a proxy.

## Actor input object example

```json
{
  "storeId": "6643",
  "zipcode": "92807",
  "parallelRequests": 3,
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `overview` (type: `string`):

No description

## `clearanceOnly` (type: `string`):

No description

## `detailed` (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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("scrapyspider/home-depot-clearance-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("scrapyspider/home-depot-clearance-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 '{}' |
apify call scrapyspider/home-depot-clearance-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=scrapyspider/home-depot-clearance-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Home Depot Clearance Scraper",
        "description": "Scrape all clearance and special buy products from any Home Depot store. Get product names, prices, savings, ratings, images, and availability. Covers 2,000+ clearance categories automatically. Search by store ID or zip code. Fast GraphQL API — no browser needed",
        "version": "1.0",
        "x-build-id": "IVndfQgepkcNyygSe"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/scrapyspider~home-depot-clearance-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-scrapyspider-home-depot-clearance-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/scrapyspider~home-depot-clearance-scraper/runs": {
            "post": {
                "operationId": "runs-sync-scrapyspider-home-depot-clearance-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/scrapyspider~home-depot-clearance-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-scrapyspider-home-depot-clearance-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": {
                    "storeId": {
                        "title": "Store ID",
                        "type": "string",
                        "description": "Home Depot store ID to use for product availability. If provided, this takes precedence over zipcode lookup."
                    },
                    "zipcode": {
                        "title": "Zipcode",
                        "type": "string",
                        "description": "US zipcode to automatically find the closest Home Depot store. Only used if Store ID is not provided.",
                        "default": "92807"
                    },
                    "parallelRequests": {
                        "title": "Parallel Requests",
                        "minimum": 1,
                        "maximum": 20,
                        "type": "integer",
                        "description": "Number of curl requests to run in parallel. Higher values increase speed but may cause rate limiting.",
                        "default": 3
                    },
                    "proxyConfig": {
                        "title": "Proxy Configuration",
                        "type": "object",
                        "description": "Configuration for Apify Proxy or custom proxies. If not set, the Actor will run without a proxy.",
                        "default": {
                            "useApifyProxy": true,
                            "apifyProxyGroups": [
                                "RESIDENTIAL"
                            ],
                            "apifyProxyCountry": "US"
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
