Overview
The ScrapeBadger Walmart API turnswalmart.com into a clean JSON feed:
keyword search, category browse, a deals/rollback feed, full product detail
(UPC/GTIN, structured specifications, per-fulfilment promised delivery dates,
condition offers), paginated reviews with the complete star histogram,
marketplace seller profiles and catalogues, and physical-store detail with
per-department hours.
All endpoints are
GET, live under https://scrapebadger.com/v1/walmart/*,
and authenticate with the X-API-Key header. Credits are charged per request
(see the table below) and reported on the X-Credits-Used response header.Features
- Product search — keywords with
sort, price band and facet filters. ~40–60 organic products per page. Sponsored ad tiles are dropped; sponsored products are returned and flaggedis_sponsored. - Category browse — any
walmart.com/browse/...or/cp/...path, same result shape as search. - Deals feed — Walmart’s live rollbacks and clearance as a paginated product feed, not a boolean on a product row.
- Full product detail —
upc/gtin,model, groupedspecification_groups[],variants[],condition_offers[](new vs pre-owned on the same item),fulfillment_summary[]with promised delivery dates per method,return_policy,nutrition_factsfor grocery, plus a reviews sample so shallow use cases need only one call. - Full review histogram —
distributioncarries per-star counts and percentages (five_star,five_star_percent, …),recommended_percentageandtotal_media_count, alongside paginated review text. - Marketplace sellers — profile (contact, address, rating, policies) and a searchable catalogue of that seller’s inventory.
- Physical stores — a store’s address, geo, phone, opening hours, per-department services each with their own hours and phone, fuel prices where present, and ~30 nearby stores in the same response.
- Walmart’s generative-AI product content —
ai_description_htmlandai_highlights[], surfaced rather than trimmed.
No competing Walmart API offers a store-detail, deals, or seller-catalogue
endpoint — seller endpoints elsewhere return profile metadata only.
Coverage
US only. Onlywalmart.com is supported.
Credits
Quickstart
Pagination limits
total_results_reported is Walmart’s own claim, not a reachable count. A
query reporting ~14,000 results stops returning products after page 10
(/search, /sellers/{id}/products) or page 11 (/category, /deals) —
pages beyond that return HTTP 200 with an empty payload. That is roughly 500
products per query.
- Always page on
has_more_pages, never ontotal_results_reported. max_pagein every result set is the measured ceiling for that surface.- To go deeper than 500, segment the query: repeat it per brand facet
(
facet=brand:HP) or across price bands (min_price/max_price).
Store-specific prices
Walmart resolves the assortment store from the request IP. It cannot be pinned by a parameter or cookie — the server overwrites any store id back to the IP default. Prices and availability are therefore store-specific whether you asked for it or not. Every product response carries alocation block naming the store that was
resolved, so the answer is always attributable:
Other measured limits
/categoryhas nosort. Walmart’s browse pages ignore it (34/38 identical ids with and without it, and the param is not echoed back). Sort on/searchinstead.- Facets can be applied but not enumerated. Pass
facet=brand:HPand it filters; there is no endpoint listing available facets, because Walmart renders the filter rail client-side. - The seller id is the numeric
catalog_seller_idfound on a product — not the 32-char hexseller_id, which 404s as a storefront URL. /sellers/{id}returns no product list. The storefront grid is rendered client-side. Use/sellers/{id}/products, which goes through search and therefore requires aquery.- Searching by UPC does not work. Walmart returns zero results for a bare
UPC — resolve UPCs by keyword and read
upcoff the product detail instead. - Reviews are 10 per page. That is Walmart’s page size and is not adjustable.

