Home Depot & Lowe's Scraper - Price & Store Stock
Pricing
from $4.00 / 1,000 product with details
Home Depot & Lowe's Scraper - Price & Store Stock
Scrape Home Depot and Lowe's products by keyword, category URL, product URL or item ID: price, was-price, UPC, model, SKU, local store price, in-store stock quantity, aisle/bay, pickup/delivery, specs, images, ratings and optional reviews.
Pricing
from $4.00 / 1,000 product with details
Rating
0.0
(0)
Developer
Wrenfield Data
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 hours ago
Last modified
Categories
Share
Home Depot & Lowe's Scraper - Prices, Store Stock, Aisle & Reviews
Scrape Home Depot (homedepot.com) and Lowe's (lowes.com) products in one Actor by search keyword, category or search URL, product URL or item ID. Get the price, was-price, savings, local store price, in-store stock quantity, aisle and bay, pickup / delivery / ship-to-home availability, UPC, model number, SKU / item #, brand, specifications, description, images, category breadcrumb, rating and review count. You can also get customer reviews.
Use it to compare Home Depot and Lowe's prices, monitor prices and MAP compliance, check local inventory before a store run, track clearance, research products and assortment, or enrich a catalog with UPCs and specs.
- ✅ Both big-box home-improvement retailers in one run: search a keyword on both sites, or mix Home Depot and Lowe's URLs and IDs. Every row has
retailerand the same field names, so you can compare them directly. - ✅ Local store price and stock: enter a ZIP code (or a store number) to get the nearest store's price, in-store quantity, aisle and bay for every product.
- ✅ Gets past bot protection: both sites use Akamai bot protection. The Actor opens a real browser only to earn a session, then reads the sites' own JSON data with that session. That is faster and cheaper than rendering every page.
- ✅ Reviews: get up to thousands of reviews per product, sorted by relevance or newest (Home Depot also: oldest, most helpful, highest or lowest rating).
- ✅ You only pay for results: retries, blocked requests, failed products and products that don't exist are free.
💸 $4 per 1,000 products with details (price, store stock, aisle, specs), $2 per 1,000 listing-only products and $0.50 per 1,000 reviews. Try it on Apify's free plan ($5 of monthly credit, no credit card).
Sample output
| Retailer | Product | Price | Rating | Reviews |
|---|---|---|---|---|
| homedepot | 16 oz. Fiberglass Claw Hammer | 14.97 | 4.71 | 609 |
| homedepot | 16 oz. Steel Rip Claw Hammer | 24.97 | 4.69 | 103 |
| homedepot | 20 oz. Hammer | 47.79 | 4.67 | 249 |
What data can you get?
| Field group | Fields |
|---|---|
| Identity | retailer (homedepot / lowes), itemId, sku (Home Depot store SKU / Lowe's item #), modelNumber, upc, title, brand, url, image |
| Price | price, wasPrice, savingsAmount, savingsPercent, unitPrice, currency; Home Depot also promotion, specialBuy, clearancePrice, clearancePercentOff, priceMessage; Lowe's also priceType, displayType |
| Local store | store (store ID, name, address, city, state, ZIP, phone), storeStockQuantity, aisle, bay, storeLimitedStock (Home Depot) |
| Availability | availability object: online, shipToHome, delivery, pickup, shipToStore / sameDayDelivery, inStore, onlineQuantity, buyable, discontinued, delivery dates; Home Depot also storeStatus (e.g. ACTIVE, CLEARANCE, DELETED = not carried at that store) |
| Ratings | rating, reviewCount |
| Catalog | categories (breadcrumb), specifications (group / name / value), description, highlights, bullets, images (all), badges, isBundle (Home Depot "sets") |
| Run info | detailsScraped, source (which keyword / URL / ID produced the row, page and position), scrapedAt |
Reviews (type: review) | reviewId, rating, reviewTitle, text, date, author, authorLocation, recommended, helpfulVotes, verifiedPurchase, incentivized, photos |
How to use
- Add search keywords (e.g.
cordless drill,ceiling fan) and choose whether to search Home Depot, Lowe's or both. - And/or add URLs: homedepot.com category (
/b/...N-5yc1v...), search (/s/...) or product (/p/...) pages; lowes.com category (/pl/...), search (/search?searchTerm=...) or product (/pd/...) pages. - And/or add product IDs:
hd:205594063(Home Depot internet # / OMSID),lowes:1000379005(Lowe's product ID from the URL) orlowes:921987(Lowe's item #). - Optional: enter a ZIP code for the nearest stores' price, stock and aisle, or a specific Home Depot / Lowe's store ID.
- Optional: turn on reviews.
- Set Max products and click Start. Download the results as JSON, CSV or Excel, or read them through the API.
Input example
{"searchKeywords": ["cordless drill"],"retailer": "both","startUrls": [{"url": "https://www.homedepot.com/b/Tools-Hand-Tools-Hammers-Claw-Hammers/N-5yc1vZc98p"},{"url": "https://www.lowes.com/pl/power-tools/4294607842"}],"productIds": ["hd:205594063", "lowes:1000379005", "https://www.lowes.com/pd/.../5013207487"],"maxItems": 100,"maxItemsPerQuery": 24,"zipCode": "30339","includeDetails": true,"includeReviews": true,"maxReviewsPerProduct": 20,"reviewsSort": "newest"}
- Both sites show 24 products per page. The Actor pages automatically. Home Depot allows about 700 products per search or category; split bigger categories into subcategories.
- Include product details (on by default) fetches each product's full data (UPC, specs, description, all images, store stock, aisle). Turn it off for a faster, cheaper listing-only scrape with the fields shown in the search grid (title, price, rating, availability, store stock on Lowe's).
Output example
One Lowe's product row with a store (shortened):
{"type": "product","retailer": "lowes","itemId": "5013207487","sku": "4913878","modelNumber": "KDD 2024A-03","upc": "195532000342","title": "Kobalt 24-volt 1/2-in Keyless Brushless Cordless Drill 1 -Batteries Included, and Charger Included","brand": "Kobalt","price": 99, "wasPrice": 159, "savingsAmount": 60, "savingsPercent": 37.7, "currency": "USD","rating": 4.5, "reviewCount": 615,"availability": {"online": true, "shipToHome": true, "delivery": true, "pickup": true, "sameDayDelivery": true, "onlineQuantity": 802},"storeStockQuantity": 13, "aisle": "65", "bay": "8","store": {"storeId": "1807", "name": "Sandy Springs Lowe's", "city": "Sandy Springs", "state": "GA", "zip": "30328"},"categories": ["HARDLINES", "POWER EQUIPMENT", "HANDHELD POWER TOOLS", "KOBALT 24V POWER TOOLS"],"specifications": [{"group": "General", "name": "Battery Voltage", "value": "24-volt"}],"url": "https://www.lowes.com/pd/.../5013207487","detailsScraped": true,"source": {"type": "search", "retailer": "lowes", "input": "cordless drill", "page": 1, "position": 1}}
One Home Depot product row with a store (shortened):
{"type": "product","retailer": "homedepot","itemId": "315048673","sku": "1004655426","modelNumber": "N-A16SHK","upc": "6940989322097","title": "16 oz. Steel Rip Claw Hammer","brand": "Husky","price": 24.97, "wasPrice": null, "currency": "USD","rating": 4.69, "reviewCount": 100,"availability": {"online": true, "shipToHome": true, "delivery": true, "pickup": true, "inStore": true, "onlineQuantity": 43, "storeStatus": "ACTIVE"},"storeStockQuantity": 10, "aisle": "14", "bay": "014","store": {"storeId": "121", "name": "Cumberland", "city": "Atlanta", "state": "GA", "zip": "30339"},"categories": ["Tools", "Hand Tools", "Hammers", "Claw Hammers"],"url": "https://www.homedepot.com/p/16-oz-Steel-Rip-Claw-Hammer-N-A16SHK/315048673"}
One review row:
{"type": "review", "retailer": "lowes", "itemId": "5013915503", "reviewId": "272540226", "rating": 5, "reviewTitle": "Great tools", "text": "I am extremely happy with every Bosch tool I have purchased...", "date": "2026-10-02T22:09:01.000Z", "author": "Impressed", "recommended": true, "helpfulVotes": 0}
Each row has a type: product, review or error. Error rows tell you which input failed and why (for example "not found"); they are free. The dataset has the views Products, Store stock and Reviews. A run summary is saved to the key-value store as SUMMARY. It includes success rates per retailer, the stores your ZIP resolved to, and request statistics.
Local prices and stock (ZIP code or store ID)
Both retailers show store-specific prices and stock. If you set zipCode, the Actor finds the nearest Home Depot and the nearest Lowe's store to that ZIP and uses them for every product. homeDepotStoreId / lowesStoreId pick an exact store instead (you can find the store number on the retailer's store page). Each row's store object shows which store the price and stock refer to. Without a ZIP or store, you get the online (national) price, and store fields are empty.
Reliability - how it works
Home Depot and Lowe's both use Akamai Bot Manager. Plain HTTP scrapers and headless browsers get "Access Denied" pages or empty answers. This Actor:
- Earns a real session once, then reuses it. A real browser (Chrome for Home Depot, Firefox for Lowe's search pages) opens one page through a US residential IP, so the bot check passes and sets its cookies. Many fast API requests then reuse that session. Images, fonts and third-party scripts are blocked to keep traffic low.
- Reads the sites' own data. Home Depot data comes from the same GraphQL API the website uses. Lowe's data comes from its product JSON and the page state. There are no fragile HTML selectors.
- Picks the cheapest route that works. Lowe's product data is tried on datacenter IPs first and moves to residential IPs and browser sessions only when needed. Routes that keep failing are switched off for the rest of the run, and blocked requests are retried with a new IP and session.
- Isolates errors per item. A product that fails never stops the run. If a product's details can't be loaded, you still get its search-grid data (
detailsScraped: false). Products that don't exist are reported as freeerrorrows.
Measured on the Apify platform (October 2026) with default settings:
| Test | Result | Time |
|---|---|---|
| Volume: keyword "ceiling fan" on both sites, ZIP 98101 (nearest store), full details | 100/100 products (50 Home Depot + 50 Lowe's), all with price, UPC and store stock | 137 s |
| Home Depot keyword + ZIP 30339 + 5 reviews per product | 20/20 products, 100 reviews, store stock on all 20 | 32 s |
| Lowe's category URL + store 1845 | 20/20 products with store stock, aisle and bay | 118 s |
| Mixed product URLs and IDs (Home Depot and Lowe's) + a search URL + store 121 | 10/10 existing products; 2 fake IDs correctly reported as not found | 113 s |
| Listing-only, keyword "paint roller" on both sites | 49/49 products | 74 s |
| Lowe's keyword + ZIP 30339 + 3 reviews per product | 9/9 products, 27 reviews | 114 s |
Pricing
This Actor uses pay-per-event pricing, so you pay only for results. See the Pricing tab for the current prices of these events:
| Event | When it is charged |
|---|---|
product-result | Each product with full details |
listing-result | Each listing-only product (details turned off, or the rare product whose details could not be loaded) |
review-result | Each review |
actor-start | Once per run |
Retries, blocked requests, failed products and products that don't exist are free. Proxy and compute costs are included. Set Maximum cost per run in the run options to cap your spend. The Actor stops cleanly at that limit and keeps everything it scraped so far. It also respects the maximum number of paid results you set.
Related tools
Track the same products at Walmart and across Google Shopping sellers.
- Walmart Scraper: Walmart prices, stock, sellers and reviews
- Google Shopping Price Comparison: compare seller prices for any product or UPC
- Shopify Store Scraper & Price Monitor: full catalogs and price/stock change alerts for any Shopify store
All of these are maintained by the same developer and export flat JSON, CSV or Excel, so you can feed one tool's dataset into the next.
FAQ
Is there an official Home Depot or Lowe's API? Not for the public. Home Depot and Lowe's have APIs for suppliers and partners only. This Actor gives you the data any shopper sees on homedepot.com and lowes.com as structured JSON, CSV or Excel. You can use it through the Apify API, schedules, webhooks and integrations.
How do I compare Home Depot and Lowe's prices for the same product?
Search the same keyword on both retailers, then match rows by upc or modelNumber. Both fields are filled for most products when details are on.
How do I check if a product is in stock at my local store?
Enter your ZIP code (or the store number). Every row then has storeStockQuantity, availability.pickup, and aisle / bay.
Can I monitor prices daily?
Yes. Save your product IDs or category URLs as a task, schedule it, and compare price, wasPrice, storeStockQuantity and availability between runs.
Where do I find a product ID?
It's the number at the end of the product URL. For example, homedepot.com/p/.../205594063 is hd:205594063, and lowes.com/pd/.../1000379005 is lowes:1000379005. You can also paste the full URL. Lowe's "Item #" numbers shown on the page (for example lowes:921987) work too.
Why are some prices empty?
Some Home Depot bundles ("sets", isBundle: true) and products sold only in some regions don't have a single price. Products shown as "See price in cart" may also have no price. Store fields are empty when you don't set a ZIP or store.
Why is the run slower at the start? The first request to each site opens a browser session to pass the bot check. That takes 10-40 seconds. After that, products load in parallel.
Does it work for Home Depot Canada or Mexico? No. It supports homedepot.com and lowes.com (US) only.
Can I use it from Python, Make, Zapier, n8n or an AI agent? Yes. Call the Actor through the Apify API, the Python or JavaScript client, the Apify MCP server or any Apify integration, then read the dataset items.
Is scraping Home Depot and Lowe's legal? This Actor only collects public data that anyone can see without logging in. Review rows include the public nickname the reviewer chose. Both retailers' terms of use restrict automated access, and laws differ by country and use case. Make sure your use complies with them, and handle any personal data according to GDPR, CCPA and similar laws. If you're unsure, ask a lawyer.