Home Depot Scraper - Product Prices, Discounts & Ratings avatar

Home Depot Scraper - Product Prices, Discounts & Ratings

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Home Depot Scraper - Product Prices, Discounts & Ratings

Home Depot Scraper - Product Prices, Discounts & Ratings

Scrape Home Depot US products by keyword, search URL or item ID: title, brand, model number, price, original price, discount %, rating and review count. Store-localized pricing with automatic pagination. Export to JSON, CSV or Excel for price monitoring and retail research.

Pricing

from $5.00 / 1,000 results

Rating

0.0

(0)

Developer

Haketa

Haketa

Maintained by Community

Actor stats

0

Bookmarked

7

Total users

2

Monthly active users

5 days ago

Last modified

Security

Limited permissions

Share

Home Depot Scraper — Product Prices, Discounts, Ratings & Reviews

This Home Depot scraper extracts clean, structured product data from Home Depot — price, original/MRP price, discount %, savings, rating, review count, brand, model number, store SKU and image — straight from keyword searches, search URLs, product URLs or item IDs. No login, no coding. It turns Home Depot listings into analysis-ready rows for price monitoring, retail intelligence and catalog enrichment, with store-localized pricing and automatic pagination across the full result set. When you need to scrape Home Depot at scale without maintaining anti-bot workarounds yourself, this actor does it for you.

Export to JSON, CSV, Excel, or API.

🛠️ Built for price-monitoring teams, e-commerce and marketplace analysts, retail buyers and merchandisers, dropshippers and resellers, competitive-intelligence researchers, and developers feeding product catalogs into dashboards, databases and AI agents.


🔎 Why scrape Home Depot?

Home Depot is the largest home-improvement retailer in the United States, with a catalog spanning tools, hardware, appliances, building materials, lighting, lawn & garden, paint and more. Its product pages hold exactly the signals retail and pricing teams care about: the current price, the was/original price, the percentage off, star ratings and review counts, plus hard identifiers like item ID, brand, model number and store SKU. Because pricing is store-localized, the same SKU can show different numbers depending on the store, which makes a programmatic, store-aware snapshot far more useful than eyeballing the site.

Collecting this manually is slow and error-prone. Prices and promotions change constantly, search results run across many pages, and copy-pasting item IDs, prices and ratings into a spreadsheet does not scale past a handful of products. The site is also protected by Akamai anti-bot defenses, so a naive request is blocked with an HTTP 403. This Home Depot scraper handles the challenge-solving, fingerprinting, pagination and de-duplication for you, and returns one clean record per product.

Common reasons people scrape Home Depot:

  • 📉 Price monitoring — track price drops, promotions and original-price changes on a known list of item IDs.
  • 🧭 Competitor and assortment research — compare brands, price bands, ratings and which products rank for a search.
  • 📚 Catalog enrichment — add identifiers, images, model numbers and live pricing to an existing product database.
  • ⭐ Review and rating analysis — surface highly-rated vs. poorly-rated products and review volume by category.
  • 🏷️ Promotion and discount tracking — capture savings and percentageOff for products currently on sale.
  • 📊 Retail dashboards and BI — feed structured Home Depot data into Sheets, Looker, Power BI or a warehouse.
  • 🤖 AI, agents and automation — give LLM workflows current, structured product facts instead of scraped HTML.

✨ What this Home Depot scraper does

  • ✅ Four ways to target products — search by keywords, paste Home Depot search URLs (/s/…), paste product URLs (/p/…), or look up exact item IDs. All inputs are combined into one run.
  • ✅ Automatic pagination — the actor reads the first search page, extracts the search token (navParam), then calls Home Depot's internal searchModel GraphQL endpoint to page through the full result set (24 products per page), returning hundreds of de-duplicated products per search, capped only by your maxResults. A single keyword run in testing returned 400 unique products with zero duplicates.
  • ✅ Rich, flat product records — every item carries identity (itemId, title, productUrl), brand data (brand, modelNumber, storeSkuNumber, productType), pricing (price, originalPrice, savings, percentageOff, currency), reputation (rating, reviewCount), media (imageUrl) and run context (storeId, query, sourceUrl, scrapedAt).
  • ✅ Store-localized pricing — pass a storeId and the actor sets the store cookie so prices and promotions reflect that local store.
  • ✅ Built-in filters — narrow keyword searches by sortBy (best match, top sellers, price low→high, price high→low, top rated) and by a priceMin / priceMax USD range.
  • ✅ De-duplication — results from every keyword, URL and ID are merged and de-duplicated by Home Depot item ID, so you never get the same product twice.
  • ✅ Reliable anti-block handling — Home Depot's Akamai protection (including its sec-cpt JavaScript challenge) is solved automatically via Apify's Unblocker proxy, with a mobile-Safari TLS fingerprint and automatic retries, so you don't maintain your own bypass.
  • ✅ Export anywhere — download as JSON, CSV, Excel, HTML, XML or RSS, or pull results through the Apify API.

