Search Walmart products with price, rating and availability.
Searches Walmart.com like the site's own search: product name, current and previous price in USD, rating and number of reviews, seller, availability, badges such as Best seller or Rollback, image and link. Sponsored products are dropped by default.
- Site
- Walmart, United States
- Version
- v1
- Runs, last 7 days
- No reports yet
- sha256
- 511612b58ff3…
Requests
sent from your browser, in order- 1GET/search?max_price&min_price&page&q&sort
Parameters
from your agentinclude_sponsoredboolean = false
max_priceintegerUSD
min_priceinteger
pageinteger = 1
querystringrequiredWhat to search for, e.g. 'air fryer'
sortenum "best_match" | "price_low" | "price_high" | "best_seller" | "rating_high" = "best_match"
Returns
to your agentcurrencyany
pageinteger
productsobject[]availability, badges, id, image_url, name, price, rating, reviews, seller, sponsored, url, was_price
querystring
totalinteger
Where it can send
- www.walmart.com
Anything else is blocked by the extension.
Reads from your session
Nothing. Your browser attaches the site's cookies by itself.
Used only in requests to the addresses on the left. Never sent to wield.run or your agent.
Checks
a run passes when- length(output.products) > `5`
- output.total > `20`
- length(output.products[?sponsored]) == `0`
- length(output.products[?price > `80`]) == `0`
- starts_with(output.products[0].url, 'https://www.walmart.com/ip/')
Raw recipe
Served as canonical JSON from /api/v1/recipes/walmart.com/search-products, so its sha256 matches the ETag and the index.
Check it yourself
curl -s https://wield.run/api/v1/recipes/walmart.com/search-products | shasum -a 256 # 511612b58ff339c38c93e42232e61e76ed31f6ad7b4d431b698ca2971cf58d57
walmart.com/search-products.json, v1
{ "description": "Searches Walmart.com like the site's own search: product name, current and previous price in USD, rating and number of reviews, seller, availability, badges such as Best seller or Rollback, image and link. Sponsored products are dropped by default.", "effect": "read", "id": "walmart.com/search-products", "keywords": [ "walmart", "shopping", "groceries", "buy", "price", "rollback", "product search", "usa shopping", "einkaufen usa" ], "output": { "schema": { "properties": { "currency": { "const": "USD" }, "page": { "type": "integer" }, "products": { "items": { "properties": { "availability": { "description": "e.g. IN_STOCK, OUT_OF_STOCK", "type": [ "string", "null" ] }, "badges": { "items": { "type": "string" }, "type": "array" }, "id": { "type": "string" }, "image_url": { "type": [ "string", "null" ] }, "name": { "type": "string" }, "price": { "type": [ "number", "null" ] }, "rating": { "type": [ "number", "null" ] }, "reviews": { "type": [ "integer", "null" ] }, "seller": { "type": [ "string", "null" ] }, "sponsored": { "type": "boolean" }, "url": { "format": "uri", "type": "string" }, "was_price": { "type": [ "number", "null" ] } }, "type": "object" }, "type": "array" }, "query": { "type": "string" }, "total": { "type": [ "integer", "null" ] } }, "required": [ "query", "products" ], "type": "object" }, "value": "let $sp = params.include_sponsored in {query: params.query, total: steps.search.total, page: params.page, currency: 'USD', products: steps.search.items[?$sp || !sponsored]}" }, "params": { "additionalProperties": false, "properties": { "include_sponsored": { "default": false, "type": "boolean" }, "max_price": { "description": "USD", "minimum": 1, "type": "integer" }, "min_price": { "minimum": 0, "type": "integer" }, "page": { "default": 1, "maximum": 25, "minimum": 1, "type": "integer" }, "query": { "description": "What to search for, e.g. 'air fryer'", "maxLength": 120, "minLength": 2, "type": "string" }, "sort": { "default": "best_match", "enum": [ "best_match", "price_low", "price_high", "best_seller", "rating_high" ], "type": "string" } }, "required": [ "query" ], "type": "object" }, "provenance": { "method": "browser-inspect", "notes": "spikes/walmart.md. Next.js SSR: __NEXT_DATA__ props.pageProps.initialData.searchResult (aggregatedCount, itemStacks[0].items with Product, AdPlaceholder and TileTakeOverProductPlaceholder entries; isSponsoredFlag marks paid products, 5 of 17 in the sample). Walmart runs PerimeterX/HUMAN bot defence ('press and hold') against non-browser traffic; run from the user's own browser only.", "recorded_at": "2026-11-07T12:56:00+01:00", "recorded_by": "C4" }, "requires_login": false, "schema": "https://wield.run/schema/recipe/v1.json", "site": { "country": "US", "id": "walmart.com", "language": "en", "login_url": "https://www.walmart.com/account/login", "name": "Walmart", "origin": "https://www.walmart.com", "origins": [ "https://www.walmart.com" ] }, "steps": [ { "expect": { "content_type": "html", "status": [ 200 ] }, "extract": { "embedded_json": { "selector": "script#__NEXT_DATA__", "vars": { "items": "props.pageProps.initialData.searchResult.itemStacks[0].items[?__typename=='Product'].{id: usItemId, name: name, price: price || `null`, was_price: (priceInfo.wasPrice != '' && priceInfo.wasPrice || `null`) && to_number(trim(replace(replace(replace(replace(replace(replace(replace(replace((priceInfo.wasPrice != '' && priceInfo.wasPrice || `null`), ' ', ''), ' ', ''), 'EUR', ''), 'US$', ''), '$', ''), '€', ''), '£', ''), ',', ''))) || `null`, rating: averageRating || `null`, reviews: numberOfReviews || `null`, seller: sellerName || `null`, availability: availabilityStatusV2.value || `null`, badges: badges.flags[].text || `[]`, sponsored: isSponsoredFlag == `true`, image_url: image || imageInfo.thumbnailUrl || `null`, url: join('', ['https://www.walmart.com', split(canonicalUrl || '', '?')[0]])}", "total": "props.pageProps.initialData.searchResult.aggregatedCount" } } }, "id": "search", "parse": "html", "request": { "headers": { "Accept": "text/html" }, "method": "GET", "query": { "max_price": "{{params.max_price}}", "min_price": "{{params.min_price}}", "page": "{{params.page}}", "q": "{{params.query}}", "sort": "{{params.sort}}" }, "url": "/search" } } ], "task": "Search Walmart products with price, rating and availability", "tos": { "notes": "Walmart's terms prohibit automated access and scraping. One user-initiated search page at a time from the user's own browser (1 request). Buying stays on walmart.com.", "reviewed": false }, "verify": { "checks": [ "length(output.products) > `5`", "output.total > `20`", "length(output.products[?sponsored]) == `0`", "length(output.products[?price > `80`]) == `0`", "starts_with(output.products[0].url, 'https://www.walmart.com/ip/')" ], "example_params": { "max_price": 80, "query": "air fryer", "sort": "price_low" }, "max_ms": 6000 }, "version": 1 }