Skip to main content
Walmart

Walmart Scraper API
prices, sellers and reviews

Send a Walmart product, search or review link and get it back as data: price, was price, stock, pickup and delivery options, the seller and every other seller's offer, ratings and specifications. Works on walmart.com, walmart.ca and walmart.com.mx.

You sendwww.walmart.com/search?q=air+fryer
SearchProducts1 credit
You get back (real run, trimmed)
{
"type": "search",
"totalResults": 2186,
"itemCount": 52,
"items": [
{
"title": "Chefman Air Fryer 1500W, 6 Quart, 4 Functions with Touch Controls, Sta…",
"price": 59.98,
"rating": 4.6,
"reviewCount": 12810,
"seller": {
"name": "Walmart.com",
"id": "F55CDC31AB754BB68FE0B39041159D63",
"isWalmart": true
},
"sponsored": true
},
"… 51 more"
]
}
3

storefronts: walmart.com, walmart.ca and walmart.com.mx

111 of 112

pages delivered in the end-to-end test across all three

1 credit

per page, for a product with all its sellers' offers

$0

for a page that can't be delivered

Every Walmart page you can send

Copy the link from your browser, with your filters and sort. Spidra works out what kind of page it is.

Products

Price, was and unit price, stock, shipping, pickup and delivery dates, seller, ratings, specs, variants and the store the page was read for.

walmart.com/ip/<slug>/16101019328

Every seller's offer

Product pages include each other seller's offer, as in Walmart's own compare-sellers panel.

walmart.com/product/<id>/sellers

Searches

Every product on the page in order, with sponsored flag, price, rating, badges, fulfillment badges and seller.

walmart.com/search?q=air+fryer

Browse and categories

Browse pages read like a search, with breadcrumbs. Category pages return the item grid and every product carousel.

walmart.com/browse/<path>/<id>

Reviews

Star breakdown, topics and about 10 reviews per page with rating, date, verified purchase, helpful votes and photos.

walmart.com/reviews/product/5689919121

Canada and Mexico

walmart.ca in English or French and walmart.com.mx, each read from its own country, with the same fields.

walmart.ca/en/ip/... · walmart.com.mx/ip/...

One call, every field

Point the scrape call at a Walmart link. With JSON output and no prompt, the data comes back as it is, for 1 credit and no AI cost.

Ask for markdown instead and you get the readable page as text. The structured data still comes back, in its own structuredData field next to the markdown.

import { SpidraClient } from "spidra";
 
const spidra = new SpidraClient({
apiKey: process.env.SPIDRA_API_KEY,
});
 
const result = await spidra.scrape({
urls: [{ url: "https://www.walmart.com/search?q=air+fryer" }],
output: "json",
});
 
const data = result.content;
for (const p of data.items) console.log(p.title, p.price, p.seller.name);
What you get for each product
Identity
Title, brand, usItemId, productId, offer ID, UPC, GTIN, model and part number, breadcrumbs and category path
Price
Price, was price, list price, unit price, savings, rollback, clearance and reduced price flags
Stock
Availability, in stock, order limit, pre-order, and each fulfillment option with its date, price and store
Seller
Walmart or the marketplace seller's name and ID, rating, fulfilled by Walmart, and every other seller's offer
Ratings
Average rating, review count, star breakdown, percent who recommend, review topics and the top reviews
Details
Highlights, description, specifications, warnings, warranty and the return policy
Variants
Each option, and each variant's item ID, price and stock
Location
The postal code, city, state and store ID Walmart used for the page

What comes back

Real responses from Spidra, trimmed for length. Nothing here is mocked up.

Request
https://www.walmart.com/search?q=air+fryer
Response (real run, October 18, 2026, trimmed)
{
"type": "search",
"query": "air fryer",
"totalResults": 2186,
"page": 1,
"maxPage": 14,
"sort": "best_match",
"itemCount": 52,
"sponsoredCount": 12,
"location": {
"postalCode": "72022",
"city": "Bryant",
"state": "AR",
"storeId": "3230"
},
"items": [
{
"position": 1,
"usItemId": "14678059894",
"productId": "7GXM655MAE4G",
"title": "Chefman Air Fryer 1500W, 6 Quart, 4 Functions with Touch Controls, Stainless Steel",
"url": "https://www.walmart.com/ip/CHEFMAN-6QT-AIRFRYER/14678059894",
"price": 59.98,
"currency": "USD",
"rating": 4.6,
"reviewCount": 12810,
"sponsored": true,
"badges": [
"In 500+ people's carts",
"Save with Walmart plus"
],
"fulfillmentBadges": [
"Delivery as soon as 16 mins",
"Free shipping, arrives tomorrow",
"… 1 more"
],
"isRollback": false,
"isBestSeller": false,
"availability": "In stock",
"outOfStock": false,
"fulfillmentType": "STORE",
"seller": {
"name": "Walmart.com",
"id": "F55CDC31AB754BB68FE0B39041159D63",
"isWalmart": true
},
"category": "Home Page/Services/Immersive Shopping Suite/View in 3D",
"aisle": "H20"
},
{
"position": 2,
"usItemId": "17268119743",
"productId": "2DCMEW4OZ9LE",
"title": "Instant Pot 4QT VORTEX 6-in-1 Mini Air Fryer, Air fry, Bake, Roast, Broil, Dehydrate or Reheat, Blac…",
"url": "https://www.walmart.com/ip/Instant-Pot-4QT-Air-Fryer-Black/17268119743",
"price": 89.99,
"unitPrice": "$89.99/count",
"currency": "USD",
"rating": 4.4,
"reviewCount": 87,
"sponsored": true,
"badges": [
"Save with Walmart plus"
],
"fulfillmentBadges": [
"Free shipping, arrives Tue, Oct 20"
],
"isRollback": false,
"isBestSeller": false,
"availability": "In stock",
"outOfStock": false,
"fulfillmentType": "FC",
"seller": {
"name": "Walmart.com",
"id": "F55CDC31AB754BB68FE0B39041159D63",
"isWalmart": true
},
"category": "Home Page/Home/Appliances/Kitchen Appliances/Fryers/Air Fryers/Instant Pot Air Fryers"
},
"… 50 more"
]
}

