Home Depot API — Products & Nearby Stores
Pricing
from $2.00 / 1,000 successful product extractions
Home Depot API — Products & Nearby Stores
Collect Home Depot product information for a selected store and ZIP code, or find nearby stores. Export structured product data with explicit missing-field warnings.
Pricing
from $2.00 / 1,000 successful product extractions
Rating
0.0
(0)
Developer
Gaurav Kumar Choudhary
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
At a glance
- Collect: Product page metadata or nearby-store lookup, selected with mode.
- Input: use the runnable example below or the prefilled Input form.
- Output: the default dataset supports JSON/CSV/Excel export; see output modes below.
- Billing: $2 per 1,000 successful products or validated store lookups. A store lookup is not charged per returned store. No startup fee. Platform usage may be additional.
- Limits: No keyword search, full review extraction or verified stock quantities; inspect pricing-store warnings.
Collect product information for a selected Home Depot store and ZIP code, or find stores near a ZIP code or coordinates. Built for catalogue enrichment, product research and localized page comparisons.
Product input
{"mode":"products","products":["330625530"],"storeId":"2414","zipcode":"04401","maxItems":20}
Supply 9-digit Internet item IDs or full HTTPS product URLs. Duplicates are removed before fetching. Use stores mode to find store numbers. ZIP codes are strings so leading zeros are preserved.
Nearby stores
{"mode":"stores","zipcode":"04401","maxItems":20}
Alternatively omit zipcode and provide latitude and longitude. A valid lookup with no nearby stores returns an empty dataset and a successful summary.
Results
Product rows include item ID, title, brand, model number, description, price, currency, rating, review count, images, page-level availability, store/ZIP context, timestamp and warnings. When embedded catalogue data is present, rows also include original price, UPC, store SKU and categories. priceStoreId and priceStoreMatchesRequested disclose embedded pricing context when detectable. Missing fields are null, never fabricated zeros. Store rows include ID, name, phone, distance in miles, address and coordinates when available.
Export the default dataset as JSON, CSV or Excel. The SUMMARY key-value record reports completed requests, result count, per-item failures and budget stops. Partial batches preserve earlier results.
Important limitations
This version supports product pages and nearby-store lookup, not keyword search, category crawling, individual review records or verified inventory counts. Prices and availability are extracted from structured page metadata. Some data loads dynamically and may be absent. A store-localized session does not prove every field in page metadata is store-specific; use the warnings and verify critical purchasing decisions independently.
Billing
Pricing: $2 per 1,000 successful product requests and $2 per 1,000 store lookups, with no run-start fee or monthly rental. Check the live Pricing tab for the current price and applicable platform terms.
Billing units: product-request (one successfully parsed product, even if optional fields are missing) and store-lookup (one validated lookup, even when empty, regardless of returned store count). Invalid input and parse failures do not produce billable events.
Support
Open an issue with the run ID and expected result, without API tokens or sensitive data. For custom use cases and integration projects, contact the developer using their profile contact details.
Independent tool; not affiliated with or endorsed by The Home Depot.
Minimal API example
Store your own Apify token in APIFY_TOKEN; never paste it into public input or code. This example uses the same small input as the prefilled form.
import osimport requestsresponse = requests.post("https://api.apify.com/v2/acts/gauravlabs~homedepot-api/run-sync-get-dataset-items",headers={"Authorization": "Bearer " + os.environ["APIFY_TOKEN"]},json={"products":["330625530"],"storeId":"2414","zipcode":"04401"},timeout=300,)response.raise_for_status()print(response.json())
For large batches, start an asynchronous run with /runs, wait for its final status, and retrieve its default dataset. HTTP success when starting a run does not prove the extraction succeeded.
Minimal output shape (illustrative)
The following shows one documented field, not a fresh result or a promised yield. Inspect the output reference above for the complete schema.
{"priceStoreMatchesRequested": null}
Practical workflow and accuracy notes
For price monitoring, use a fixed product/store/ZIP input and schedule repeated runs. Join snapshots by itemId plus requested store context. Check priceStoreMatchesRequested, priceStoreId and warnings before treating a price as store-local. Null means unknown, not a match or zero price.