Lowes Products Scraper | Prices, Stock and Specs avatar

Lowes Products Scraper | Prices, Stock and Specs

Pricing

from $4.25 / 1,000 products

Go to Apify Store
Lowes Products Scraper | Prices, Stock and Specs

Lowes Products Scraper | Prices, Stock and Specs

Lowe's scraper for product data: store price, regular price and discount, shelf stock with aisle and bay, UPC, model, specifications, dimensions, ratings, images and manuals. Search by keyword, lowes.com link or product id, no account. 18 products in 34 seconds, 39 fields each. Export to CSV.

Pricing

from $4.25 / 1,000 products

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

1

Bookmarked

3

Total users

2

Monthly active users

4 days ago

Last modified

Share

Lowes Products Scraper | Prices, Stock, Aisles and Specs (2026)

1 keyword. 18 Lowes products. 39 fields per product.

From SilentFlow. Creators of Pinterest Scraper (#1 for โ€œpinterest pins scraperโ€ in Apify Store search) and Leboncoin Scraper Ppe, with 240,000+ combined lifetime runs.

Every Lowe's product as one complete row: the price at your store and the regular price, the discount, the quantity on that store's shelf with its aisle and bay, the UPC and model number, the full specifications, the dimensions and weight, the manuals, and every photo. Our test run returned 20 cordless drills in 14 seconds, each one completed with its product sheet, with no Lowe's account.

Why choose this actor?

Opening forty Lowe's tabs to copy prices, model numbers and UPCs into a sheet? Calling the store to ask whether a product is on the shelf, and in which aisle? Getting a price list with no specifications, no dimensions and no store stock, then going back for each product?

  • 57 fields filled per product, not 33. On the default run (20 products for cordless drill), 57 of the 59 fields carry a value on at least half the rows: price, regular price and discount percent, rating and review count, UPC, model, item and vendor numbers, the Lowe's department and product group, the specifications as a table, the highlights and the long description, weight, width, height and depth, the created and updated dates of the product page, the manuals and warranty PDFs, images and videos. The most used Lowe's scraper announces 33 fields, and the table of its README lists 24, with no aisle, no bay and no manuals.
  • The store's shelf, aisle and bay on the same row. Pick a Lowe's store and every row carries that store's price, the quantity on its shelf, the aisle and bay where the product sits, and whether pickup, parcel shipping and truck delivery are open, plus the quantity Lowe's can ship online. In our test at store 1955 (Plymouth), 24 best-selling impact drivers came back in 5 seconds, all 24 with the store's shelf quantity and 16 with their aisle and bay.
  • Keywords, lowes.com links and product ids, in one form. Type a keyword, paste a category, search or product page from lowes.com with its filters and sort, or list product ids from your spreadsheet, all in the same run. In our test, two product ids and one product link gave 3 complete rows in 4 seconds. The most used Lowe's scraper takes keywords and category ids, not links.

Try Lowes Products Scraper

Try your first 20 products

Paste this input in the JSON tab of the Input page and press Start. It reads the cordless drills of Lowe's Drills category, in Lowe's own order, and completes each one with its product sheet at store 0595 (Mooresville, NC).

{
"keywords": ["cordless drill"],
"maxItems": 20
}

It runs on the Apify Free plan. Each product becomes one row of your dataset: open the Output tab to see the table, switch to the Store stock view for shelf quantities and aisles or to the Catalog view for UPCs and models, or export the rows as JSON, CSV or Excel.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper:

You have access to the Lowes Products Scraper on Apify: silentflow/lowes-products-scraper
It reads Lowe's (lowes.com, United States) without an account and returns one row per product.
Every row is completed with the product sheet at one Lowe's store: price, stock, aisle and bay,
UPC, specifications, dimensions, weight, documents and images.
Input schema (no field is required, at least one of keywords, startUrls or productIds is needed):
- keywords (array of strings): what you would type in the Lowe's search box ("cordless drill",
"dewalt impact driver", "kobalt drill"). Each keyword is read in the Lowe's categories it belongs to,
keeping the products whose brand, title or model carry its other words. A number is read as a product id.
- startUrls (array of {url}): lowes.com pages. Category pages /pl/{...}/{id} (filters and sortMethod in the link are kept),
search pages /search?searchTerm=..., product pages /pd/{...}/{id}.
- productIds (array of strings): Lowe's product ids, the number at the end of a product link (5014007703).
Full product links work too.
- maxItems (integer, default 100): max rows for the whole run, across keywords, links and ids. Duplicates count once.
- sort (string, default "featured"): featured (Lowe's default order) or best_sellers.
- storeId (string, default "0595"): the Lowe's store number that prices and stocks each row (595, 0595, 1955...).
Output per product (59 fields, null when absent):
- id (string), url (string), title, brand, modelNumber, itemNumber, upc, vendorNumber (strings)
- description (string), highlights (array of strings), specifications (object, name -> value)
- productType, category (strings), breadcrumbs (array), department, subDepartment, productGroup (strings)
- badges (array of strings), programType (string, Stock or Special Order...)
- isLowesExclusive, isEnergyStar, isMarketplace, isSponsored, isBuyable (booleans)
- variants (array of {id, url, options}), documents (array of {type, title, url}, PDF manuals and guides)
- price, originalPrice (numbers, USD), discountPercent (number), isOnSale (boolean), currency ("USD")
- rating (number, 1-5), reviewCount (integer)
- inStock (boolean), storeQuantity (integer, on the store's shelf), onlineQuantity (integer, ships as a parcel)
- isPickupAvailable, isShippingAvailable, isDeliveryAvailable, isFreeShipping (booleans)
- aisle, bay (strings), storeNumber, storeName, storeAddress (strings)
- weightLbs, widthInches, heightInches, depthInches (numbers), packageQuantity (integer)
- createdAt, updatedAt (RFC 3339 UTC, the product page's own dates)
- imageUrl (string), images (array of strings), videos (array of strings)
- searchQuery (string, the keyword that found the row), sourceUrl (string, the page it was read from),
position (integer, rank in its keyword or category), scrapedAt (RFC 3339)
Use apify-client for Python or JavaScript: client.actor("silentflow/lowes-products-scraper").call(run_input=...).

How to scrape Lowe's products

Three inputs, from the simplest to the most complete. Each one runs as is.

Get a brand's line in one product type

{
"keywords": ["dewalt impact driver"],
"maxItems": 10
}

The keyword is read in the categories Lowe's itself names for it, Impact Drivers first and then Power Tool Combo Kits, and only the DEWALT products are kept. In our test, 10 DEWALT impact drivers came back in 9 seconds, all 10 with their price and shelf quantity at store 0595, 9 with their full product sheet (the tenth is a DEWALT kit that Lowe's sells as a collection). Raise maxItems to get the whole line.

Read the best sellers of a category at your store

{
"startUrls": [
{ "url": "https://www.lowes.com/pl/power-tools/drills-drivers/impact-drivers/4294607725" }
],
"sort": "best_sellers",
"storeId": "1955",
"maxItems": 24
}

Open any category on lowes.com, copy the address and paste it. best_sellers puts the products Lowe's sells most at the top, so a small cap gives you the ones that matter. In our test this input returned 24 impact drivers in 5 seconds, priced and stocked at the Plymouth store: 12 of them on its shelf that day, 16 with the aisle and bay where the store keeps them.

Refresh a fixed list of products

{
"productIds": [
"1018359",
"https://www.lowes.com/pd/CRAFTSMAN-V20-20-volt-3-8-in-Right-Angle-Cordless-Drill/5014007703",
"3041417"
],
"storeId": "0595"
}

Product ids and product links mix in the same list. Each one comes back as a complete row with today's price, discount, stock and aisle. Schedule it daily to follow the price of the products you sell against, or the stock of the ones you buy. In our test these three returned 3 complete rows in 4 seconds.

Input parameters

ParameterTypeDefaultDescription
keywordsarray of strings["cordless drill"] in the formWhat you would type in the Lowe's search box. Read in the Lowe's categories the keyword belongs to, keeping the products that carry its words.
startUrlsarray of linksnonelowes.com category (/pl/), search (/search?searchTerm=) or product (/pd/) pages.
productIdsarray of stringsnoneLowe's product ids (the number at the end of a product link) or product links.
maxItemsinteger100 (20 in the form)Maximum rows for the whole run, across all inputs. A product found twice is saved once.
sortstringfeaturedfeatured (Lowe's default order) or best_sellers. A category link that carries its own order keeps it.
storeIdstring0595The Lowe's store that prices and stocks each row. 595, 0595 and #0595 all work.

Accepted formats.

  • Keywords: plain words, any case. Product types (cordless drill) and a brand with a product type (dewalt impact driver, kobalt drill). Voltages match either way: 20v finds products titled 20-volt. A keyword made only of digits is read as a product id.
  • Category links: https://www.lowes.com/pl/{any words}/{category id}, as the browser shows them. The filters you clicked on the page travel in the link (.../drills/dewalt/4294607722-4294926871 is the Drills category filtered to DEWALT) and are kept, and so is a sortMethod.
  • Search links: https://www.lowes.com/search?searchTerm=cordless%20drill is read like the keyword cordless drill.
  • Product links and ids: https://www.lowes.com/pd/{any words}/5014007703, or 5014007703 alone.
  • Store numbers: up to four digits, with or without leading zeros or a #.

A link that is not from lowes.com, or a lowes.com page that lists no product (a department landing page such as /c/Tools), is skipped and named in the log.

What data can you extract from Lowe's?

Each row is one product, flat, with the same 59 fields every time and null where Lowe's has no value.

GroupFields
Identity (8)id, url, title, brand, modelNumber, itemNumber, upc, vendorNumber
Content (18)description, highlights, specifications, productType, category, breadcrumbs, department, subDepartment, productGroup, badges, programType, isLowesExclusive, isEnergyStar, isMarketplace, isSponsored, isBuyable, variants, documents
Price and reviews (7)price, originalPrice, discountPercent, isOnSale, currency, rating, reviewCount
Stock and store (12)inStock, storeQuantity, onlineQuantity, isPickupAvailable, isShippingAvailable, isDeliveryAvailable, isFreeShipping, aisle, bay, storeNumber, storeName, storeAddress
Physical (5)weightLbs, widthInches, heightInches, depthInches, packageQuantity
Dates and media (5)createdAt, updatedAt, imageUrl, images, videos
Meta (4)searchQuery, sourceUrl, position, scrapedAt

specifications is an object with one entry per line of the product's specifications table: 38 entries on average on the default run, from 35 to 43 (voltage, chuck size, battery included, warranty, and so on). documents lists the PDFs Lowe's attaches: use and care manuals, warranty guides, installation guides, spec sheets. variants lists the other options of the same product (size, color, drain side) with their own ids, when Lowe's groups them.

price is the selling price at the chosen store. originalPrice is the regular price: the same as price when the product is not on sale, higher when it is, and discountPercent is the gap. storeQuantity is what the store has on its shelf for pickup; onlineQuantity is what Lowe's can ship as a parcel. aisle and bay are where the store shelves the product; they are null when the store does not keep it on a shelf (online only, special order, or a truck delivery item).

Output example

A real row from the default run, shortened only where a list or a text runs long:

{
"id": "5016412045",
"url": "https://www.lowes.com/pd/CRAFTSMAN-20-volt-Max-1-2-in-Keyless-Brushless-Cordless-Drill-1-Batteries-Included-Soft-Bag-Included/5016412045",
"title": "20-volt 1/2-in Keyless Brushless Cordless Drill 1 -Batteries Included, and Charger Included",
"brand": "CRAFTSMAN",
"modelNumber": "CMCD714D1",
"itemNumber": "6812916",
"upc": "198706013438",
"vendorNumber": "70",
"description": "DIYers know the drill - literally. The V20* BRUSHLESS RP Drill/Driver is built for tight spaces and big tasks. At 25% shorter** it goes where larger drills arenโ€™t welcome, and with up to 40% more power it's ideal for completing a wide range of drilling applications. ...",
"highlights": [
"Made For Tight Spaces - Get into small areas with a 6.2-in tool head length (or 25% shorter**)",
"Fast Drilling - Drills up to 19% faster vsRYOBIยฎโ€ , leaving plenty of time for weekend relaxation",
"Power Where It's Needed - Complete drilling and fastening jobs with a powerful brushless motor that delivers up to 40% more powerโ€ก, enough to bore through electrical rough-ins"
],
"specifications": {
"Accessories Included": "No",
"App Compatibility": "No",
"Battery Amp Hours": "2",
"Battery Included": "Yes",
"Battery Type": "Lithium ion (Li-ion)",
"Battery Voltage": "20-volt",
"Battery Warranty": "3-year limited",
"Bluetooth Compatibility": "No",
"Brushless": "Yes",
"CA Residents: Prop 65 Warning(s)": "Yes"
},
"productType": null,
"category": "Drills",
"breadcrumbs": [
"Tools",
"Power Tools",
"Drills & Drivers",
"Drills"
],
"department": "Power Equipment",
"subDepartment": "Handheld Power Tools",
"productGroup": "Craftsman 20V Power Tools",
"badges": null,
"programType": "Stock",
"isLowesExclusive": false,
"isEnergyStar": false,
"isMarketplace": false,
"isSponsored": false,
"isBuyable": true,
"variants": null,
"documents": [
{
"type": "CA_PROP_65_GUIDE",
"title": "Prop65 Warning Label",
"url": "https://pdf.lowes.com/productdocuments/49fbd1fd-0d5d-49b2-8618-502f19e0d037/48372191.pdf"
}
],
"price": 89,
"originalPrice": 129,
"discountPercent": 31,
"isOnSale": true,
"currency": "USD",
"rating": 4.9,
"reviewCount": 91,
"inStock": true,
"storeQuantity": 3,
"onlineQuantity": 454,
"isPickupAvailable": true,
"isShippingAvailable": true,
"isDeliveryAvailable": true,
"isFreeShipping": true,
"aisle": "64",
"bay": "7",
"storeNumber": "0595",
"storeName": "Mooresville Lowe's",
"storeAddress": "509 RIVER HWY, Mooresville, NC 28117",
"weightLbs": 4.26,
"widthInches": 2.999,
"heightInches": 8.7,
"depthInches": 11.02,
"packageQuantity": 1,
"createdAt": "2025-03-03T15:04:09Z",
"updatedAt": "2026-09-26T10:32:35Z",
"imageUrl": "https://mobileimages.lowes.com/productimages/e3ff0df9-d3b3-4aa8-b235-d522455a814e/71575432.jpeg",
"images": [
"https://mobileimages.lowes.com/productimages/e3ff0df9-d3b3-4aa8-b235-d522455a814e/71575432.jpeg",
"https://mobileimages.lowes.com/productimages/4d5a072d-1e27-4a65-8a45-fcb4a5c95d7d/76073336.jpeg"
],
"videos": [
"https://cdnapisec.kaltura.com/p/4215793/sp/421579300/playManifest/entryId/1_6rlp3uix/format/applehttp/protocol/https"
],
"searchQuery": "cordless drill",
"sourceUrl": "https://www.lowes.com/pl/drills/4294607722",
"position": 2,
"scrapedAt": "2026-09-30T18:36:05Z"
}

Advanced usage

Read a category with the filters you clicked

{
"startUrls": [
{ "url": "https://www.lowes.com/pl/power-tools/drills-drivers/drills/dewalt/20-volt-max-battery/4294607722-4294926871-4294720871" }
],
"maxItems": 50
}

Filter a category on lowes.com (here Drills, brand DEWALT, battery 20-volt max), copy the address and paste it: the filters come along in the link, so the rows are only the products the filtered page shows. Filters that show in the page address, such as brand or battery voltage, are kept. Add originalPrice and discountPercent to your sheet to see which ones are on sale this week.

Check a store's shelf before you drive there

{
"keywords": ["cordless drill"],
"storeId": "1955",
"maxItems": 60
}

Use the Store stock view: product, store price, quantity on the shelf, aisle and bay. A buyer or a crew lead sees before leaving which drills the Plymouth store has in quantity and where they sit. Change storeId to the store near your job site; isPickupAvailable tells you which ones can be ordered online and picked up the same day.

Watch a brand across several product types

{
"keywords": ["kobalt drill", "kobalt impact driver"],
"sort": "best_sellers",
"maxItems": 100
}

Each keyword reads the Lowe's categories it belongs to (Drills for the first, Impact Drivers and Impact Wrenches for the second) and keeps the Kobalt products. A product found under two keywords is saved once. position keeps its rank inside its keyword, so you can compare how the brand ranks in each category.

Build a catalog feed with UPCs and dimensions

{
"startUrls": [
{ "url": "https://www.lowes.com/pl/power-tools/drills-drivers/drills/4294607722" }
],
"maxItems": 400
}

Switch to the Catalog view for brand, model, item number, UPC, product type and weight, or export all fields for the specifications, dimensions, images and manuals. The run reads the category page after page until the cap or its last product.

Track your own list every morning

{
"productIds": ["5013207487", "5016412045", "5013915503", "1000601885", "5014148635"],
"storeId": "0595"
}

Save this input as a task and add a daily schedule in Apify. Every run writes today's price, regular price, discount, stock and shelf quantity for each product; compare two runs to see what changed. Connect the task to Google Sheets or a webhook to get the rows where your team works.

FAQ

What is Lowe's? Lowe's is a US home improvement retailer with stores across the country and an online catalog at lowes.com: tools, building materials, appliances, flooring, paint, garden and home products. Every product page there is priced and stocked at one store. This scraper reads lowes.com, the US site.

Do I need a Lowe's account? No. The scraper reads what any visitor sees on lowes.com without logging in. You only give it keywords, links or product ids.

Does a keyword give the same results as the Lowe's search box? Close to it. For a keyword, the Lowe's search box suggests the categories it belongs to; this scraper reads those same categories and keeps the products whose brand, title or model carry the other words of the keyword. dewalt impact driver gives the DEWALT products of Impact Drivers and Power Tool Combo Kits. When a keyword belongs to no category, the run says so and suggests a shorter keyword or a category link.

Which store are the prices and stock from? From the store you set in storeId, 0595 (Mooresville, NC) if you leave it. lowes.com prices every product at one store, the same way: two stores can show different prices and different stock for the same product. Run once per store to compare them.

How many products can I get? As many as you set in maxItems, with no fixed limit. Each category is read page after page, 24 products a page, until the cap or the end of the category. Keep maxItems at what you will use, since each row is one product read in full.

Why is the aisle empty on some rows? Because Lowe's gives no shelf location for that product at that store, typically a product the store does not keep on its shelves. storeQuantity, isPickupAvailable, isShippingAvailable and isDeliveryAvailable tell you how it can be bought there. In our test at the Plymouth store, 16 of 24 best-selling impact drivers had an aisle and bay.

Why do some rows have no UPC or specifications? Collections and bundles (their id starts with GR_) are groups of products sold together; Lowe's gives them no product sheet of their own, so they keep their listing fields: title, brand, price, rating, images. In one of our tests, 1 row out of 50 best-selling impact drivers was a collection.

How fresh is the data? Live. Every run reads Lowe's at that moment: prices, sales, stock and ratings are the ones lowes.com shows when the run starts.

Can I combine inputs and filters? Yes. Keywords, links and ids run in the same input, maxItems caps them together, and a product found twice is saved once. sort applies to every keyword and link; a category link that carries its own sort keeps it. storeId applies to every row.

Which links are permanent? url is the product page and id never changes for a product. Image links point to Lowe's image server and work as long as the product is online; documents links point to Lowe's PDF server. Download what you need to keep.

How do I get the data into my tools? Every run's dataset exports to JSON, CSV, Excel, XML or RSS from the Output tab, or from the API: https://api.apify.com/v2/datasets/{DATASET_ID}/items?format=csv. Apify integrations send it to Google Sheets, Slack, Zapier, Make or a webhook.

Is it legal to scrape Lowe's? The scraper reads public product pages that anyone can see in a browser without logging in. How you use them is up to you: see the Legal compliance section below.

More SilentFlow scrapers

๐Ÿ›’ E-commerce

๐Ÿ’ผ Jobs

๐Ÿ  Real estate

๐Ÿ“ฃ Social media

๐Ÿข Business data

โœˆ๏ธ Travel

๐ŸŽฏ Lead generation

๐Ÿ”Ž SEO

๐Ÿงฐ More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available product data from Lowe's (lowes.com). It does not bypass any login, paywall or CAPTCHA, and never uses a Lowe's account. The rows describe products, prices and stores, and hold no personal data about shoppers. Users are responsible for complying with Lowe's terms of service and applicable laws, including data protection laws such as GDPR, CCPA and PIPL where relevant. The data returned is informational; verify prices and stock with the store before a purchase or a regulated use.

Lowes Products Scraper by SilentFlow: Lowe's prices, store stock, aisles and specs, ready for your spreadsheet.