Which store, and how close we can get

Walmart prices and stocks by store, and it picks the store from the visitor's IP address. Every result tells you which one it used: postal code, city, state and store ID.

Add deliveryZip to the URL (a US ZIP or a Canadian postal code) and Spidra reads the page through a connection in that state or province, and in the main city for big metros. The result reports what you asked for in requestedPostcode and whether Walmart placed you there in matchesRequest.

Walmart's own change-ZIP control needs an account or a browser-made guest session, so the exact ZIP is not possible for a visitor who isn't signed in. Measured on October 18, 2026: 19 of 20 ZIPs came back in the right state, big metros in the right city, and rural ZIPs in the state but not the town.

Request: a downtown Chicago ZIP
{
"urls": [{
"url": "https://www.walmart.com/ip/Ninja-4QT-Air-Fryer-Black-AF100WM/844320666",
"deliveryZip": "60601"
}],
"output": "json"
}
What came back (real run, October 19, 2026)
"location": {
"postalCode": "60660",
"city": "Chicago",
"state": "IL",
"storeId": "1998",
"requestedPostcode": "60601",
"matchesRequest": "state"
}

Every seller, not just the buy box

The seller in the buy box isn't always Walmart, and it isn't always the cheapest. Walmart lists the other offers in a separate panel that loads after the page.

Spidra fetches that panel for every product link and returns each offer with its seller and seller rating, price, condition, shipping and whether Walmart fulfills it, next to the main seller. A laptop read on October 18, 2026 came back with all 14 other offers. For a few items Walmart itself shows fewer offers than its own count, and the result matches what the site shows.

Ninja 4-Qt air fryer (real run, October 19, 2026, trimmed)
"additionalOfferCount": 1,
"offers": [
{
"seller": {
"name": "Walmart.com",
"type": "INTERNAL",
"isWalmart": true
},
"price": 59,
"wasPrice": 89,
"condition": "New",
"availability": "IN_STOCK",
"freeShipping": true,
"shippingDate": "2026-10-20T21:59:00.000Z",
"isBuyBox": true
},
{
"seller": {
"name": "SALFEBOX LLC",
"type": "EXTERNAL",
"isWalmart": false
},
"price": 79,
"wasPrice": 89,
"condition": "New",
"availability": "IN_STOCK",
"freeShipping": true,
"shippingDate": "2026-10-21T21:59:00.000Z",
"isBuyBox": false
}
]

Search results as a shopper sees them

Search pages come back in Walmart's order, with the sponsored flag on each product and a count for the page. You also get the badges shoppers see, like rollback, best seller and "In 500+ people's carts", and the delivery and pickup promises.

Page, sort, brand facets and price filters in the link are passed through as they are.

walmart.com search for "air fryer" (real run, trimmed)
"totalResults": 2186,
"maxPage": 14,
"itemCount": 52,
"sponsoredCount": 12,
"items": [{
"position": 1,
"title": "Chefman Air Fryer 1500W, 6 Quart, 4 Functions with Touch Controls, Stainless Steel",
"price": 59.98,
"rating": 4.6,
"reviewCount": 12810,
"sponsored": true,
"fulfillmentBadges": [
"Delivery as soon as 16 mins",
"Free shipping, arrives tomorrow",
"Free pickup as soon as tomorrow"
],
"seller": {
"name": "Walmart.com",
"isWalmart": true
},
"aisle": "H20"
}]

Ask for the columns you want

Describe the answer as a prompt, a JSON schema or both, and it comes back in that shape. The AI reads a compact copy of the data Spidra already read, not the whole page.

