Home / Tools / Home Depot & Lowe's Scraper

E-commerce & reviews

Home Depot & Lowe's Scraper

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.

Run it on Apify API & MCP

Sample output

RetailerProductPriceRatingReviews
homedepot16 oz. Fiberglass Claw Hammer14.974.71609
homedepot16 oz. Steel Rip Claw Hammer24.974.69103
homedepot20 oz. Hammer47.794.67249

Real rows from the prefilled example run (Oct 19, 2026), 5 of 40+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.

Full JSON of one real output row (4 rows in the example dataset)
{
  "type": "product",
  "retailer": "homedepot",
  "itemId": "313383609",
  "modelNumber": "N-G16CHK",
  "sku": "1000300224",
  "upc": "6940989322059",
  "title": "16 oz. Fiberglass Claw Hammer",
  "brand": "Husky",
  "price": 14.97,
  "wasPrice": null,
  "currency": "USD",
  "unitOfMeasure": "each",
  "unitPrice": null,
  "savingsPercent": null,
  "savingsAmount": null,
  "promotion": null,
  "specialBuy": null,
  "clearancePrice": null,
  "clearancePercentOff": null,
  "priceMessage": null,
  "rating": 4.7094,
  "reviewCount": 609,
  "availability": {
    "online": true,
    "shipToHome": true,
    "delivery": true,
    "pickup": true,
    "shipToStore": false,
    "inStore": null,
    "onlineQuantity": 159,
    "discontinued": false,
    "buyable": true,
    "deliveryDates": {
      "startDate": "2026-10-19",
      "endDate": "2026-10-19"
    },
    "storeStatus": null
  },
  "storeStockQuantity": null,
  "storeLimitedStock": null,
  "aisle": null,
  "bay": null,
  "store": null,
  "categories": [
    "Tools",
    "Hand Tools",
    "Hammers",
    "... 1 more"
  ],
  "images": [
    "https://images.thdstatic.com/productImages/0c200382-13d5-47e4-87dc-40073719e483/svn/husky-claw-hammers-n-g16chk-64_1000.jpg"
  ],
  "specifications": [
    {
      "group": "Details",
      "name": "Claw Type",
      "value": "Curved"
    },
    {
      "group": "Details",
      "name": "Color Family",
      "value": "Black"
    },
    {
      "group": "Details",
      "name": "Face Type",
      "value": "Smooth"
    },
    "... 8 more"
  ],
  "description": "The 16 oz. curved hammer features a forward weight design to create more force with each swing, reducing the amount of blows needed to accomplish each task. This grip conforms with ergonomics for giving you maximum swinging and anti-vibration and has a curved grip for nonslip usa...",
  "highlights": [
    "Ergonomic handle is extremely comfortable",
    "Includes a magnetic nail starter",
    "Lifetime Warranty with no questions, no receipt required."
  ],
  "bullets": [
    "Forward weight design: efficiency striking",
    "Magnetic nail starter",
    "Grip conforms with ergonomics",
    "... 3 more"
  ],
  "variantParentId": "344242121",
  "url": "https://www.homedepot.com/p/Husky-16-oz-Fiberglass-Claw-Hammer-N-G16CHK/313383609",
  "image": "https://images.thdstatic.com/productImages/0c200382-13d5-47e4-87dc-40073719e483/svn/husky-claw-hammers-n-g16chk-64_1000.jpg",
  "detailsScraped": true,
  "source": {
    "type": "category",
    "retailer": "homedepot",
    "input": "https://www.homedepot.com/b/Tools-Hand-Tools-Hammers-Claw-Hammers/N-5yc1vZc98p",
    "page": 1,
    "position": 1
  },
  "scrapedAt": "2026-10-19T10:00:49Z"
}

Output fields

From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.

FieldTypeDescription
typestringRow type: product, review or error (error rows are free)
retailerstringhomedepot or lowes
itemIdstringHome Depot internet # / OMSID, or Lowe's product ID
modelNumberstringManufacturer model number
skustringHome Depot store SKU / Lowe's item #
upcstringUPC / barcode
titlestringProduct title
brandstringBrand
imagestringMain image URL
pricenumberCurrent price (local store price when a store/ZIP is set)
wasPricenumberPrevious / strike-through price
currencystringCurrency
unitPricenumber/stringPrice per unit when shown
unitOfMeasurestringUnit of measure (Home Depot)
savingsAmountnumberSavings vs was-price
savingsPercentnumberSavings percent
promotionobjectActive promotion (Home Depot)
specialBuybooleanSpecial Buy / deal of the day (Home Depot)
clearancePricenumberIn-store clearance price (Home Depot)
priceTypestringSTORE or NETWORK price (Lowe's)
ratingnumberAverage rating 1-5
reviewCountintegerNumber of reviews
availabilityobjectonline / shipToHome / delivery / pickup / inStore flags, online quantity, delivery dates
storeStockQuantityintegerUnits on hand at the selected store

Pricing

Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Product with details main
Charged once for each product successfully saved with product-page details.
$0.004$0.004$0.004$0.004
Listing-only product
Charged once for each listing-only product row (details off or details failed).
$0.002$0.002$0.002$0.002
Customer review
Charged once for each customer review successfully saved to the dataset.
$0.0005$0.0004$0.0004$0.0003
Actor start
Charged once when the Actor run starts.
$0.005$0.005$0.005$0.005

Examples on the Free plan: 100 product with detailss = $0.40, 1,000 product with detailss = $4, 10,000 product with detailss = $40. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).

