Home Depot Product Scraper
Pricing
Pay per event
Home Depot Product Scraper
Extract Home Depot products, prices, ratings, specifications, images, promotions, and ZIP/store-localized fulfillment from keywords and URLs.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Extract structured Home Depot product, price, rating, specification, image, promotion, and local fulfillment data from search terms and public product URLs.
Use it for retail intelligence, price monitoring, assortment research, contractor sourcing, brand tracking, and store-level availability checks.
No Home Depot login is required.
What does Home Depot Product Scraper do?
Home Depot Product Scraper turns public homedepot.com pages into export-ready records.
Give it one or more:
- ๐ Search keywords such as
cordless drill - ๐ Home Depot search result URLs
- ๐งฐ Home Depot product detail URLs
The Actor returns unique products with identifiers, commercial data, content, social proof, and location-aware fulfillment details.
It handles Home Depot's public anti-bot layer with US residential browser sessions and bounded retries.
Who is it for?
Retail pricing teams
Track current prices, original prices, promotions, and local inventory for comparable products.
Brands and manufacturers
Monitor how products appear on Home Depot, including titles, images, ratings, review counts, specifications, and availability.
Contractors and procurement teams
Compare products and check pickup, delivery, quantity, and store context before purchasing.
Market researchers
Build repeatable snapshots of categories, brands, assortments, and customer demand signals.
Data and automation teams
Feed clean Home Depot data into databases, dashboards, spreadsheets, webhooks, APIs, and AI agents.
Why use this Home Depot scraper?
- โ Search by keyword or scrape exact product URLs
- โ Receive clean JSON, CSV, Excel, XML, and RSS exports
- โ Deduplicate products by Home Depot item ID
- โ Capture price, promotion, rating, images, and inventory in one row
- โ Localize fulfillment with a store ID and US ZIP code
- โ Avoid maintaining anti-bot browser infrastructure
- โ Pay only for the run start and products successfully saved
- โ Integrate through Apify API, schedules, webhooks, and MCP
What Home Depot data can you extract?
| Field | Description |
|---|---|
itemId | Home Depot Internet item ID |
productUrl | Canonical public product URL |
title | Product name |
brand | Brand or manufacturer |
modelNumber | Manufacturer model number |
storeSku | Home Depot store SKU |
parentId | Parent or product-family item ID |
productType | Home Depot product classification |
price | Current localized price when displayed |
originalPrice | Original price when displayed |
promotion | Promotion and savings metadata |
rating | Average customer rating |
reviewCount | Total customer review count |
imageUrls | Full-size product image URLs |
description | Product description on detail pages |
highlights | Product highlights on detail pages |
specifications | Name/value specification table |
categories | Home Depot category hierarchy |
availability | Buyable and discontinued status |
fulfillment | Pickup, shipping, delivery, and inventory rows |
storeId | Store context requested by the user |
zipCode | Delivery ZIP context requested by the user |
sourceUrl | Input page that produced the record |
scrapedAt | UTC extraction timestamp |
Search pages naturally contain fewer detail fields than product pages.
Use product URLs when specifications and long descriptions are essential.
How to scrape Home Depot products
- Open the Actor input page.
- Add one or more search keywords or Home Depot URLs.
- Set a low
maxItemsvalue for your first test. - Enter the delivery ZIP code and Home Depot store ID you want to monitor.
- Click Start.
- Preview records in the Home Depot products dataset view.
- Export the dataset or connect it to your workflow.
A first run with one keyword and 10 products is usually enough to validate the fields.
Input options
Search keywords
keywords is an array of Home Depot search phrases.
Examples:
cordless drillfrench door refrigeratorpatio furnitureMilwaukee M18
Product or search URLs
productUrls accepts public Home Depot product pages and search result pages.
You can mix keyword and URL inputs in the same run.
Maximum products
maxItems is the global limit across every input.
Duplicate item IDs do not count twice.
Delivery ZIP code
zipCode sets the requested US delivery context.
The default is 30303.
Home Depot store ID
storeId sets the requested store context for price and fulfillment data.
The default is 121.
Input example
{"keywords": ["cordless drill", "impact driver"],"productUrls": [{"url": "https://www.homedepot.com/p/Whirlpool-25-cu-ft-French-Door-Refrigerator-in-Fingerprint-Resistant-Stainless-Steel-WRF555SDFZ/301711642"}],"maxItems": 25,"zipCode": "30303","storeId": "121"}
Output example
{"itemId": "326680222","productUrl": "https://www.homedepot.com/p/RYOBI-ONE-18V-Cordless-3-8-in-Drill-Driver-Kit-with-Compact-Battery-and-Charger-PCL201K1/326680222","title": "ONE+ 18V Cordless 3/8 in. Drill/Driver Kit with Compact Battery and Charger","brand": "RYOBI","modelNumber": "PCL201K1","storeSku": "1010127831","price": 49.97,"originalPrice": 49.97,"currency": "USD","rating": 4.6051,"reviewCount": 3991,"categories": ["Tools", "Power Tools", "Drills", "Power Drills"],"storeId": "121","zipCode": "30303","scrapedAt": "2026-07-14T06:26:48.616Z"}
Fields unavailable on a source page are omitted rather than invented.
How much does it cost to scrape Home Depot products?
This Actor uses pay-per-event pricing.
You pay a small run-start fee plus a per-product event for records successfully saved.
The exact tier price appears on the Actor pricing tab before you run it.
Residential browser traffic and compute are included in the Actor's pricing model; no separate proxy setup is needed.
Start with a low maxItems value to estimate the cost of your workflow.
Price monitoring workflow
Schedule a run daily or weekly with stable keywords and location settings.
Export these fields into your database:
itemIdpriceoriginalPricepromotionavailabilityfulfillmentscrapedAt
Compare each snapshot with the previous one to detect price, promotion, or stock changes.
Use a webhook to notify Slack, email, or your internal system when values change.
Local inventory and fulfillment
Home Depot data can vary by store and ZIP code.
The fulfillment array can include:
- Buy online, pick up in store
- Ship to home
- Express or scheduled delivery
- Store name and location ID
- Inventory quantity and stock flags
- Distance from the selected location
- Delivery timeline and charge
Availability is public but can change quickly.
Treat each run as a timestamped observation, not a reservation guarantee.
Search pages versus product pages
Search pages are efficient for assortment discovery.
They usually include:
- IDs
- Titles and brands
- Prices and promotions
- Ratings and review counts
- Images
- Category paths
- Fulfillment summaries
Product pages are best for enrichment.
They can additionally include:
- Long descriptions
- Product highlights
- Full specification tables
- More images
- Rich product metadata
For a two-stage workflow, scrape search results first and then run selected productUrl values through a detail job.
Tips for reliable runs
- ๐ฏ Keep the first run to 5โ10 products.
- ๐ Use a real US ZIP code and its matching Home Depot store ID.
- ๐ Prefer canonical Home Depot URLs.
- ๐งฉ Use detail URLs when specifications are required.
- โฑ๏ธ Schedule at a reasonable frequency; inventory may change throughout the day.
- ๐งน Deduplicate downstream by
itemIdandscrapedAt. - ๐ Retry a failed run later if Home Depot temporarily restricts public traffic.
The Actor automatically rotates up to six residential sessions per source.
Export formats
Apify datasets support:
- JSON
- JSONL
- CSV
- Excel
- XML
- RSS
Choose a clean export to omit hidden dataset metadata.
Large image and fulfillment arrays are preserved most naturally in JSON.
Integrations
Google Sheets
Send each completed dataset to a spreadsheet for a lightweight price watch list.
Webhooks
Trigger an automation when the run succeeds, fails, or times out.
Make and Zapier
Connect product records to alerts, CRM objects, catalog audits, or reporting flows.
Amazon S3 and cloud storage
Archive timestamped JSON snapshots for historical analysis.
Databases and BI tools
Load stable item IDs and numeric fields into PostgreSQL, BigQuery, Snowflake, or a dashboard.
API usage
JavaScript API access
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({keywords: ['cordless drill'],maxItems: 10,zipCode: '30303',storeId: '121'});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
API access with Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/home-depot-product-scraper').call(run_input={'keywords': ['cordless drill'],'maxItems': 10,'zipCode': '30303','storeId': '121',})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
API access with 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 '{"keywords":["cordless drill"],"maxItems":10,"zipCode":"30303","storeId":"121"}'
Poll the returned run ID, then download items from its default dataset.
Use with Apify MCP
Connect the Actor to AI assistants through the Apify MCP server:
https://mcp.apify.com?tools=automation-lab/home-depot-product-scraper
Claude Code setup
$claude mcp add --transport http apify-home-depot "https://mcp.apify.com?tools=automation-lab/home-depot-product-scraper"
Then ask:
Scrape 10 Home Depot cordless drills for store 121 and compare price, rating, and pickup quantity.
Claude Desktop setup
Add this server to the Claude Desktop MCP configuration:
{"mcpServers": {"apify-home-depot": {"url": "https://mcp.apify.com?tools=automation-lab/home-depot-product-scraper"}}}
Then ask:
Extract this Home Depot refrigerator page and summarize its specifications and customer rating.
Cursor setup
Use the same mcpServers JSON in Cursor MCP settings and enable apify-home-depot.
VS Code setup
Add the same HTTP MCP URL through the VS Code MCP server settings, then select the Home Depot tool in agent mode.
Example prompts
- "Scrape 10 Home Depot cordless drills and rank them by rating and price."
- "Extract this Home Depot appliance page and summarize its dimensions and warranty."
- "Monitor patio furniture for ZIP 10001 and show products available for pickup."
- "Compare current price, original price, promotion, and inventory for these product URLs."
Agent workflow prompt
Run a weekly Home Depot patio furniture monitor for ZIP 10001, store 6175, and flag products whose price changed.
MCP makes the Actor callable as a tool while datasets preserve the complete structured result.
Scheduling and webhooks
Create an Apify schedule for recurring monitoring.
Use the same input on each run so item IDs and location context remain comparable.
A webhook can send the run dataset ID to your processing service.
Recommended pattern:
- Schedule the Actor.
- Receive a successful-run webhook.
- Download the default dataset.
- Compare it with the previous snapshot.
- Store changes and send alerts.
Data quality and limitations
Home Depot controls the source data and can change page structure, prices, inventory, and availability.
Some products intentionally hide prices or are store-only.
Search records may not contain full specifications.
A selected store may not serve every ZIP code.
The Actor extracts public observations and does not place orders, reserve inventory, or access accounts.
Legality and responsible use
This Actor accesses public product pages without logging in.
You are responsible for your use case, collection volume, storage, and compliance with applicable laws and website terms.
Do not use the Actor to collect personal data, bypass access controls, or interfere with the source service.
Use reasonable schedules and retain only data needed for a legitimate purpose.
Troubleshooting
Why did a run return no products?
Check that the URLs are public homedepot.com product or search pages and that keywords are not empty.
Home Depot may temporarily block public sessions; retry later if all six bounded sessions fail.
Why is price missing?
Some products hide price, require store selection, are unavailable, or expose price only for a different location.
Try a relevant store ID and ZIP code.
Why are specifications empty?
Search pages expose overview data.
Run the returned productUrl as a detail input for richer fields.
Why does inventory differ from the website?
Inventory changes quickly and may depend on location, quantity, delivery method, and source timing.
Use scrapedAt, storeId, and zipCode when comparing observations.
FAQ
Does the Actor require a Home Depot account?
No.
It accesses public US product and search pages anonymously.
Can I scrape multiple keywords?
Yes.
Add several values to keywords; the global maxItems limit applies across them.
Are duplicate products returned?
No.
Records are deduplicated by Home Depot item ID within each run.
Can I scrape reviews?
The Actor returns aggregate rating and review count.
It does not output individual review records.
Can I monitor a specific store?
Yes.
Set storeId and zipCode and preserve those values across scheduled runs.
Does it support Canada or Mexico?
No.
The current Actor targets the public US homedepot.com catalog.
Related scrapers
Combine this Actor with other automation-lab retail tools:
Use source-specific IDs separately and join products by model number, GTIN, brand, or normalized title when appropriate.
Support
If a valid public Home Depot input fails consistently, open an issue from the Actor page.
Include:
- The input URL or keyword
- Store ID and ZIP code
- Approximate run time
- The failing run URL
- The expected product or field
Do not include passwords, account cookies, payment details, or other secrets.