To get Lowe's product data programmatically, use Scavio's Lowe's API. Find a store with POST /api/v1/lowes/stores and a ZIP, then pass its store_id and ZIP to /api/v1/lowes/search for 24 items a page priced and stocked at that store, or to /api/v1/lowes/product for one item's price, units on hand, aisle and bay, and stock at 8 nearby stores. /reviews adds the star counts and review text. Search, product and stores cost 2 credits, about $0.004 on the Growth plan billed yearly; reviews cost 1.
Lowe's sets stock and some prices per store, so every search and product call is pinned to one store. That is the whole workflow: pick the store first, then ask about items there.
Step 1: Find the store
curl -s https://api.scavio.dev/api/v1/lowes/stores \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"zip": "10001", "limit": 3}'On October 31, 2026, ZIP 10001 returned North Bergen (store 1106), Brooklyn (1674) and Jersey City (1937), 6.2 to 7.6 miles away. One store, as captured, with the opening hours trimmed to two days:
{
"store_id": "1674",
"name": "Brooklyn Lowe's",
"address": {
"street": "118 2ND AVENUE",
"city": "Brooklyn",
"state": "NY",
"postal_code": "11215",
"country": "US"
},
"latitude": 40.671781,
"longitude": -73.995834,
"distance_miles": 6.2,
"phone": "(718) 249-1151",
"pro_desk_phone": "(718) 249-1180",
"time_zone": "America/New_York",
"hours": {
"monday": { "open": "06:00", "close": "22:00" },
"sunday": { "open": "07:00", "close": "20:00" }
},
"features": ["Garden Center", "Key Copy", "Dog-Friendly", "Truck Delivery"],
"open_date": "2004-04-28"
}Use store_id and the store's own ZIP, address.postal_code, in every call that follows, not the shopper's home ZIP.
Step 2: Search at that store
curl -s https://api.scavio.dev/api/v1/lowes/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "cordless drill", "store_id": "1674", "zip": "11215"}'The Brooklyn store reported 279 results over 12 pages, 24 a page. One row, as captured, trimmed to the price, stock and pickup fields:
{
"position": 2,
"item_id": "5014148635",
"model_number": "DCD793D1",
"brand": "DEWALT",
"title": "20-volt Max 1/2-in Keyless Brushless Cordless Drill 1 -Batteries Included, and Charger Included",
"rating": 4.7,
"review_count": 793,
"price": 99,
"original_price": 179,
"discount_amount": 80,
"discount_percent": 44,
"promotion_end": "2027-01-20T00:00:00.000Z",
"price_type": "STORE",
"in_stock": true,
"stock_quantity": 354,
"pickup": {
"available": true,
"quantity": 354,
"lead_time_days": 0,
"location_id": "1674",
"location_type": "store"
}
}Prices are in dollars. stock_quantity is the units on hand at the store you pinned; the same search at Chicago's Wicker Park store returned 8 for this drill at the same $99. price_type "STORE" means the price is that store's own; "NETWORK" or "SOS" means the store does not stock the item and the price is the online one. Each row also carries delivery, parcel and expedited_delivery blocks with their own lead times, and page goes up to 31.
Step 3: Get one item in full, with aisle and nearby stock
curl -s https://api.scavio.dev/api/v1/lowes/product \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_id": "5014148635", "store_id": "1674", "zip": "11215"}'Product detail adds what search leaves out. The store-level part of the captured response, trimmed to 3 of 10 aisle locations and 3 of 8 nearby stores:
{
"upc": "885911904919",
"stock_quantity": 354,
"aisle_locations": [
{ "aisle": "10", "bay": "ENDCAP FRONT", "level": "FASHION ELECTRICAL" },
{ "aisle": "18", "bay": "DROP ZONE", "level": "HARDWARE" },
{ "aisle": "14", "bay": "1", "level": "TOOLS" }
],
"pickup": {
"available": true,
"quantity": 354,
"lead_time_days": 0,
"nearby_stores": [
{ "store_id": "2676", "distance_miles": 5.8, "available": true, "quantity": 33 },
{ "store_id": "2284", "distance_miles": 5.8, "available": true, "quantity": 27 },
{ "store_id": "1937", "distance_miles": 6.2, "available": true, "quantity": 41 }
]
},
"delivery": {
"available": true,
"lead_time_days": 1,
"earliest_date": "2026-11-02T08:00:00-05:00",
"service": "Box Truck"
}
}The rest of the response holds the description, bullets, grouped specifications, dimensions, weight, images and the store's address and hours. The nearby list answers the question a shopper asks when their store is short: at Chicago's Wicker Park store, with 8 on hand, a store 11.5 miles away had 90.
Step 4: List the store's deals
curl -s https://api.scavio.dev/api/v1/lowes/search \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"query": "mulch", "store_id": "0681", "zip": "77008", "on_sale": true}'on_sale: true keeps only items on sale at that store. At the N. Central Houston store it returned Sta-Green Premium 2 cu ft Black Mulch at $2.50, down from $3.98 (37% off), with promotion_end 2026-11-11 and 4,109 bags on hand. The same bag was $3.98 at the five other stores we checked, so a markdown can belong to one store. There is no separate clearance endpoint; this is it.
Step 5: Read the reviews
curl -s https://api.scavio.dev/api/v1/lowes/reviews \
-H "Authorization: Bearer $SCAVIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"item_id": "5014148635"}'Reviews are not store-specific, so no store is needed. The summary arrives with the first page:
{
"item_id": "5014148635",
"sort": "newest",
"total_results": 793,
"total_pages": 80,
"rating": 4.7,
"recommended_count": 349,
"not_recommended_count": 34,
"rating_distribution": [
{ "rating": 5, "count": 676 },
{ "rating": 4, "count": 56 },
{ "rating": 3, "count": 19 },
{ "rating": 2, "count": 8 },
{ "rating": 1, "count": 34 }
],
"count": 10
}Then reviews[] holds 10 reviews a page with rating, title, text, author, date, helpful votes, verified_purchase, incentivized, photos and brand replies, and review_summary condenses what buyers say. Pass sort as newest, oldest or most_helpful, and page to go deeper.
All four endpoints
| Endpoint | What it returns | Credits |
|---|---|---|
/api/v1/lowes/stores | Up to 10 stores near a ZIP with store number, own ZIP, phone, hours and features | 2 |
/api/v1/lowes/search | 24 items a page at one store: price, was-price, sale end, units on hand, fulfillment | 2 |
/api/v1/lowes/product | One item at one store: units on hand, aisle and bay, nearby-store stock, specs, UPC | 2 |
/api/v1/lowes/reviews | 10 reviews a page plus rating, star counts and recommend counts | 1 |
For a side-by-side of every option, see the best Lowe's product data APIs. The same pattern works for Home Depot, where Scavio also pins prices and stock to a store.
Getting started
- Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
- Copy your API key from the dashboard.
- Send a POST to
/api/v1/lowes/storeswith a ZIP, then search at the store it returns.
Try the Lowe's API free in the playground first, or call it from Claude and other agents through the MCP server.
Reference: Lowe's API overview · search · product · stores · reviews
Frequently asked questions
Does Lowe's have an API for product data?
Not a public one. Lowe's developer hub documents APIs for its service providers, not for reading the catalog, prices or store stock. Scavio's Lowe's API returns that public data as JSON with one API key: search, product detail with aisle and nearby-store stock, a store locator and reviews.
How do I find a Lowe's store number?
Call /api/v1/lowes/stores with a 5-digit ZIP. It returns up to 10 stores, nearest first, each with store_id, the store's own ZIP in address.postal_code, phone, coordinates, distance, hours and features. ZIP 10001 returned North Bergen (1106), Brooklyn (1674) and Jersey City (1937) on October 31, 2026.
Can I get the aisle location of a Lowe's product?
Yes. A product call pinned to a store returns aisle_locations, every spot the item sits in at that store as aisle, bay and level. The DEWALT DCD793D1 drill was listed in ten spots at the Brooklyn store, including aisle 14, bay 1 in Tools, and in aisle 63, bay 2 at Chicago's Wicker Park store.
How much does Lowe's data cost with Scavio?
Search, product and stores cost 2 credits a call and reviews cost 1. That is about $0.004 per search on the Growth plan billed yearly and $0.0086 on the $30 monthly Project plan. New accounts get 50 free credits with no card, enough for 25 store-level searches.
How do I list the deals at one Lowe's store?
Pass on_sale: true to /api/v1/lowes/search with the store's store_id and ZIP. Only items on sale at that store come back, each with price, original_price, discount_percent and promotion_end. At the Houston N. Central store, Sta-Green black mulch was $2.50, down from $3.98, until November 11, 2026.