logo

Store-Scoped Page Fetch

View as Markdown

Fetch Walmart US or Canada URLs through a session warmed for a specific store

The Store endpoint fetches any walmart.com or walmart.ca URL through a session already warmed for a specific store, and returns the upstream response verbatim. Use it when you need a page the structured endpoints do not cover — a category listing, a Walmart API endpoint, or the full product HTML.

If you only need search results or product details, /search and /product are lighter and return parsed JSON instead.


Endpoint

GET https://api.scrape.do/plugin/walmart/store

Input Parameters

Required

ParameterTypeRequiredDescription
tokenstring*Your Scrape.do API authentication token
urlstring*Full Walmart URL on walmart.com or walmart.ca. Product, category, search, and Walmart API endpoints are accepted. The domain determines the storefront country

Store Selection for walmart.com

Pass both zipcode and storeid, or omit both to let the API pick a random major-market store. Passing only one returns a 400.

ParameterTypeDescription
zipcodestring5-digit US ZIP for the store, e.g. 10001 (NYC), 90210 (LA), 60601 (Chicago)
storeidintegerWalmart store id matching that ZIP, e.g. 5376 for ZIP 10001

This differs from /search and /product, which take either store or zipcode. Here the two are a pair and must match a real Walmart store, otherwise the request returns a 502.

Store Selection for walmart.ca

Pass storeid only. A Canadian store id is required, zipcode is not used, and random-store selection is not available.

ParameterTypeDescription
storeidintegerA walmart.ca store id, e.g. 1186 for Winnipeg Grant Park or 3177 for Winnipeg Southwest

You can find store ids with the Walmart Canada store finder. Search by postal code and use the number at the end of a store's /en/store/<storeid> URL.

Canadian English pages use /en/ paths and French pages use /fr/. The API follows the language in your URL and sends the corresponding en-CA or fr-CA language preference.

Optional

ParameterTypeDefaultDescription
timeoutintegersystem maxPer-request timeout in milliseconds
disableretrybooleanfalseReturn the first response, success or failure, without the internal retry loop
transparentresponsebooleanfalseIf the request runs out of time but a partial body is already available, return that body instead of a 502

Response

The upstream Walmart response is returned verbatim, with its original content type:

URL typeResponse
Product pages (/ip/…)Full Walmart HTML, with the page state JSON embedded inline. For walmart.com, the requested store id is guaranteed to be present in it
Category pages (/browse/…)Full HTML
Walmart API endpointsJSON, with content-type: application/json
walmart.ca GraphQL endpoints (/orchestra/graphql/…)The operation's JSON response, scoped through the requested store's session

For walmart.ca GraphQL requests, pass the URL exactly as Walmart calls it and URL-encode the complete url value, including its variables JSON. The API supplies the required Walmart frontend headers for you.

If a page or item does not exist at the selected store, Walmart's own 404 response is returned. Because that is a valid store-specific result, the request is billed.


Example Usage

A Product Page at a Specific Store

curl "https://api.scrape.do/plugin/walmart/store\
?url=https://www.walmart.com/ip/SS-BTN-FT-PANEL-MIDI/15586351437\
&zipcode=10001&storeid=5376&token=YOUR_TOKEN"

A Category Page, Any Store

curl "https://api.scrape.do/plugin/walmart/store\
?url=https://www.walmart.com/browse/electronics&token=YOUR_TOKEN"

A Canadian Search Page

curl "https://api.scrape.do/plugin/walmart/store\
?url=https://www.walmart.ca/en/search%3Fq%3Dmilk\
&storeid=1186&token=YOUR_TOKEN"

A Canadian GraphQL Endpoint

curl "https://api.scrape.do/plugin/walmart/store\
?url=https%3A%2F%2Fwww.walmart.ca%2Forchestra%2Fgraphql%2FReviewsById%2F<hash>%3Fvariables%3D<url-encoded-json>\
&storeid=1186&token=YOUR_TOKEN"

Error Responses

StatusBodyCause
400{"error":"token is required"}Missing token
400{"error":"invalid url provided"}url parameter missing
400{"error":"valid walmart url expected"}URL is not on walmart.com or walmart.ca
400{"error":"invalid parameters","message":"Either provide both zipcode and storeid, or omit both for random selection"}walmart.com: only one of zipcode and storeid was provided
400{"error":"invalid parameters","message":"storeid is required for walmart.ca URLs"}walmart.ca: storeid was omitted
400{"error":"invalid storeid provided"}storeid is not an integer
400{"error":"timeout is invalid"}timeout is not an integer
502{"error":"invalid combination of zipcode and storeid","message":"…"}walmart.com: Walmart does not recognize this ZIP and store pair
502{"error":"Walmart-store plugin failure.","message":"…"}All retries exhausted. Not charged

Notes

  • walmart.com requests support explicit US ZIP and store pairs or random-store selection. walmart.ca requests require a Canadian store id.
  • US store selection affects prices, inventory, and pickup availability. Canadian store selection affects assortment and stock; prices are generally the same across Canadian stores.
  • The first request for a new store may take longer while the API prepares a store-specific session. Canadian store sessions require a browser warm-up and can have a longer cold start.
  • HTML responses are validated against the requested store and retried automatically when they do not match. Canadian GraphQL responses are scoped through the store-bound session but may not include a store id in the response body.
  • Each successful request costs 10 credits. Input errors and plugin failures are not charged; Walmart-originated 404 responses are billed as valid store-specific results.
  • If a US ZIP and store pair repeatedly fails, contact support.

On this page