ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Lowes6 min readOct 31, 2026

How to Get Lowe's Product Data, Store Prices and Stock Through an API

Use Scavio's Lowe's API: find a store by ZIP, then one POST returns that store's price, units on hand, aisle and bay, and stock at nearby stores, as JSON.

Scavio Team

Oct 31, 2026

Try the Lowe's API free
scavio
Ecommerce / Price monitoring
Lowes

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

Bash
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:

JSON
{
  "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

Bash
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:

JSON
{
  "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

Bash
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:

JSON
{
  "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

Bash
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

Bash
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:

JSON
{
  "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

EndpointWhat it returnsCredits
/api/v1/lowes/storesUp to 10 stores near a ZIP with store number, own ZIP, phone, hours and features2
/api/v1/lowes/search24 items a page at one store: price, was-price, sale end, units on hand, fulfillment2
/api/v1/lowes/productOne item at one store: units on hand, aisle and bay, nearby-store stock, specs, UPC2
/api/v1/lowes/reviews10 reviews a page plus rating, star counts and recommend counts1

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

  1. Sign up at dashboard.scavio.dev/sign-up: 50 free credits, no card required.
  2. Copy your API key from the dashboard.
  3. Send a POST to /api/v1/lowes/stores with 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.

Lowe's data as JSON

  • Search, product, stores and reviews
  • Price and units on hand at the store you pick
  • No Lowe's account, 50 free credits
Try the Lowe's API free

50 free credits, no credit card

On this page

  1. Step 1: Find the store
  2. Step 2: Search at that store
  3. Step 3: Get one item in full, with aisle and nearby stock
  4. Step 4: List the store's deals

Related articles

View all
  • scavio
    Comparison / Ecommerce
    Lowes
    5 Best Lowe's Product Data APIs in 2026: Scavio Returns Shelf Count and Aisle by Store
  • scavio
    Inventory / Price monitoring
    Lowes
    What's the Best Way to Scrape Lowes.com for Price and Stock? Call an API Pinned to the Store
ScavioScavio

One scraper API for every social, search, e-commerce and real estate platform. Built for AI agents.

Product

  • Features
  • Pricing
  • Dashboard
  • Affiliates

Developers

  • Documentation
  • API Reference
  • Quickstart
  • MCP Integration
  • Python SDK

Alternatives

  • Tavily Alternative
  • SerpAPI Alternative
  • Firecrawl Alternative
  • Exa Alternative
  • Serper Alternative
  • Tavily vs Scavio
  • SerpAPI vs Scavio
  • All alternatives
  • Compare Scavio vs alternatives

Search APIs

  • Google Search API
  • Amazon Product API
  • YouTube API
  • Reddit API
  • Walmart Product API
  • TikTok API
  • Instagram API

Tools

  • All Tools

© 2026 Scavio. All rights reserved.

Featured on TAAFT
Terms of ServicePrivacy Policy