Walgreens
Walgreens price, regular price, rating, brand, size and category by product id, about 190,000 products per credit. Search too. Prescription items are never returned.
Walgreens price, regular price, rating, brand, size and category by product id, about 190,000 products per credit. Search too. Prescription items are never returned.
At a glance
Property | Value |
|---|---|
|
|
Product id | Two formats: |
Marketplaces | Live: |
Tier |
|
Ids per call | 500 |
Typical call | 5–15 s for 500 ids |
Search |
|
Example
- cURL
- Python
- Node.js
curl -X POST "https://api.scrapelyserp.com/v1/products" \
-H "Authorization: Bearer $SCRAPELY_API_KEY" \
-H "Content-Type: application/json" \
-d '{"platform":"walgreens","ids":["prod6345045","300452904"]}'import os
import requests
HEADERS = {"Authorization": f"Bearer {os.environ['SCRAPELY_API_KEY']}"}
r = requests.post(
"https://api.scrapelyserp.com/v1/products",
headers=HEADERS,
json={"platform": "walgreens", "ids": ["prod6345045", "300452904"]},
timeout=120,
)
r.raise_for_status()
data = r.json()
for p in data["results"]:
print(p["id"], p["status"], (p.get("price") or {}).get("amount"), p["walgreens"]["rating"])const res = await fetch('https://api.scrapelyserp.com/v1/products', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SCRAPELY_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({ platform: 'walgreens', ids: ['prod6345045', '300452904'] }),
signal: AbortSignal.timeout(120_000),
});
if (!res.ok) throw new Error((await res.json()).error.code);
const data = await res.json();
for (const p of data.results) console.log(p.id, p.status, p.price?.amount, p.walgreens?.rating);Full reference → POST /v1/products
Walgreens fields
Besides the common fields, each result carries a walgreens object. price is the current price (the sale price when on sale) and is absent, never 0, when Walgreens shows no price. Prices are the regular web prices; member and employee prices are never returned.
Field | Description |
|---|---|
| The regular price, set only when the item is on sale, and whether it is. |
| Average review rating (0 to 5, one decimal) and the number of reviews; |
| The brand, the pack size as printed and the GTIN. |
| The category path, broadest first. |
| Whether Walgreens restricts the sale by age. |
availability carries Walgreens's online stock: inStock: true or false (an item Walgreens does not sell online reads false). When Walgreens does not say, availability is left out; the item is still ok. Search results do carry in_stock where the results page says.
Statuses on Walgreens
partial: Walgreens answered without a title. Ask again later.not_found: Walgreens has no such id. Prescription items are never returned and read the same way.unavailable: no usable answer after retries. Not charged; ask again.
Watchlists
A watchlist with "platform": "walgreens" reads each id once per run and reports changes to price, inStock, regularPrice.