Home Depot Scraper - Bulk Stock, Price & Product Lookup by ZIP avatar

Home Depot Scraper - Bulk Stock, Price & Product Lookup by ZIP

Pricing

from $1.00 / 1,000 inventory results

Go to Apify Store
Home Depot Scraper - Bulk Stock, Price & Product Lookup by ZIP

Home Depot Scraper - Bulk Stock, Price & Product Lookup by ZIP

Home Depot stock checker & price scraper: compare store-local prices, exact inventory counts when exposed, pickup & curbside availability across products, ZIP codes & nearby stores. Bulk product lookup for baskets: find which stores can fulfill every item.

Pricing

from $1.00 / 1,000 inventory results

Rating

0.0

(0)

Developer

Kamer Ozkan

Kamer Ozkan

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 hours ago

Last modified

Categories

Share

Home Depot Stock & Price Checker - Compare Stores by ZIP

Compare Home Depot store-local prices, stock counts, pickup, and curbside availability across products, ZIP codes, and nearby stores. The Actor returns one structured row for every product × store check and a decision-ready summary.

Local price and inventory can differ, but a difference is not guaranteed for every product or location. The Actor reports the live values it finds, whether they differ or match.

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:

{
"priceRange": {
"minimum": 114,
"maximum": 114,
"difference": 0,
"hasDifference": false
},
"stockRange": {
"minimum": 2,
"maximum": 5,
"difference": 3,
"hasDifference": true
},
"lowestPriceStore": {
"zipCodeRequested": "60601",
"storeId": "1950",
"storeName": "South Loop",
"storeAddress": "1300 S Clinton Street, Chicago, IL, 60607",
"distanceMiles": null,
"productId": "206577650",
"productName": "Prep Series 1/2 HP Continuous Feed Garbage Disposal with Power Cord and Universal Mount",
"price": 114,
"stockQuantity": 5,
"inStock": true,
"pickupAvailable": true,
"curbsidePickupAvailable": false
},
"bestStockStore": {
"zipCodeRequested": "60601",
"storeId": "1950",
"storeName": "South Loop",
"storeAddress": "1300 S Clinton Street, Chicago, IL, 60607",
"distanceMiles": null,
"productId": "206577650",
"productName": "Prep Series 1/2 HP Continuous Feed Garbage Disposal with Power Cord and Universal Mount",
"price": 114,
"stockQuantity": 5,
"inStock": true,
"pickupAvailable": true,
"curbsidePickupAvailable": false
}
}

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.

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:

  • priceRange and stockRange for a single-product run
  • lowestPriceStore and bestStockStore for a single-product run
  • productComparisons with the same decision fields calculated separately for every product in a multi-product run
  • storesWithAllItems for 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.01, charged once, only after valid input and a successful Home Depot session
  • inventory-result: $0.001, charged only for each successful matrix row

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.

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.