Home Depot Product Scraper avatar

Home Depot Product Scraper

Pricing

from $65.76 / 1,000 item extracteds

Go to Apify Store
Home Depot Product Scraper

Home Depot Product Scraper

Extract public Home Depot product identity, catalog attributes, images, ratings, and review counts from keywords and product URLs. Current price and localized fulfillment are unavailable.

Pricing

from $65.76 / 1,000 item extracteds

Rating

5.0

(1)

Developer

Automation Lab

Automation Lab

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

4

Monthly active users

11 days ago

Last modified

Categories

Share

Extract reliable public Home Depot product catalog and review data from Internet item IDs, keywords, search URLs, and exact product URLs.

Use it for assortment research, catalog enrichment, brand monitoring, product matching, review analysis, and structured retail datasets. No Home Depot login or proxy configuration is required.

Current containment mode

Home Depot currently blocks anonymous access to its product-detail commerce service. To keep runs reliable, this Actor uses Home Depot's public Bazaarvoice product catalog and retains Home Depot sitemap discovery for keyword searches.

The current mode returns useful product identity, content, category, attribute, image, status, and review fields. It does not provide current price, original price, promotions, localized inventory, or fulfillment. The storeId and zipCode inputs are retained for input compatibility and echoed as requested context, but they do not localize the containment dataset. Empty commercial fields are not estimates and must not be treated as current store observations.

Who is it for?

  • Catalog and ecommerce teams enriching item IDs with stable identity and attribute data
  • Brands and manufacturers monitoring titles, models, images, ratings, and review volume
  • Market researchers comparing public assortment and customer feedback
  • Data teams loading repeatable Home Depot records into warehouses and dashboards
  • AI and automation builders who need structured catalog context without browser maintenance

This containment mode is not suitable for price monitoring, promotion tracking, stock alerts, or local fulfillment decisions.

Use cases

  • Discover products in a focused category and compare stable catalog identity and attributes.
  • Enrich known Home Depot Internet item IDs or URLs with model, category, description, image, rating, and review-count data.
  • Benchmark assortment, brand presence, ratings, and review volume on a recurring schedule.
  • Match catalog records across internal product-information or analytics systems using item, model, SKU, and GTIN values.

These workflows describe catalog and review analysis only. They do not produce current prices, promotions, local stock, pickup, shipping, or delivery observations.

What you can extract

FieldDescription
itemIdHome Depot Internet item ID
productUrlCanonical or discovered Home Depot product URL
titleProduct name
brandBrand or manufacturer
modelNumberManufacturer model/part number
storeSkuCatalog child SKU when available
parentIdProduct family ID when available
ratingAverage customer rating
reviewCountTotal customer review count
imageUrlsPublic catalog image URLs
descriptionPublic catalog description
specificationsHome Depot catalog attributes, including category/status/GTIN fields when available
categoriesCatalog category path
availabilityCatalog-level availability status, not localized inventory
storeIdRequested store context, echoed for compatibility
zipCodeRequested ZIP context, echoed for compatibility
sourceUrlInput URL, generated keyword search URL, or deterministic https://www.homedepot.com/p/<itemId> URL for direct IDs
scrapedAtUTC extraction timestamp

Compatibility fields such as price, originalPrice, promotion, and fulfillment remain in the output schema, but price and promotion are omitted and fulfillment is empty in containment mode.

Inputs

Internet item IDs

Use itemIds when you already have Home Depot Internet item IDs. Each ID must be a string containing at least 6 digits, for example "301711642". Direct IDs go straight to public-catalog lookup without product-page or sitemap discovery. Their deterministic sourceUrl is https://www.homedepot.com/p/<itemId>.

Malformed IDs are skipped with a clear warning so valid values in a mixed batch can continue. If no valid input remains, the run fails clearly. Products are deduplicated by item ID across itemIds, URLs, and keyword discoveries.

Search keywords

Use keywords for ordered product terms such as:

  • cordless drill
  • french door refrigerator
  • patio furniture
  • Milwaukee M18

The Actor discovers current matching Home Depot URLs from public product sitemaps, then enriches their item IDs from the public catalog.

Product or search URLs

productUrls accepts public https://www.homedepot.com/p/.../<itemId> product URLs and /s/<keyword> search URLs. Legacy startUrls inputs remain supported.

Maximum products

maxItems is the global unique-product limit across item IDs, URLs, and keyword inputs (1–500). Direct item IDs are processed first.

Store and ZIP

storeId and zipCode remain accepted and are echoed in each result for compatibility. They do not provide localized price, inventory, or fulfillment in the current mode.

Input example

{
"itemIds": ["301711642"],
"keywords": ["cordless drill"],
"productUrls": [
{
"url": "https://www.homedepot.com/p/Whirlpool-25-cu-ft-French-Door-Refrigerator-in-Fingerprint-Resistant-Stainless-Steel-WRF555SDFZ/301711642"
}
],
"maxItems": 10,
"zipCode": "30303",
"storeId": "121"
}

