Walmart Scraper API
Store-scoped Walmart product, search, and page data
Walmart prices, stock levels, and pickup availability differ from one store to the next. A price you scrape without pinning a store is whichever store Walmart guessed for the request, which makes results impossible to compare across runs.
The Walmart Scraper API pins every request to a store you choose, either by store id or by ZIP code, and returns data that genuinely reflects that store's shelf.
Credit Usage: Each successful Walmart Scraper API request costs 10 credits. Failed requests are never charged. For bulk processing, use the Async API with plugins.
Key Features
- Store-Accurate Data: Every response is scoped to one store, so prices, availability, and fulfillment options are the ones that store actually offers.
- Two Ways to Target: Pass a
storeid when you know exactly which store you want, or azipcodeto let Walmart resolve the nearest one. - Structured JSON Output:
/searchand/productreturn clean parsed fields, no HTML parsing and no digging through Walmart's internal payload. - Full Page Access:
/storereturns any Walmart URL verbatim through a store-warmed session when you need the raw page instead. - Pay Only for Results: Failed requests are never charged.
- No Blocks or CAPTCHAs: Anti-bot handling, sessions, and retries are managed for you.
Endpoints
| Endpoint | Method | Output | Description | Details |
|---|---|---|---|---|
/plugin/walmart/search | GET | JSON | Search results for a keyword, scoped to a store | more |
/plugin/walmart/product | GET | JSON | Product detail for an item id, scoped to a store | more |
/plugin/walmart/store | GET | HTML / JSON | Any Walmart URL fetched through a store-warmed session | more |
Choosing a Store
/search and /product accept exactly one of two targeting parameters. Passing both, or neither, returns a 400.
| Parameter | Type | Description |
|---|---|---|
store | integer | A Walmart store id. Must be one of the store ids this API has verified coverage for; an unrecognized id returns a 400 telling you to use zipcode instead. |
store → zipcode | string | A 5-digit US ZIP code. Walmart resolves the store nearest to it. Use this when you care about a location rather than a specific store id. |
/store works differently: it takes zipcode and storeid together, or neither for a randomly selected major-market store. See its own page.
Which one should you use?
Use store when you are tracking a fixed set of locations over time and need the same shelf on every run. Use zipcode when you are modeling what a shopper in a given area would see, and any nearby store is acceptable.
Store Attribution
Every /search and /product response reports the store it reflects, both in the body and in a response header:
| Header | Description |
|---|---|
Scrape.do-Walmart-Store-Id | The Walmart store id the response is scoped to. Matches store.store_id in the body. |
Quick Start
# Search a store's shelf
curl "https://api.scrape.do/plugin/walmart/search?q=milk&store=1735&token=YOUR_TOKEN"
# Look up one item at that same store
curl "https://api.scrape.do/plugin/walmart/product?item=18611919209&store=1735&token=YOUR_TOKEN"
# Or target by location instead of store id
curl "https://api.scrape.do/plugin/walmart/search?q=milk&zipcode=60074&token=YOUR_TOKEN"Limits & Notes
- US only. Walmart's store-level pricing model applies to US stores and ZIP codes.
- Requests are charged only on success. Any
4xxor5xxfrom these endpoints costs nothing. - The premium proxy pool is always used for these endpoints; you do not need to pass
super.
Related
- Walmart Scraper API: product overview, pricing, and live examples
- Walmart scraping: step-by-step guide with full Python code
- Best Walmart scraper API: how five Walmart APIs compare on speed and coverage

