ScavioScavio
Pricing
Tools
Sign InsGet Startedg
Blog
Walgreens5 min readNov 2, 2026

Is There Any Way to Check Walgreens Stock Without Going to the Store? Yes, 20 Stores in One API Call

Yes. Scavio's Walgreens API takes a product id and up to 20 store numbers from a ZIP code and returns each store's units in stock in one 4-credit call.

Scavio Team

Nov 2, 2026

Try the Walgreens API free
scavio
Inventory / Stock checker
Walgreens

Yes, you can check a product's stock at Walgreens stores without going to them. Scavio's Walgreens API turns a ZIP code into the nearest store numbers with POST /api/v1/walgreens/stores, then /api/v1/walgreens/stock takes the product id and up to 20 of those numbers and returns each store's units in stock and whether it carries the item at all. A stock call costs 4 credits, about $0.008 on the Growth plan billed yearly, and needs no Walgreens account.

The question is old and still open. On r/figpin, a collector with three Walgreens nearby asked "Is there any way to check Walgreens stock without going to the store?", and that thread now ranks first on Google for "how to check walgreens stock at other stores". On r/funkopop, the same question drew 14 comments; the top answer was calling the store, and the replies pointed out that the website showed zero at a store that had the figures on the shelf. Both have a better answer now.

Step 1: Get the nearest store numbers

Bash
curl -s https://api.scavio.dev/api/v1/walgreens/stores \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"zip": "60614", "limit": 20}'

On November 2, 2026 this returned the 20 Walgreens locations nearest Chicago ZIP 60614, from 0.36 to 2.17 miles away, each with its store_number, address, phone, distance and hours. Five of them were pharmacy-only locations inside hospitals and clinics or a specialty pharmacy, which do not stock toys or most front-store items; their brand is not "Walgreens" or they have no opening hours, so they are easy to filter out.

Step 2: Find the product id

Bash
curl -s https://api.scavio.dev/api/v1/walgreens/search \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"query": "funko pop", "store_id": "15350"}'

Every result has a product_id, and the id is also in the walgreens.com URL (ID=300447992-product). The Funko Bitty Pop! came back as product 300447992 at $14.99, with availability.text "Not sold at your store" for store 15350, the nearest one. That is where the search stops being useful and the stock check starts.

Step 3: Check all 20 stores in one call

Bash
curl -s https://api.scavio.dev/api/v1/walgreens/stock \
  -H "Authorization: Bearer $SCAVIO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"product_id": "300447992", "store_ids": ["15350", "15992", "249", "178", "1173", "3949", "1375", "3698", "15305", "7630", "15493", "1298", "21447", "4494", "211", "3072", "1096", "15525", "258", "15971"]}'

The answer came back in 4.1 s. The nearest store and the two nearest with stock, as captured:

JSON
{
  "product_id": "300447992",
  "count": 20,
  "in_stock_count": 8,
  "stores": [
    { "store_number": "15350", "status": "Not Available", "quantity": 0, "in_stock": false },
    { "store_number": "15992", "status": "In Stock", "quantity": 3, "in_stock": true },
    { "store_number": "178", "status": "In Stock", "quantity": 3, "in_stock": true }
  ]
}

Eight of the 20 locations had it, 23 units in all. The closest was 2500 N Clark St at 0.51 miles with 3, then 740 W Diversey Pkwy at 0.9 miles with 3, and the most was 12 at 757 N Michigan Ave, 1.93 miles out. The other five stores with stock had 1 each, and the nearest store, at 0.36 miles, does not carry it. Without the API that is 20 phone calls.

To print just the stores worth the trip:

Python
import requests

BASE = "https://api.scavio.dev/api/v1/walgreens"
H = {"Authorization": "Bearer sk_live_your_key"}

stores = requests.post(f"{BASE}/stores", headers=H, json={"zip": "60614", "limit": 20}).json()["data"]["stores"]
by_number = {s["store_number"]: s for s in stores}
stock = requests.post(f"{BASE}/stock", headers=H,
                      json={"product_id": "300447992", "store_ids": list(by_number)}).json()["data"]
