curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/lowes-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/lowes-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/lowes-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Scrape Lowe's product search
Searches Lowe’s (lowes.com, US) for query at one store and returns products: productId (Lowe’s item id), itemNumber, modelNumber, brand, title, url, image, rating, reviewCount, price, wasPrice, savings, savingsPercent and saleEnds (promotions), clearance, minPrice / maxPrice (items with options), priceType (store, network = Lowe’s online price, sos = special order), currency, availability (pickup with the units on hand at the store, parcel, delivery, expeditedDelivery), sponsored, marketplace, bullets and specifications, plus store (the store the prices and stock are for) and paging totals. Set the store with store_id or zip (default: store 1845, Chicago-Brickyard, IL). Results come in Lowe’s own order; free_delivery keeps free-delivery items only. Start at page and collect up to max_results across pages (24 per page, each page billed as one request, see pagesFetched). A broad keyword Lowe’s sends to a category landing page (e.g. patio furniture) is answered from the landing page’s first category tile that names the keyword; category names it (null for a plain search). A landing page without such a tile answers 404: search a more specific term.
curl --request POST \
--url https://api.scrapeunblocker.com/marketplace/lowes-search \
--header 'x-scrapeunblocker-key: <api-key>'import requests
url = "https://api.scrapeunblocker.com/marketplace/lowes-search"
headers = {"x-scrapeunblocker-key": "<api-key>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {'x-scrapeunblocker-key': '<api-key>'}};
fetch('https://api.scrapeunblocker.com/marketplace/lowes-search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Your ScrapeUnblocker API key. Apply on every request.
Query Parameters
What to search, e.g. 'cordless drill', 'garden hose' or 'interior paint'.
1-based results page to start from (1-30, 24 products per page).
Products to collect across pages (1-72); each page fetched is billed as one request.
Lowe's store number whose prices and stock to return, e.g. '1845'. Give this or zip; with neither, store 1845 (Chicago-Brickyard, IL) is used. The store used is named in store.
US ZIP code; the nearest Lowe's store is used, e.g. '60639'.
Only items Lowe's delivers for free.
Instead of query: a Lowe's search link, e.g. https://www.lowes.com/search?searchTerm=garden+hose (its offset and storeId are used).
Response
JSON with a products array, paging totals and the store.

