logo

Walmart Scraper API

View as Markdown

Store-scoped Walmart product, search, and page data for the US and Canada

Walmart stock levels, assortment, and pickup availability differ from one store to the next. US prices can vary by store too. Data scraped without pinning a store reflects whichever location Walmart guessed for the request, which makes results impossible to compare across runs.

The Walmart Scraper API pins requests to a store you choose and returns data that genuinely reflects that store's shelf. Structured Search and Product endpoints support US stores, while the Store endpoint can fetch store-scoped pages from both walmart.com and walmart.ca.

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.
  • Structured Endpoint Targeting: Pass a store id when you know exactly which US 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.
  • US and Canada Page Access: /store returns any walmart.com or walmart.ca 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.
zipcodestringA 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. For walmart.com, pass zipcode and storeid together, or omit both for a randomly selected major-market store. For walmart.ca, pass storeid only. 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

  • /search and /product support US stores and ZIP codes only. /store supports both the US and Canada.
  • Input errors and plugin failures are not charged. A Walmart-originated 404 from /store is a valid store-specific result and is billed.
  • The premium proxy pool is always used for these endpoints; you do not need to pass super.

On this page