Store-Scoped Page Fetch
View as MarkdownFetch 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/storeInput Parameters
Required
| Parameter | Type | Required | Description |
|---|---|---|---|
token | string | * | Your Scrape.do API authentication token |
url | string | * | 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.
| Parameter | Type | Description |
|---|---|---|
zipcode | string | 5-digit US ZIP for the store, e.g. 10001 (NYC), 90210 (LA), 60601 (Chicago) |
storeid | integer | Walmart 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.
| Parameter | Type | Description |
|---|---|---|
storeid | integer | A 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
| Parameter | Type | Default | Description |
|---|---|---|---|
timeout | integer | system max | Per-request timeout in milliseconds |
disableretry | boolean | false | Return the first response, success or failure, without the internal retry loop |
transparentresponse | boolean | false | If 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 type | Response |
|---|---|
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 endpoints | JSON, 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
| Status | Body | Cause |
|---|---|---|
| 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.comrequests support explicit US ZIP and store pairs or random-store selection.walmart.carequests 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
404responses are billed as valid store-specific results. - If a US ZIP and store pair repeatedly fails, contact support.