🎯 Use cases

  • 🛒 E-commerce & marketplace analysts benchmark Home Depot prices, discounts and ratings against other retailers.
  • 💵 Pricing & revenue teams monitor competitor price changes and promotion depth on a fixed basket of item IDs.
  • 🏬 Retail buyers & merchandisers study assortment, brand mix and price bands across a product category.
  • 📦 Dropshippers & resellers source product identifiers, images, prices and model numbers for their own storefronts.
  • 🔬 Market researchers quantify brand visibility, discount frequency and review-volume signal by keyword.
  • 🧮 Data & BI engineers pipe structured Home Depot product snapshots into warehouses and reporting tools.
  • 🤖 AI & automation builders feed current product facts to agents, chatbots and Make/Zapier workflows.
  • 🏗️ Procurement & estimators pull live pricing on tools, materials and hardware for cost planning.

📥 Input

Configure the run in the Apify Console UI or pass a JSON input via the API. Provide at least one of keywords, startUrls or productIds (if you leave them all empty the actor defaults to a cordless drill search).

FieldTypeDescription
keywordsarray of stringsSearch phrases to run on Home Depot (e.g. cordless drill, ceiling fan). Paginated automatically.
startUrlsarrayHome Depot search (/s/…) or product (/p/…) URLs. Scraped in addition to the keywords.
productIdsarray of stringsHome Depot item IDs (the number in a /p/…/NNNNNNNNN URL) to fetch directly.
sortBystring (enum)Ordering for keyword searches: BEST_MATCH, TOP_SELLERS, PRICE_LOW_TO_HIGH, PRICE_HIGH_TO_LOW, TOP_RATED. Default BEST_MATCH.
storeIdstringHome Depot store ID for localized pricing. Default 121.
priceMinintegerKeep only products at or above this USD price.
priceMaxintegerKeep only products at or below this USD price.
maxResultsintegerMaximum number of unique products to collect across all searches and URLs. Default 48.
proxyConfigurationobjectProxy settings. The actor routes blocked pages through Apify's Unblocker automatically; your selected country (default US) is honored.
{
"keywords": ["cordless drill", "impact driver"],
"sortBy": "TOP_SELLERS",
"storeId": "121",
"priceMin": 50,
"priceMax": 300,
"maxResults": 200,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyCountry": "US"
}
}

Monitor a fixed list of products by item ID:

{
"productIds": ["343493170", "339545347"],
"storeId": "121"
}

📤 Output

Each product is pushed to the dataset as a clean, flat record. Fields are omitted when Home Depot does not publish them for a given product (for example, originalPrice, savings and percentageOff are present only when an item is on promotion). Below is a real record from a fresh run (a Milwaukee impact driver on sale):

{
"itemId": "343493170",
"title": "M18 FUEL SURGE 18V Lithium-Ion Brushless Cordless 1/4 in. Hex Impact Driver w/ (2) 6.0Ah Battery & Charger",
"brand": "Milwaukee",
"modelNumber": "2761-20-48-59-1862S",
"storeSkuNumber": "1016118424",
"productType": "MERCHANDISE",
"productUrl": "https://www.homedepot.com/p/Milwaukee-M18-FUEL-SURGE-18V-Lithium-Ion-Brushless-Cordless-1-4-in-Hex-Impact-Driver-w-2-6-0Ah-Battery-Charger-2761-20-48-59-1862S/343493170",
"price": 299,
"originalPrice": 548,
"savings": 249,
"percentageOff": 45,
"currency": "USD",
"rating": 4.77,
"reviewCount": 1462,
"availability": "available",
"imageUrl": "https://images.thdstatic.com/productImages/dbb04672-5424-4fd0-89be-a71271a765f2/svn/milwaukee-impact-drivers-2761-20-48-59-1862s-64_600.jpg",
"storeId": "121",
"query": "cordless drill",
"sourceUrl": "https://www.homedepot.com/s/cordless%20drill",
"scrapedAt": "2026-11-02T01:18:11.907Z"
}
FieldDescription
itemIdHome Depot item ID — the unique identifier and the de-duplication key.
titleProduct name / label.
brandBrand name (present when available).
modelNumberManufacturer model number (present when available).
storeSkuNumberHome Depot internal store SKU (present when available).
productTypeProduct type classification (e.g. MERCHANDISE).
productUrlAbsolute URL to the product page.
priceCurrent price in USD (omitted for the few MAP/"see-price-in-cart" items).
originalPriceWas/original price — present only when it differs from the current price (i.e. on sale).
savingsDollar amount off — present when on promotion.
percentageOffDiscount percentage — present when on promotion.
currencyCurrency code (USD) — present when a price is available.
ratingAverage star rating — present when the product has reviews.
reviewCountNumber of reviews — present when the product has reviews.
availabilityFulfillment/availability hint — present when Home Depot exposes it.
imageUrlProduct image URL (upsized to a 600px variant where possible).
storeIdStore ID used for localized pricing.
queryThe keyword that produced this result (for keyword searches).
sourceUrlThe search or product URL this record came from.
scrapedAtISO 8601 timestamp of the run.