Scheduled price change from 2026-11-02 (Free-plan tier): Product with details: $0.004 → $0.006; Listing-only product: $0.002 → $0.003. Paid-plan tiers change accordingly. The table shows today's prices.

Example input

This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.

{
  "retailer": "both",
  "startUrls": [
    {
      "url": "https://www.homedepot.com/b/Tools-Hand-Tools-Hammers-Claw-Hammers/N-5yc1vZc98p"
    }
  ],
  "productIds": [
    "hd:205594063",
    "lowes:1000379005"
  ],
  "maxItems": 4,
  "maxItemsPerQuery": 24,
  "includeDetails": true,
  "includeReviews": false,
  "maxReviewsPerProduct": 20,
  "reviewsSort": "relevance",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": true,
  "useBrowserSessions": true,
  "maxConcurrency": 8,
  "maxRetries": 8
}

Use it from code, no-code or an AI agent

cURL (one request, returns rows)
curl -X POST \
  "https://api.apify.com/v2/acts/wrenfield-data~home-depot-lowes-scraper/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"retailer": "both", "startUrls": [{"url": "https://www.homedepot.com/b/Tools-Hand-Tools-Hammers-Claw-Hammers/N-5yc1vZc98p"}], "productIds": ["hd:205594063", "lowes:1000379005"], "maxItems": 4, "maxItemsPerQuery": 24, "includeDetails": true, "includeReviews": false, "maxReviewsPerProduct": 20, "reviewsSort": "relevance", "proxyConfiguration": {"useApifyProxy": true}, "residentialFallback": true, "useBrowserSessions": true, "maxConcurrency": 8, "maxRetries": 8}'
Python
# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/home-depot-lowes-scraper").call(
    run_input={
    "retailer": "both",
    "startUrls": [
        {
            "url": "https://www.homedepot.com/b/Tools-Hand-Tools-Hammers-Claw-Hammers/N-5yc1vZc98p"
        }
    ],
    "productIds": [
        "hd:205594063",
        "lowes:1000379005"
    ],
    "maxItems": 4,
    "maxItemsPerQuery": 24,
    "includeDetails": True,
    "includeReviews": False,
    "maxReviewsPerProduct": 20,
    "reviewsSort": "relevance",
    "proxyConfiguration": {
        "useApifyProxy": True
    },
    "residentialFallback": True,
    "useBrowserSessions": True,
    "maxConcurrency": 8,
    "maxRetries": 8
},
    max_total_charge_usd=1.00,  # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/home-depot-lowes-scraper').call({
  "retailer": "both",
  "startUrls": [
    {
      "url": "https://www.homedepot.com/b/Tools-Hand-Tools-Hammers-Claw-Hammers/N-5yc1vZc98p"
    }
  ],
  "productIds": [
    "hd:205594063",
    "lowes:1000379005"
  ],
  "maxItems": 4,
  "maxItemsPerQuery": 24,
  "includeDetails": true,
  "includeReviews": false,
  "maxReviewsPerProduct": 20,
  "reviewsSort": "relevance",
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "residentialFallback": true,
  "useBrowserSessions": true,
  "maxConcurrency": 8,
  "maxRetries": 8
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
MCP (Claude, Cursor, VS Code, any MCP client)
{
  "mcpServers": {
    "wrenfield-home-depot-lowes-scraper": {
      "url": "https://mcp.apify.com?tools=wrenfield-data/home-depot-lowes-scraper"
    }
  }
}

Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--home-depot-lowes-scraper. More client setups on the MCP page.

n8n, Make, Zapier

Use the official Apify node or app, pick Run Actor, enter wrenfield-data/home-depot-lowes-scraper and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.

FAQ

How much does Home Depot cost?

$0.004 per product with details on the Apify Free plan ($4 per 1,000), billed per result by Apify with no subscription. Plus $0.002 per listing-only product. Plus $0.0005 per customer review. Plus $0.005 per actor start. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.

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.

Related tools

Compare and plan

Try Home Depot & Lowe's Scraper now

Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.

Open on Apify