Request
const result = await spidra.scrape({
urls: [{ url: "https://www.walmart.com/search?q=coffee+maker" }],
prompt: "List each product with name, price, rating and seller.",
schema: {
type: "object",
properties: {
products: {
type: "array",
items: {
type: "object",
properties: {
name: {
type: "string"
},
price: {
type: "number"
},
rating: {
type: "number"
},
seller: {
type: "string"
}
}
}
}
}
},
});
What came back (real run)
{
"products": [
{
"name": "LINKChef Drip Coffee Maker 12 Cup Programmable Drip with Glass Carafe, 12-Hour Auto Brew Timer, Keep Warm Plate, Easy Clean Filter Basket",
"price": 59.99,
"rating": 4.6,
"seller": "LINKCHEF US"
},
{
"name": "Hamilton Beach FlexBrew 5-in-1 Coffee Maker, Hot or Iced, Single Serve Pod or Coffee Grounds, 12 Cup Coffee Pot, Black",
"price": 87,
"rating": 4.2,
"seller": "Walmart.com"
},
{
"name": "BLACK+DECKER Programmable 12-Cup Drip Coffee Maker",
"price": 31.97,
"rating": 4.5,
"seller": "Walmart.com"
},
"… 54 more"
]
}

This request cost 11 credits on October 18, 2026: 1 for the page plus the AI tokens. For the data as it is, use JSON output with no prompt for 1 credit.

What teams build with it

Walmart data feeds pricing, assortment and marketplace work.

How Spidra compares

Walmart has many scraping APIs. Some are cheaper per page at volume. Here is how they differ.

OxylabsSerpApiScrapingBeeSpidra
1,000 product pages$0.50 down to $0.25$25 down to about $2 per 1,000 searchesAbout $1.96 down to $0.75$3.80 down to $1.99, by plan
LocationStore ID or delivery ZIPStore IDStore ID or delivery ZIPdeliveryZip read from that state or metro, with the store Walmart used
Other sellersWalmart's price and the cheapest sellerOffers, plus a separate sellers engineSeller ratingEvery seller's offer in the product call
Storefrontscom, ca, com.mx, co.crcom and com.mxcom showncom, ca (English and French), com.mx
OutputFixed fieldsFixed fieldsFixed fieldsFixed fields, or your own schema or prompt
Beyond WalmartOther e-commerce targetsSearch engines and storesOther site APIsAny website, crawl, search, PDFs, MCP

Choose Oxylabs or ScrapingBee if

You need prices pinned to an exact ZIP code or store ID, or millions of product pages at the lowest price per page.

Choose Spidra if

You want every seller's offer with each product, the store each page was read for, Canada and Mexico with the same fields, and Walmart plus any other website on one API key.

Competitor prices are as published on their own pages on October 18, 2026 and may have changed. Spidra prices use 1 credit per page on each plan. Sources: Oxylabs, SerpApi, ScrapingBee.

What to know before you build

We would rather you hear the limits from us than find them in production.

  • Walmart sets the location from the visitor's IP. deliveryZip places the read in that state or province (and the main city for big metros), never the exact ZIP. Without it, the store nearest the IP is used, so it can change between requests. deliveryZip isn't supported on walmart.com.mx yet.
  • Walmart shows 13 to 25 pages per search. For more products, split the search by price range, brand or category.
  • For a few items Walmart returns fewer other offers than its own count. The result matches what the site's panel shows.
  • Review pages hold about 10 reviews each. walmart.com.mx has no review pages, and its product pages carry the top 10 reviews.
  • Spidra reads Walmart as a visitor who isn't signed in. Cart, orders and member-only prices are not available.
  • Reviews include the reviewer's nickname as Walmart shows it. Handle personal data according to the privacy laws that apply to you.

What it costs

1 credit per page. Pages that can't be delivered are free. Work out your monthly volume below.

Monthly credits
9,000
Fits the Builder plan ($79/mo)

Example: 300 product pages a day is about 9,000 credits a month, with every seller's offer included. Plain JSON output uses no AI tokens.

PlanPriceWalmart pages a month
Free$0up to 300 (one time)
Starter$19/moup to 5,000
BuilderPopular$79/moup to 25,000
Pro$249/moup to 125,000

Credits are shared across everything Spidra does, so the same plan covers Walmart and any other site.

Related scrapers

Same API key, same credits. See every scraper.

FAQ

Questions, answered

Walmart

Walmart's Affiliate API is self-serve and covers product lookup, search and reviews on walmart.com, with signed requests. It doesn't give store-level pickup stock, the list of other sellers' offers, or search positions and sponsored flags as a shopper sees them. The Marketplace APIs are only for approved sellers and their own items. Spidra reads the public pages, so you get what a shopper sees.

Send a Walmart link and see what comes back.

Get 300 free credits, no card, and run your first Walmart search from the dashboard or the API.

Spidra is not affiliated with, endorsed by, or sponsored by Walmart. Walmart is a trademark of Walmart Inc. Check Walmart's terms of use and the laws that apply to you before you collect data, and use the data responsibly.