for row in stock["stores"]:
    if row["quantity"] >= 2:
        s = by_number[row["store_number"]]
        print(s["distance_miles"], s["address"]["street"], row["quantity"])

Step 4: Read the status before the number

  • "Out of Stock" and "Not Available" are different answers. Out of Stock is a store that carries the item and has none, so it may restock. Not Available is a store that does not carry it. A Pokemon Trading Card Game Elite Trainer Box we checked the same day was Out of Stock at 4 of the 20 locations and Not Available at the other 16: four stores worth watching, not twenty.
  • A count is the store system's number, not a shelf scan. The r/funkopop replies are right that it can be wrong in both directions. Treat 1 unit as a maybe and a store with 3 or 12 as the better bet, and call ahead for anything scarce.
  • Some items share one product id. The r/figpin and r/funkopop threads both note that Walgreens lists several exclusives under one item number. When that happens, the count covers all of them together, and no API can split it.
  • Online stock is a separate question. Search returns online_stock_status for walgreens.com and the product response says when an item is "Not sold online"; neither tells you about a store. DayQuil and NyQuil LiquiCaps, marked "Not sold online", had 285 units across the 15 regular stores in our list.

What it costs and where it stops

A stock call is 4 credits for up to 20 stores, and the stores call is 2. Watching 10 products at the same 20 stores once a day is 1,200 credits a month, about $2.40 at the Growth-yearly rate of $2 per 1,000 credits; the 50 free credits at signup cover one stores call and 12 stock checks. One call covers 20 stores, so a wider area means more calls from more ZIPs, and there is no built-in alert: schedule the call and compare each result with the last one to catch a restock. Coverage is US Walgreens and Duane Reade stores, front-store products only.

The same API also searches the catalog with sale prices, coupons and promotions and returns full product detail; how to get Walgreens product data covers each call, and the best Walgreens product data APIs compares the other ways to get it, including Walgreens' own Store Inventory API. For the same question at Dollar General, see checking Dollar General inventory at other stores.

Try the Walgreens API free, 50 credits, no card, or run a stock check in the playground.

Reference: Walgreens API overview · stock docs · stores docs · search docs

Frequently asked questions

Can you check Walgreens inventory at other stores?

Yes. Scavio's stock endpoint takes one product id and up to 20 Walgreens store numbers and returns each store's status, unit count and in_stock flag. On November 2, 2026 one call showed a Funko Bitty Pop! in stock at 8 of the 20 locations nearest Chicago ZIP 60614, 23 units in all, and not carried by the nearest store.

Is Walgreens online inventory accurate?

It is the store system's count, not a shelf scan, so it can be wrong in both directions: shoppers on Reddit report finding items the website listed at zero, and driving to stores it said had stock. Treat 1 or 2 units as a maybe, prefer stores with several, and call ahead for anything scarce.

What is the difference between Out of Stock and Not Available at Walgreens?

In Scavio's stock response, Out of Stock means the store carries the product and has none right now, so a restock is possible. Not Available means the store does not carry it at all. Pharmacy-only locations, such as hospital and specialty pharmacies, usually read Not Available for front-store items.

How do I find a Walgreens product id?

Search for it with Scavio's /api/v1/walgreens/search; every result carries its product_id. The id is also in the walgreens.com product URL, for example ID=300447992-product for the Funko Bitty Pop!, and the stock endpoint accepts that URL directly.

Walgreens stock by store as JSON

  • Units in stock at 20 stores per call
  • Sold out and not carried told apart
  • No Walgreens account or registration
Try the Walgreens API free

50 free credits, no credit card

On this page

  1. Step 1: Get the nearest store numbers
  2. Step 2: Find the product id
  3. Step 3: Check all 20 stores in one call
  4. Step 4: Read the status before the number

Related articles

View all
  • scavio
    Comparison / Inventory
    Walgreens
    5 Best Walgreens Product Data APIs in 2026: Scavio Counts Stock at 20 Stores for Under a Cent
  • scavio
    Inventory / Price monitoring
    Walgreens
    How to Get Walgreens Product Data and Store Stock Through an API
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