Field coverage (from a fresh 400-product run): itemId, title, productUrl, productType, imageUrl and rating 100%; brand, modelNumber, reviewCount 99%; storeSkuNumber 97%; price/currency 96%; promotion fields (originalPrice, savings, percentageOff) ~19% (on-sale items only). Low-percentage fields are genuinely data-dependent, not missing — Home Depot simply does not publish them for every product.

🔁 Pagination & scale

For each keyword or search URL, the actor loads page 1 of the Home Depot search through Apify's Unblocker (which solves the Akamai sec-cpt challenge), extracts the search token (navParam) and the first batch of products, then calls Home Depot's internal searchModel GraphQL endpoint to page through the rest — advancing the startIndex by 24 products per page over fresh residential sessions. It keeps paging until it reaches your maxResults, exhausts the search's totalProducts, or hits Home Depot's deep-paging limit, so a single broad keyword can return hundreds of de-duplicated products (a verification run returned 400 unique items, 0 duplicates). Product URLs and item IDs are fetched directly from the product page. Results from every input are merged and de-duplicated by itemId, and the overall run is capped by the maxResults input — set it higher for broader catalog coverage or combine several focused searches.

⚙️ How to use

  1. Open the actor in the Apify Console and click Try for free.
  2. Enter your targets — one or more keywords, and/or Home Depot search URLs, product URLs or item IDs.
  3. Tune the run — pick a sortBy, a storeId for local pricing, an optional priceMin/priceMax range, and a maxResults limit.
  4. Click Start and watch the live status update as products are collected.
  5. Export the data as JSON, CSV, Excel, XML, HTML or RSS, or fetch it via the Apify API.
  6. Automate it — run on a schedule for recurring price snapshots, or connect the dataset to Make, Zapier, Google Sheets, a webhook or the Apify MCP server for AI agents.

Call it from the API

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('haketa/home-depot-product-scraper').call({
keywords: ['cordless drill', 'impact driver'],
maxResults: 100,
storeId: '121',
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);

💡 Tips

  • Use focused keywords such as cordless drill, ceiling fan or bathroom vanity for the most relevant results.
  • Keep the same storeId across scheduled runs so price snapshots stay comparable over time.
  • Use exact item IDs (the number in a /p/…/NNNNNNNNN URL) to monitor a known list of products precisely.
  • Combine several focused searches in one run for broader catalog coverage — results are de-duplicated for you.
  • Set sortBy to PRICE_LOW_TO_HIGH plus a priceMax to capture the budget end of a category.
  • Start with a small maxResults, confirm the fields you need, then raise the limit for a full pull.

❓ FAQ

Is scraping Home Depot legal? This actor collects only publicly visible product information — no login or private data. You are responsible for how you use the data: respect Home Depot's Terms of Service and robots.txt, collect only public information, and comply with all applicable laws. This is an independent tool and is not affiliated with, endorsed by, or connected to The Home Depot.

Do I need a Home Depot account or login? No. The Home Depot scraper works entirely on publicly accessible pages and never requires an account.

How many products can I get, and how fast? A single keyword search can return hundreds of de-duplicated products via automatic pagination — a fresh verification run collected 400 unique products for one keyword. The total per run is controlled by maxResults. Speed depends on how many products and keywords you request and on challenge-solving/proxy performance.

Do I need proxies, and why the Unblocker? Proxies are configured for you. Home Depot's Akamai protection serves a JavaScript (sec-cpt) challenge on its search and product pages that a plain HTTP request cannot pass, so the actor routes those pages through Apify's Unblocker proxy, which solves the challenge and returns the real page. Pagination then uses standard US residential sessions. You can choose the proxy country in proxyConfiguration; US is the default.

Is there a Home Depot API? Home Depot does not offer a public product API for this data. This actor acts as your Home Depot API, returning structured JSON over Apify's API and SDKs.

Why is a price or some field sometimes missing? Pricing, discounts and reviews depend on the store and the product's status. originalPrice, savings and percentageOff appear only for products on promotion; a handful of MAP/"see price in cart" items have no listed price. Missing values are omitted rather than invented.

Can I filter by price or sort the results? Yes. Use priceMin/priceMax to keep products within a USD range, and sortBy to order keyword searches by best match, top sellers, price or rating.

How fresh is the data? Every record is captured live at run time and stamped with scrapedAt. Schedule the actor to keep a continuously updated price and rating feed.

Which market is supported? Home Depot US, with a storeId for store-localized pricing.

What export formats are available? JSON, CSV, Excel, HTML, XML and RSS — from the Apify Console or the API.


▶️ Ready to scrape Home Depot? Enter a keyword, set your result limit and click Start — structured product data in JSON, CSV, Excel or API in minutes.