Home Depot Product Scraper - Bulk Stock, Price & Lookup by ZIP
Pricing
from $0.40 / 1,000 inventory results
Home Depot Product Scraper - Bulk Stock, Price & Lookup by ZIP
Home Depot product scraper, stock checker and price lookup by ZIP code: compare store-local prices, exact inventory counts when exposed, pickup and curbside availability across products, ZIP codes and nearby stores. Bulk basket lookup finds which stores can fulfill every item; failed rows are free.
Pricing
from $0.40 / 1,000 inventory results
Rating
0.0
(0)
Developer
Kamer Ozkan
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Home Depot product scraper, stock checker, and price lookup by ZIP code: enter Home Depot Internet IDs, product URLs, or Store SKUs, add US ZIP codes, and get one structured row for every product x nearby-store check - store-local price, exact inventory count when Home Depot exposes it, pickup and curbside availability, bulk and clearance pricing - plus a decision-ready summary of the lowest-price and best-stock store.
Local price and inventory can differ between stores, but a difference is not guaranteed for every product or location. The Actor reports the live values it finds, whether they differ or match, and never converts a missing value into zero.
This Actor is an independent data automation tool and is not affiliated with, endorsed by, or sponsored by Home Depot.
What you can build with it
π§Ί 1. A basket check: which store has every item ready for pickup?
Enter a multi-product basket and one or more ZIP codes. The OUTPUT summary lists storesWithAllItems, so a contractor, installer, or operations team knows which nearby store can fulfill the whole order today:
{"products": ["206577650", "sku:1001619357", "https://www.homedepot.com/p/319360335"],"zipCodes": ["10001"],"storesPerZip": 3}
πΊοΈ 2. A regional price and stock matrix
One product across several markets with one nearby store per ZIP: compare store-local prices, bulk-price tiers (the row below shows a $114 list price with a $102.60 bulk tier at quantity 2), clearance flags, and stock counts. Ideal for resellers, arbitrage teams, and pricing analysts.
{"products": ["206577650"],"zipCodes": ["10001", "60601", "75201"],"storesPerZip": 1}
π¬ 3. Local availability before the trip
Check pickup, curbside pickup, maxPickupQuantity, and limitedQuantity for the exact product at the exact stores near a customer, before dispatching a driver or promising a delivery date.
π 4. Scheduled inventory watch with a hard cost cap
Save the input as a Task and schedule it. maxMatrixRows caps rows (and therefore cost) per run; failed rows are never billed. Export the dataset to CSV or Excel, or let a Make, Zapier, or n8n workflow read it after each run.
Pricing and cost examples
You pay per successful matrix row (one product at one store) plus a small Actor start. Failed, blocked, and NO_STORE_DATA rows are free.
| Event | Price | Notes |
|---|---|---|
| β Inventory result | $0.003 ($3 per 1,000) | Effective 16 September 2026; until 15 September 2026 the live price is $0.0005 |
| βΆοΈ Actor start | $0.005 per GB | Once per run; the default 2 GB run is $0.01 |
Worked examples at the 16 September prices:
- Try it first, 1 product x 1 ZIP x 3 stores (3 rows): β $0.02
- Basket check, 20 products x 2 ZIPs x 3 stores (120 rows): β $0.37
- Daily regional watch, 10 products x 5 ZIPs x 1 store (50 rows): β $0.16 per run β β $4.80 per month
- Largest matrix, 500 rows: β $1.51
Plan discounts of up to 30% apply on paid Apify plans; the Actor's pricing tab always shows the current values.
Related Actors
- Walmart Product Scraper - Price Tracker & Stock Checker by ZIP - the same store-verified, multi-ZIP approach for Walmart, with change detection across runs
- Google Ads Transparency Center Scraper & Ad Change Monitor - competitor ad changes for the brands you price-track
- Lieferando Menu Scraper - Restaurant Menus, Prices & Delivery - menu and delivery price intelligence for the German market
Try it first
The default Try for free input uses one direct Home Depot Internet ID, one ZIP code, and three nearby stores. This keeps the first matrix to three store checks while still making the comparison useful:
{"products": ["206577650"],"zipCodes": ["95050"],"storesPerZip": 3}
Compare three ZIP codes
To compare one product across three US markets, use one nearby store per ZIP:
{"products": ["206577650"],"zipCodes": ["10001","60601","75201"],"storesPerZip": 1}
This exact input ran live on 2026-07-28. Manhattan reported 2 units and Chicago 5, both at the same price, and the Dallas store timed out and was delivered as an uncharged FAILED row instead of disappearing:
[{"status": "SUCCESS","zipCodeRequested": "10001","storeName": "Manhattan West 23rd St","price": 114,"bulkPrice": 102.6,"bulkQuantityRequired": 2,"stockQuantity": 2,"inStock": true,"pickupAvailable": true,"curbsidePickupAvailable": false,"distanceMiles": null},{"status": "SUCCESS","zipCodeRequested": "60601","storeName": "South Loop","price": 114,"bulkPrice": 102.6,"bulkQuantityRequired": 2,"stockQuantity": 5,"inStock": true,"pickupAvailable": true,"curbsidePickupAvailable": false,"distanceMiles": null},{"status": "FAILED","zipCodeRequested": "75201","storeName": "Lemmon Avenue","reasonCode": "UNEXPECTED_ERROR","errorMessage": "page.goto: Timeout 20000ms exceeded. (call log shortened here)"}]
The run's OUTPUT record answered the comparison honestly: no price difference to act on, a real stock difference of 3 units:
What it helps answer
- Which checked store reports the lowest local price for each product?
- Which checked store reports the highest available stock?
- Are pickup and curbside pickup available at a specific location?
- Which stores have every item in a multi-product basket ready for pickup?
- Did Home Depot expose clearance, limited-quantity, or bulk-pricing details?
Input
The Actor accepts Home Depot Internet IDs, product URLs, and Store SKUs.
Bare 10-digit Store SKUs beginning with 100 and legacy 6-7 digit Store SKUs
are detected automatically. Prefix any Store SKU with sku: when you want to
make the identifier type explicit.
The maximum matrix size is controlled by maxMatrixRows. A request with 20
products, 2 ZIP codes, and 3 stores per ZIP can produce 120 rows.
Output
The default dataset starts with the comparison fields customers usually need: ZIP, store, stock, price, pickup, curbside pickup, distance, and product. It then includes identifiers, raw metadata, and machine-readable error details.
Re-verified on 2026-09-02 (run rZmxfWmkMwktjn3i6): the same product at Manhattan West 23rd St showed stockQuantity: 1 and at Chicago South Loop stockQuantity: 7, both at $114 list with the $102.60 bulk tier - a live example of stock differing by store while price does not. This is a complete, unedited row from a live run on 2026-07-28 (note the bulk price tier Home Depot publishes for this product):
{"status": "SUCCESS","productInput": "206577650","productId": "206577650","storeSkuNumber": "1001619357","productName": "Prep Series 1/2 HP Continuous Feed Garbage Disposal with Power Cord and Universal Mount","modelNumber": "GXP50C","productUrl": "https://www.homedepot.com/p/MOEN-Prep-Series-1-2-HP-Continuous-Feed-Garbage-Disposal-with-Power-Cord-and-Universal-Mount-GXP50C/206577650","zipCodeRequested": "10001","storeId": "6175","storeName": "Manhattan West 23rd St","storeNameRaw": "Manhattan West 23rd St","storeAddress": "40 West 23rd Street, New York, NY, 10010","distanceMiles": null,"price": 114,"originalPrice": null,"clearancePrice": null,"clearancePercentageOff": null,"bulkPrice": 102.6,"bulkQuantityRequired": 2,"stockQuantity": 2,"inStock": true,"limitedQuantity": false,"pickupAvailable": true,"curbsidePickupAvailable": false,"maxPickupQuantity": null,"availabilityType": "Shared","reasonCode": null,"errorMessage": null,"checkedAt": "2026-07-28T21:09:05.889Z"}
The OUTPUT key-value-store record contains:
priceRangeandstockRangefor a single-product runlowestPriceStoreandbestStockStorefor a single-product runproductComparisonswith the same decision fields calculated separately for every product in a multi-product runstoresWithAllItemsfor pickup-ready basket availability- totals, identifier mappings, resolved stores, and failure counts
Top-level price and stock decisions are null for multi-product runs because
prices from different products should not be compared with each other. Use
productComparisons in that case.
Billing
When pay-per-event pricing is enabled, the Actor uses two transparent events:
actor-start: $0.005 per GB of run memory (default 2 GB = $0.01), charged once per runinventory-result: $0.003 per successful matrix row, effective 16 September 2026 (until 15 September 2026 the live price is $0.0005)
Failed rows are not charged. The Actor respects the caller's maximum charge limit and stops producing paid rows when that limit is reached.
This Actor is also exposed to AI agents through Apify's MCP server (mcp.apify.com): an agent can discover it by search and run it with the same pay-per-event billing, with no separate integration.
Reliability and data semantics
Inventory is live storefront data and can change after the run. A null value
means Home Depot did not expose that field; it is never converted to zero.
FAILED rows include a machine-readable reasonCode and errorMessage.
A real failure row from a live run, structured and uncharged:
{"status": "FAILED","productInput": "319360335","productId": "319360335","zipCodeRequested": "95050","reasonCode": "NO_STORE_DATA","errorMessage": "Home Depot returned no fulfillment data for product 319360335 at store 0630 (call log shortened here)","checkedAt": "2026-07-28T14:59:56.433Z"}
A US residential proxy is strongly recommended and is enabled by default. Apify compute and proxy usage depend on the selected pricing configuration.
Legal
This Actor is an independent data automation tool and is not affiliated with, endorsed by, or sponsored by Home Depot. Use it responsibly and comply with applicable laws and website terms.