Output example

{
"itemId": "301711642",
"productUrl": "https://www.homedepot.com/p/example/301711642",
"title": "25 cu. ft. French Door Refrigerator in Fingerprint-Resistant Stainless Steel",
"brand": "Whirlpool",
"modelNumber": "WRF555SDFZ",
"storeSku": "301711642",
"parentId": "301710751",
"currency": "USD",
"rating": 4.3,
"reviewCount": 8107,
"imageUrls": ["https://images.thdstatic.com/productImages/example_1000.jpg"],
"description": "Organize foods for your family in this Whirlpool French door refrigerator.",
"highlights": [],
"specifications": {
"GTIN14": "00883049409238",
"MFGModel": "WRF555SDFZ"
},
"categories": ["APPLIANCES", "REFRIGERATION", "FRENCH DOOR"],
"availability": "CatalogAvailable",
"fulfillment": [],
"storeId": "121",
"zipCode": "30303",
"sourceUrl": "https://www.homedepot.com/p/example/301711642",
"scrapedAt": "2026-09-07T15:00:00.000Z"
}

Fields unavailable from the public catalog are omitted rather than invented.

Reliability and errors

  • Catalog requests and sitemap discovery use bounded retries for transient network failures.
  • Duplicate Home Depot item IDs are emitted once across direct IDs, URLs, and keyword discoveries.
  • Malformed direct IDs are skipped with a warning; a run with no valid source fails clearly.
  • A run fails clearly when no useful products can be extracted; it does not report a false-success empty dataset.
  • Keyword matching requires terms in order and rejects incidental reversed-token sitemap matches.

How much does it cost to scrape Home Depot catalog products?

This Actor uses pay-per-event pricing: a small run-start fee plus an item event for each product successfully saved. Check the Actor's Pricing tab for the current tier price. Failed lookups do not incur item events.

Start with maxItems: 1 to inspect field coverage before scaling a workflow.

API usage

Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/home-depot-product-scraper').call({
itemIds: ['301711642'],
maxItems: 1,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

Python

import os
from apify_client import ApifyClient
client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/home-depot-product-scraper').call(
run_input={'itemIds': ['301711642'], 'maxItems': 1}
)
items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)

cURL

curl -X POST \
"https://api.apify.com/v2/acts/automation-lab~home-depot-product-scraper/runs?token=$APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"itemIds":["301711642"],"maxItems":1}'

Keep API tokens in environment variables or secret stores rather than source code.

MCP usage

Use the actor-scoped MCP endpoint:

https://mcp.apify.com/?tools=automation-lab/home-depot-product-scraper

Claude Code

$claude mcp add --transport http apify-home-depot "https://mcp.apify.com/?tools=automation-lab/home-depot-product-scraper"

Claude Desktop, Cursor, and VS Code

Add this MCP JSON block to the relevant Claude Desktop, Cursor, or VS Code MCP configuration:

{
"mcpServers": {
"apify-home-depot": {
"url": "https://mcp.apify.com/?tools=automation-lab/home-depot-product-scraper"
}
}
}

Connect your Apify account, then ask the assistant to run the Actor with a product URL or keyword input. Tell it that the current dataset contains catalog and review information, not live price or local inventory.

Example prompt:

Extract five current Home Depot products matching “cordless drill” and summarize brand, model, catalog attributes, rating, and review count. Do not claim price or stock data.

Integrations

Export datasets as JSON, CSV, Excel, XML, or RSS, or connect runs through:

  • Apify API and schedules
  • Webhooks
  • MCP
  • Make and Zapier
  • Google Sheets
  • Your own warehouse or data pipeline

FAQ

Why are price and promotion missing?

The reliable public catalog used in containment mode does not expose current commerce fields. The Actor omits them instead of returning stale or invented values.

Why is fulfillment empty?

Localized inventory, pickup, shipping, and delivery require Home Depot's currently protected commerce service. fulfillment stays empty in this mode.

Do storeId and zipCode change results?

No. They remain accepted and echoed so existing integrations do not break, but they do not localize public-catalog results.

Can I supply an exact item ID or product URL?

Yes. Use itemIds for one or more numeric Internet item IDs, or provide exact product URLs. Both routes retrieve public catalog records without opening the protected product detail page.

How does keyword search work?

The Actor finds ordered-token matches in Home Depot's current public product sitemaps, then enriches those item IDs through the public catalog.

What happens when no product is available?

The run exits with an error rather than reporting a successful empty dataset.

For workflows needing other retailers or data types, browse the automation-lab Store profile for complementary product, search, review, and retail catalog Actors. Always compare each Actor's documented field coverage before combining datasets.

The Actor reads public catalog surfaces. Your use case, jurisdiction, collection volume, and handling of output determine your obligations. Follow applicable laws, Home Depot's terms, and Apify's policies. Avoid excessive scheduling and do not use catalog status to misrepresent real-time local stock or pricing.

This Actor does not log in, place orders, reserve inventory, or access private customer data.