# Home Depot Product Search Scraper (`axesso_data/homedepot-product-search-scraper`) Actor

Our Home Depot Product Search Scraper retrieves real-time search results from the Home Depot catalog by keyword, including prices, ratings, images, brands, and item IDs. This actor delivers structured, up-to-date insights ideal for price monitoring, catalog research, and competitive analysis.

- **URL**: https://apify.com/axesso\_data/homedepot-product-search-scraper.md
- **Developed by:** [AxCrawler](https://apify.com/axesso_data) (community)
- **Categories:** E-commerce
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.20 / 1,000 results

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?

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

### How does Home Depot Product Search Scraper work?

The Home Depot Product Search Scraper retrieves real-time search results from the Home Depot catalog by keyword. It extracts matching products including prices, ratings, images, brands, model numbers, and item IDs. Results can be sorted and filtered by price range.

This Actor fetches live data directly from Home Depot, ensuring that the information provided is always current and accurate, with no caching involved.

The extraction process takes an array of input objects where each specifies parameters for a request to search the Home Depot catalog. Each page returns up to 12 products, and pagination across pages is handled automatically. The Actor returns structured data with comprehensive product search results according to the input criteria.

### Input data

The input must be provided in JSON format. It requires one mandatory array field named "input". Each element of this array is an object representing parameters for a single product search task.

Input fields for each item:

- `keyword` (Required): Search term, e.g. hammer or cordless drill.
- `maxPages` (Optional): Number of result pages to fetch, starting from page 1. Defaults to `1`. Each page contains up to 12 products; set `-1` to fetch all available pages. The Actor paginates automatically.
- `sortBy` (Optional): Sort order. Supported values: bestMatch, topSellers, priceLowToHigh, priceHighToLow, or topRated.
- `priceMin` (Optional): Minimum product price to include, in USD.
- `priceMax` (Optional): Maximum product price to include, in USD. Must be greater than or equal to priceMin.

Multiple search requests can be processed in one run by including multiple objects in the input array.

#### Example input

```json
{
  "input": [
    {
      "keyword": "cordless drill",
      "maxPages": 1,
      "sortBy": "bestMatch"
    },
    {
      "keyword": "hammer",
      "maxPages": 3,
      "sortBy": "priceLowToHigh",
      "priceMin": 20,
      "priceMax": 100
    }
  ]
}
```

### Output data

```json
[
  {
    "statusCode": 200,
    "statusMessage": "FOUND",
    "responseStatus": "PAGE_FOUND",
    "responseMessage": "Page successfully found!",
    "keyword": "cordless drill",
    "storeId": "121",
    "searchUrl": "https://www.homedepot.com/b/Tools-Power-Tools-Drills/Cordless/N-5yc1vZc27fZ1z140i3?sortby=bestmatch&sortorder=asc",
    "currentPage": 1,
    "pageSize": 12,
    "lastPage": 66,
    "sortBy": "bestMatch",
    "priceMin": null,
    "priceMax": null,
    "totalProducts": 782,
    "resultCount": 12,
    "itemId": "320326875",
    "productTitle": "M18 FUEL 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver (Tool-Only)",
    "brand": "Milwaukee",
    "modelNumber": "2953-20",
    "productUrl": "https://www.homedepot.com/p/Milwaukee-M18-FUEL-18V-Lithium-Ion-Brushless-Cordless-1-4-in-Hex-Impact-Driver-Tool-Only-2953-20/320326875",
    "storeSkuNumber": "1007901520",
    "productType": "MERCHANDISE",
    "price": 179.0,
    "originalPrice": 179.0,
    "currency": "USD",
    "dollarOff": null,
    "percentageOff": null,
    "savingsCenter": null,
    "averageRating": 4.7211,
    "totalReviews": 1556,
    "imageUrl": "https://images.thdstatic.com/productImages/fa7d2462-8481-4bd3-8010-384a85aa902f/svn/milwaukee-impact-drivers-2953-20-64_1000.jpg",
    "buyable": false,
    "availabilityStatus": "Shared",
    "additionalItemIds": null
  }
]
```

### How much does Home Depot Product Search Scraper cost?

Estimating the resources required for data extraction can vary depending on the number and complexity of requests. It is recommended to perform a test run using a limited set of input data and generate a small amount of output to estimate the cost. This estimation can then be scaled according to the total usage planned.

### What to consider when using this Actor?

We have extensive experience in web crawling embedded in this Actor, so users do not need to handle common web scraping challenges.

Key aspects covered:

- **Proxy Rotation:** The Actor uses a large proxy pool distributed across multiple countries to avoid IP blocking and ensure smooth data extraction.
- **Geo Targeting:** Requests are routed through proxies matched to the Home Depot domain's geographical location to ensure accurate data retrieval.
- **Captcha and Blocking Handling:** Captchas and temporary blocking responses are managed automatically to maintain uninterrupted extraction.
- **Stability and Reliability:** The Actor includes retry and rotation logic to provide a stable and reliable scraping process.

### More Home Depot Actors by Axesso

Looking for a different slice of Home Depot data? Axesso offers a full suite of real-time Home Depot Actors - each one dedicated to a specific endpoint:

| Actor | What it does |
|---|---|
| [Home Depot Product Details Scraper](https://apify.com/axesso_data/homedepot-product-details-scraper) | Our Home Depot Product Details Scraper retrieves real-time product data from any Home Depot listing, including pricing, availability, ... |
| [Home Depot Reviews Scraper](https://apify.com/axesso_data/homedepot-reviews-scraper) | Our Home Depot Reviews Scraper retrieves real-time customer reviews for Home Depot products, including ratings, review content, reviewer ... |

All Axesso Actors are built and maintained to the same standards: real-time data without caching, high availability and active maintenance, consistent input patterns, and responsive support when you need help. If you are missing a specific endpoint, reach out - the portfolio is continuously growing.

### Where else you can find Axesso - Data Service solutions?

Axesso operates a proven, high-availability data service infrastructure that has been serving structured e-commerce data for years. In addition to this Actor, Axesso data services are available through:

- **Axesso API Portal:** Direct API access at axesso.de for developers who need low-latency, high-volume integrations.
- **RapidAPI:** Axesso APIs are also listed on RapidAPI for users who prefer to manage their subscriptions through that marketplace.

### Use cases for our Axesso Actors

1. Market Research: Extract product search results for market trend analysis.
2. Price Monitoring: Monitor competitor product pricing and discounts across search results.
3. Inventory Management: Track product availability and stock status.
4. Product Catalog Management: Update and enhance product information.
5. Review Monitoring and Sentiment Analysis: Combine product ratings with review data for brand reputation analysis.
6. Lead Generation: Identify suppliers or partners through product insights.
7. Content Aggregation and Curation: Collect data to create review sites or buying guides.
8. Price Comparison Websites: Gather product search data to help consumers compare products.
9. Ad Campaign Optimization: Use product data to optimize marketing strategies.

### Disclaimer

This Actor is not affiliated or partnered with the vendors used in the Actor; only publicly available data is extracted. Users are responsible for ensuring that their use of the Actor and the returned data complies with applicable laws and the requirements of their individual use case.

# Actor input Schema

## `input` (type: `array`):

List of inputs, each entry refers to one request to be executed. Full list of valid parameters can be found in the README tab.

## Actor input object example

```json
{
  "input": [
    {
      "keyword": "cordless drill",
      "sortBy": "bestMatch",
      "maxPages": 1
    },
    {
      "keyword": "hammer",
      "sortBy": "priceLowToHigh",
      "priceMin": 20,
      "priceMax": 100,
      "maxPages": 2
    }
  ]
}
```

# Actor output Schema

## `results` (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 = {
    "input": [
        {
            "keyword": "cordless drill",
            "sortBy": "bestMatch",
            "maxPages": 1
        },
        {
            "keyword": "hammer",
            "sortBy": "priceLowToHigh",
            "priceMin": 20,
            "priceMax": 100,
            "maxPages": 2
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("axesso_data/homedepot-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 = { "input": [
        {
            "keyword": "cordless drill",
            "sortBy": "bestMatch",
            "maxPages": 1,
        },
        {
            "keyword": "hammer",
            "sortBy": "priceLowToHigh",
            "priceMin": 20,
            "priceMax": 100,
            "maxPages": 2,
        },
    ] }

# Run the Actor and wait for it to finish
run = client.actor("axesso_data/homedepot-product-search-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 '{
  "input": [
    {
      "keyword": "cordless drill",
      "sortBy": "bestMatch",
      "maxPages": 1
    },
    {
      "keyword": "hammer",
      "sortBy": "priceLowToHigh",
      "priceMin": 20,
      "priceMax": 100,
      "maxPages": 2
    }
  ]
}' |
apify call axesso_data/homedepot-product-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,axesso_data/homedepot-product-search-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/rZu9oLLsj3bjuLQ6M/builds/D1nb15SScDLXUAKSV/openapi.json
