logo

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 store id when you know exactly which store you want, or a zipcode to let Walmart resolve the nearest one.
  • Structured JSON Output: /search and /product return clean parsed fields, no HTML parsing and no digging through Walmart's internal payload.
  • Full Page Access: /store returns 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

EndpointMethodOutputDescriptionDetails
/plugin/walmart/searchGETJSONSearch results for a keyword, scoped to a storemore
/plugin/walmart/productGETJSONProduct detail for an item id, scoped to a storemore
/plugin/walmart/storeGETHTML / JSONAny Walmart URL fetched through a store-warmed sessionmore

Choosing a Store

/search and /product accept exactly one of two targeting parameters. Passing both, or neither, returns a 400.

ParameterTypeDescription
storeintegerA 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.
storezipcodestringA 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:

HeaderDescription
Scrape.do-Walmart-Store-IdThe 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 4xx or 5xx from these endpoints costs nothing.
  • The premium proxy pool is always used for these endpoints; you do not need to pass super.

On this page