Home / Tools / Walmart Scraper
E-commerce & reviews
Walmart Scraper
Scrape Walmart.com products by keyword, category URL, product URL or item ID: price, was-price, unit price, stock, pickup/delivery, seller (Walmart vs marketplace), UPC/GTIN, variants, specs, images, ratings and optional reviews. Fast HTTP, no browser, auto-retries blocked requests.
- Price: $3.50 per 1,000 × product with full details
- Prefilled example: finished in 47 s on Oct 19, 2026 (Done in 41.6s: 5/5 products with full details.)
- Reliability: 16/16 public runs succeeded in the last 30 days (100%)
- Works with: Apify Console, REST API, Python, JavaScript, MCP (Claude, Cursor, VS Code), n8n, Make, Zapier
- Last updated: 2026-10-19
Sample output
| Product | Brand | Price | Rating | Reviews |
|---|---|---|---|---|
| Folgers Classic Roast Ground Coff… | Folgers | 12.96 | 4.70 | 78,867 |
| Dios Mio Coffee By Sofia Vergara,… | Dios Mio | 9.86 | 4.50 | 840 |
| Bulletproof Original Medium Roast… | Bulletproof | 17.99 | 4.70 | 3,875 |
Real rows from the prefilled example run (Oct 19, 2026), 5 of 57+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.
Full JSON of one real output row (5 rows in the example dataset)
{
"type": "product",
"itemId": "578550306",
"productId": "492U4U1TMHC0",
"primaryItemId": "971362035",
"title": "Folgers Classic Roast Ground Coffee, Medium Roast, 25.9 oz Canister",
"brand": "Folgers",
"url": "https://www.walmart.com/ip/Folgers-Classic-Roast-Ground-Coffee-Medium-Roast-25-9-oz-Canister/578550306",
"price": 12.96,
"wasPrice": 14.96,
"listPrice": 14.96,
"unitPrice": 0.5,
"unitPriceString": "50.0 ¢/oz",
"unitOfMeasure": "OZ",
"currency": "USD",
"savingsAmount": 2,
"priceRangeMin": null,
"priceRangeMax": null,
"isRollback": true,
"isClearance": false,
"rating": 4.7,
"reviewCount": 78867,
"sellerId": "F55CDC31AB754BB68FE0B39041159D63",
"sellerName": "Walmart.com",
"sellerType": "WALMART",
"sellerRating": null,
"sellerReviewCount": null,
"fulfilledByWalmart": true,
"offerType": "ONLINE_AND_STORE",
"offerCount": 10,
"availability": "IN_STOCK",
"inStock": true,
"shipping": {
"available": true,
"availability": "IN_STOCK",
"date": "2026-10-19T21:59:00.000Z",
"label": "Today",
"price": null,
"free": false,
"location": "Harrisville, 84404",
"aisle": null,
"lowStock": false,
"maxOrderQuantity": 12
},
"pickup": {
"available": true,
"availability": "IN_STOCK",
"date": "2026-10-19T09:00:00.000-06:00",
"label": "Today",
"price": null,
"free": false,
"location": "Harrisville Supercenter",
"aisle": "A16",
"lowStock": false,
"maxOrderQuantity": 12
},
"delivery": {
"available": false,
"availability": "NOT_AVAILABLE",
"date": null,
"label": null,
"price": null,
"free": null,
"location": "Harrisville, 84404",
"aisle": null,
"lowStock": null,
"maxOrderQuantity": null
},
"orderLimit": 12,
"location": {
"postalCode": "84404",
"city": "Harrisville",
"state": "UT",
"storeId": "2921"
},
"image": "https://i5.walmartimages.com/seo/Folgers-Classic-Roast-Ground-Coffee-Medium-Roast-25-9-oz-Canister_96f5cb79-fc87-469f-b219-e555936a67d3.ee860d1c7c655ceb9e5bcf5d579dbda5.jpeg",
"images": [
"https://i5.walmartimages.com/seo/Folgers-Classic-Roast-Ground-Coffee-Medium-Roast-25-9-oz-Canister_96f5cb79-fc87-469f-b219-e555936a67d3.ee860d1c7c655ceb9e5bcf5d579dbda5.jpeg",
"https://i5.walmartimages.com/asr/75cc5866-fcf9-43f0-bbe9-bc891df91fdf.568985f2f9e37d207e75a130cc53e926.jpeg",
"https://i5.walmartimages.com/asr/c82d4a06-49e8-411d-81ba-6bdd5599ea67.2b00bc46ec182b4c79fb8fab93542f9f.jpeg",
"... 4 more"
],
"categories": [
"Food",
"Coffee",
"Folgers Coffee",
"... 1 more"
],
"categoryUrl": "https://www.walmart.com/cp/all-folgers-coffee/8271556"
}Output fields
From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.
| Field | Type | Description |
|---|---|---|
type | string | Row type: product, review or error (errors are free) |
itemId | string | Walmart item ID (usItemId) |
productId | string | Walmart catalog product ID |
title | string | Product title |
brand | string | Brand |
url | string | Product URL |
price | number | Current price |
wasPrice | number | Previous price (strike-through) |
listPrice | number | List price |
unitPrice | number | Price per unit |
unitPriceString | string | Unit price as shown, e.g. 50.0 ¢/oz |
unitOfMeasure | string | Unit of measure |
currency | string | Currency |
savingsAmount | number | Savings vs was-price |
rating | number | Average rating 1-5 |
reviewCount | integer | Number of ratings/reviews |
sellerId | string | Seller ID |
sellerName | string | Seller name |
sellerType | string | WALMART (1P) or MARKETPLACE (3P) |
fulfilledByWalmart | boolean | Sold or fulfilled by Walmart (WFS) |
offerCount | integer | Number of offers for the item |
availability | string | IN_STOCK, OUT_OF_STOCK, ... |
inStock | boolean | In stock |
shipping | object | Shipping option: available, date, price, label |
Pricing
Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| Product with full details main Charged once per product scraped with full product-page details. | $0.0035 | $0.003 | $0.0027 | $0.0024 |
| Listing-only product Charged once per product returned from search/category listing only (details off or product page unavailable). | $0.0012 | $0.001 | $0.0009 | $0.0008 |
| Review Charged once per customer review saved. | $0.0004 | $0.0003 | $0.0003 | $0.0003 |
| Actor start Charged once when the Actor run starts. | $0.002 | $0.002 | $0.002 | $0.002 |
Examples on the Free plan: 100 product with full detailss = $0.35, 1,000 product with full detailss = $3.50, 10,000 product with full detailss = $35. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).
Example input
This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.
{
"searchKeywords": [
"coffee"
],
"startUrls": [
{
"url": "https://www.walmart.com/browse/food/coffee/976759_1086446"
}
],
"productIds": [
"578550306"
],
"maxItems": 5,
"maxItemsPerQuery": 40,
"includeDetails": true,
"sort": "best_match",
"includeReviews": false,
"maxReviewsPerProduct": 20,
"reviewsSort": "relevancy",
"proxyConfiguration": {
"useApifyProxy": true
},
"residentialFallback": true,
"maxConcurrency": 10,
"maxRetries": 8
}Use it from code, no-code or an AI agent
cURL (one request, returns rows)
curl -X POST \
"https://api.apify.com/v2/acts/wrenfield-data~walmart-product-scraper/run-sync-get-dataset-items" \
-H "Authorization: Bearer $APIFY_TOKEN" \
-H "Content-Type: application/json" \
-d '{"searchKeywords": ["coffee"], "startUrls": [{"url": "https://www.walmart.com/browse/food/coffee/976759_1086446"}], "productIds": ["578550306"], "maxItems": 5, "maxItemsPerQuery": 40, "includeDetails": true, "sort": "best_match", "includeReviews": false, "maxReviewsPerProduct": 20, "reviewsSort": "relevancy", "proxyConfiguration": {"useApifyProxy": true}, "residentialFallback": true, "maxConcurrency": 10, "maxRetries": 8}'Python
# pip install apify-client
import os
from apify_client import ApifyClient
client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/walmart-product-scraper").call(
run_input={
"searchKeywords": [
"coffee"
],
"startUrls": [
{
"url": "https://www.walmart.com/browse/food/coffee/976759_1086446"
}
],
"productIds": [
"578550306"
],
"maxItems": 5,
"maxItemsPerQuery": 40,
"includeDetails": True,
"sort": "best_match",
"includeReviews": False,
"maxReviewsPerProduct": 20,
"reviewsSort": "relevancy",
"proxyConfiguration": {
"useApifyProxy": True
},
"residentialFallback": True,
"maxConcurrency": 10,
"maxRetries": 8
},
max_total_charge_usd=1.00, # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
print(row)JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/walmart-product-scraper').call({
"searchKeywords": [
"coffee"
],
"startUrls": [
{
"url": "https://www.walmart.com/browse/food/coffee/976759_1086446"
}
],
"productIds": [
"578550306"
],
"maxItems": 5,
"maxItemsPerQuery": 40,
"includeDetails": true,
"sort": "best_match",
"includeReviews": false,
"maxReviewsPerProduct": 20,
"reviewsSort": "relevancy",
"proxyConfiguration": {
"useApifyProxy": true
},
"residentialFallback": true,
"maxConcurrency": 10,
"maxRetries": 8
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);MCP (Claude, Cursor, VS Code, any MCP client)
{
"mcpServers": {
"wrenfield-walmart-product-scraper": {
"url": "https://mcp.apify.com?tools=wrenfield-data/walmart-product-scraper"
}
}
}Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--walmart-product-scraper. More client setups on the MCP page.
n8n, Make, Zapier
Use the official Apify node or app, pick Run Actor, enter wrenfield-data/walmart-product-scraper and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.
FAQ
How much does Walmart Scraper cost?
$0.0035 per product with full details on the Apify Free plan ($3.50 per 1,000), billed per result by Apify with no subscription. Plus $0.0012 per listing-only product. Plus $0.0004 per review. Plus $0.002 per actor start. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.
Is there an official Walmart API?
Walmart offers APIs for its own sellers and affiliate partners, but not a public product data API for everyone. This Actor gives you the data shoppers see on walmart.com as structured JSON or CSV. You can use it through the Apify API, schedules, webhooks and integrations.
Why does my Walmart scraper get "Robot or human?" or blocked pages?
Walmart blocks plain HTTP clients by their TLS fingerprint, IP reputation and request patterns. This Actor uses browser-grade fingerprints, rotates sessions and IPs, and automatically retries blocked requests on residential IPs. Blocked pages are retried and never returned as data.
How much does it cost to scrape 1,000 Walmart products?
You pay the product-result event price per detailed product (see the Pricing tab). Proxy and compute costs are included. Listing-only mode is cheaper. Use it when you only need the price, rating and stock shown in the search results.
Can I monitor Walmart prices daily?
Yes. Save your item IDs or search URLs as a task, schedule it daily, and compare price, wasPrice, inStock and sellerName between runs. Add a ZIP code to track local prices.
Can I get marketplace (third-party) seller info?
Yes. sellerName, sellerId and sellerType show the seller that holds the Buy Box, and offerCount shows how many other offers exist.
How do I find a Walmart item ID?
It is the number at the end of a product URL. For example, https://www.walmart.com/ip/.../578550306 has the item ID 578550306. You can paste the full URL or just the ID.
Related tools
Google Shopping Price Comparison
Seller prices by keyword or UPC/EAN barcode, 45 countries.
Home Depot & Lowe's Scraper
Price, store stock, aisle and reviews for any ZIP code.
Shopify Store Scraper
Any Shopify catalog, plus price-drop and restock monitoring.
Tripadvisor Reviews
Reviews for hotels, restaurants and attractions.
Compare and plan
Try Walmart Scraper now
Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.
Open on Apify