Walmart Scraper
Pricing
Pay per event
Walmart Scraper
Scrape Walmart search results for prices, discounts, ratings, review counts, seller names, and deal badges like Rollback. Sort by best match, reviews, or price. Perfect for price monitoring, dropshipping research, and competitive intel. Export to JSON, CSV, or Excel.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Stas Persiianenko
Actor stats
0
Bookmarked
9
Total users
3
Monthly active users
5 hours ago
Last modified
Categories
Share
Scrape Walmart product data including prices, ratings, reviews, seller info, and deal badges from search results.
What does Walmart Scraper do?
Walmart Scraper extracts product data from Walmart search results. Get structured data for products including prices, ratings, review counts, seller information, deal badges, and images. Search by keyword with multiple sort options.
Use it for price monitoring, competitive intelligence, dropshipping research, market analysis, and deal tracking.
Use cases
- Price monitoring — Track product prices across categories. Compare current prices with original prices and savings amounts.
- Competitive intelligence — Research product listings, seller distribution, and pricing strategies on Walmart.
- Dropshipping research — Find products with high ratings and strong seller reviews. Identify pricing arbitrage opportunities.
- Market analysis — Analyze product availability, rating distributions, and seller competition across product categories.
- Deal tracking — Monitor rollback deals, clearance items, and "best seller" badges to find the best offers.
- E-commerce analytics — Track new arrivals, price trends, and review counts for product categories.
Why use Walmart Scraper?
- Rich data extraction — Every product includes price, original price, savings, rating, review count, seller name, deal badges, and product image.
- Multiple sort options — Sort by best match, best seller, price (low/high), highest rating, or new arrivals.
- Multi-page pagination — Scrape up to 25 pages of results per search (~40 products per page).
- Deal detection — Automatically identifies products on sale with savings amounts and deal badges like "Rollback" and "Best seller".
- Seller information — Extract seller names to identify Walmart.com vs. third-party sellers.
- Residential proxy — Uses residential proxies for reliable data extraction.
- Pay-per-event pricing — You only pay for products scraped. No monthly subscription.
What data can you extract?
Each product in the output includes:
| Field | Description |
|---|---|
usItemId | Walmart item identifier |
name | Product name |
price | Current price (number) |
priceString | Formatted price string (e.g., "$199.69") |
wasPrice | Original price before discount |
savings | Savings text (e.g., "SAVE $269.31") |
onSale | Whether the product is discounted |
rating | Average rating (0-5) |
reviewCount | Number of customer reviews |
seller | Seller name (e.g., "Walmart.com") |
fulfillmentType | Delivery/fulfillment method |
flag | Deal badge (e.g., "Rollback", "Best seller", "100+ bought since yesterday") |
thumbnail | Product image URL |
url | Direct link to the Walmart product page |
isSponsored | Whether the listing is a sponsored placement |
scrapedAt | Timestamp when the data was extracted |
Output example
{"usItemId": "17828556665","name": "JLab Go Air Pop Bluetooth Earbuds, True Wireless with Charging Case","price": 23.78,"priceString": "$23.78","wasPrice": "$29.38","savings": "SAVE $5.60","onSale": true,"rating": 4.5,"reviewCount": 34286,"seller": "Walmart.com","fulfillmentType": "","flag": "500+ bought since yesterday","thumbnail": "https://i5.walmartimages.com/seo/...","url": "https://www.walmart.com/ip/JLab-Go-Air-Pop-Bluetooth-Earbuds/...","isSponsored": false,"scrapedAt": "2026-03-03T01:40:32.821Z"}
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | array | - | List of keywords to search on Walmart. Each keyword runs a separate search. |
maxProductsPerSearch | integer | 100 | Maximum number of products to return for each keyword. |
maxSearchPages | integer | 5 | Maximum number of search result pages per keyword. Each page has ~40 products. |
sort | string | "best_match" | Sort: best_match, best_seller, price_low, price_high, rating_high, new. |
maxRequestRetries | integer | 5 | Retry attempts for failed requests. Higher values improve reliability. |
How to scrape Walmart products
- Open Walmart Scraper in Apify Console.
- Enter one or more search keywords (e.g.,
laptop,wireless earbuds). - Choose a sort order (best match, price low/high, rating, etc.).
- Set the maximum number of products and pages to scrape.
- Click Start and download results as JSON, CSV, or Excel.
How much does it cost to scrape Walmart?
Walmart Scraper uses pay-per-event pricing -- you only pay for what you scrape.
| Event | Price |
|---|---|
| Actor start | $0.001 per run |
| Product scraped | $0.004 per product |
Cost examples:
- 40 products (1 page): ~$0.16
- 100 products (3 pages): ~$0.40
- 200 products (5 pages): ~$0.80
No monthly subscription. Platform costs (compute, residential proxy) are included in the per-event price.
Using the Apify API
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('automation-lab/walmart-scraper').call({searchQueries: ['laptop'],maxProductsPerSearch: 40,sort: 'price_low',});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(product => {console.log(`$${product.price} - ${product.name} (${product.rating}/5, ${product.reviewCount} reviews)`);});
Python
from apify_client import ApifyClientclient = ApifyClient('YOUR_APIFY_TOKEN')run = client.actor('automation-lab/walmart-scraper').call(run_input={'searchQueries': ['laptop'],'maxProductsPerSearch': 40,'sort': 'price_low',})items = client.dataset(run['defaultDatasetId']).list_items().itemsfor product in items:print(f"${product['price']} - {product['name']} ({product['rating']}/5, {product['reviewCount']} reviews)")
cURL
curl "https://api.apify.com/v2/acts/automation-lab~walmart-scraper/runs" \-X POST \-H "Content-Type: application/json" \-H "Authorization: Bearer YOUR_API_TOKEN" \-d '{"searchQueries": ["organic coffee"],"maxProductsPerSearch": 40,"sort": "best_match"}'
Use with AI agents via MCP
Walmart Scraper is available as a tool for AI assistants that support the Model Context Protocol (MCP).
Setup for Claude Code
$claude mcp add --transport http apify "https://mcp.apify.com"
Setup for Claude Desktop, Cursor, or VS Code
Add this to your MCP config file:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com"}}}
Example prompts
Once connected, try asking your AI assistant:
- "Search Walmart for 'organic coffee' and get prices"
- "Compare Walmart prices for this product list"
- "Find the best-selling laptops on Walmart sorted by rating"
Learn more in the Apify MCP documentation.
Integrations
Walmart Scraper works with all standard Apify integrations:
- Webhooks — Get notified when a scraping run finishes.
- API — Start runs and fetch results programmatically with REST API or official clients.
- Scheduling — Run daily to track price changes and new deals.
- Storage — Export as JSON, CSV, or Excel. Push to Google Sheets, Slack, or email.
- Zapier / Make / n8n — Connect Walmart data to thousands of apps and workflows.
- Walmart → Google Sheets price comparison — Auto-export Walmart prices to a spreadsheet alongside Amazon and Target data for cross-retailer comparison dashboards.
- Walmart → Slack deal alerts — Get notified when Rollback deals appear on products you are tracking.
Tips and best practices
- Use price_low sort — For deal hunting, sort by
price_lowto find the cheapest options first. - Check onSale flag — Products with
onSale: truehave both current and original prices for easy comparison. - Monitor deal badges — The
flagfield contains valuable signals like "Rollback", "Best seller", and "100+ bought since yesterday". - Seller comparison — Use the
sellerfield to identify Walmart.com direct listings vs. third-party marketplace sellers. - Schedule for price tracking — Run daily with the same keywords to build a price history database.
- Multiple keywords — Add several search queries in one run to compare products across categories.
Limitations
- Walmart uses aggressive bot detection. The scraper uses residential proxies and automatic retries for reliability.
- Returns ~40 products per page, up to 25 pages (1,000 products per keyword).
- Brand field may be empty — Walmart's search results don't always include brand data.
- Only supports Walmart.com (US). Does not support international Walmart sites.
- Does not scrape individual product pages, reviews, or seller profiles.
Legality
Scraping publicly available data is generally legal according to the US Court of Appeals ruling (HiQ Labs v. LinkedIn). This actor only accesses publicly available information and does not require authentication. Always review and comply with the target website's Terms of Service before scraping. For personal data, ensure compliance with GDPR, CCPA, and other applicable privacy regulations.
FAQ
The scraper returns 0 results for my keyword. What's wrong?
Walmart's bot detection may occasionally block a request. Try increasing maxRequestRetries to 7-10. Also verify the keyword returns results on walmart.com directly — very niche or misspelled terms may return empty pages.
Can I filter results by seller (Walmart.com vs third-party)?
There is no input filter for seller, but the output includes a seller field. Filter results in your pipeline by checking seller === "Walmart.com" to isolate first-party listings.
How do you scrape Walmart without getting blocked?
Walmart runs one of the most aggressive bot detection systems of any major retailer. It uses a combination of behavioral fingerprinting, IP reputation scoring, TLS fingerprinting, and CAPTCHA challenges to block automated requests. Standard HTTP scrapers hitting Walmart from datacenter IPs get blocked almost immediately.
Walmart Scraper handles this by using residential proxies — IP addresses from real home internet connections rather than datacenter servers. Walmart's systems are far less likely to block or challenge traffic that looks like it's coming from real consumers. The proxy rotation is automatic; you don't configure it.
Additional mitigation techniques built into the scraper:
- Automatic retry logic with configurable
maxRequestRetries(default 5, increase to 7–10 for higher reliability) - Request pacing to avoid triggering rate limits
- Browser-like request headers that match what Chrome sends
If you're seeing 0 results for a keyword that definitely exists on Walmart, the most likely cause is a temporary block on the proxy IP being used. Increasing maxRequestRetries and re-running usually resolves this. Very niche keywords that return few results on Walmart.com directly will also return 0 in the scraper.
The isSponsored field in the output lets you filter out paid placements if you want to analyze only organic search results.
How does Walmart pricing work — and how do you track it?
Walmart uses dynamic pricing, meaning product prices can change multiple times per day based on demand, competitor pricing, inventory levels, and time-sensitive promotions. Understanding the price fields in the output:
price— Current selling price at the time of the scrapewasPrice— The "was" price shown in strikethrough on the product listing (Walmart's reference price for calculating savings)savings— The savings text displayed on the listing (e.g., "SAVE $5.60")onSale— Boolean flag indicating the product is discountedflag— Deal badge from Walmart's merchandising system: "Rollback" (sustained price reduction), "Clearance" (markdown to clear inventory), "Best seller", or "100+ bought since yesterday" (social proof)
For price tracking over time, the standard approach is:
- Run Walmart Scraper daily with your target keywords
- Store each run's results with the
scrapedAttimestamp - For each
usItemId, comparepriceacross dates to build a price history - Alert when
pricedrops below a threshold or whenonSalechanges from false to true
At $0.004 per product, tracking 200 products daily costs $0.80/day ($24/month) — significantly cheaper than most commercial price intelligence tools.
Is it legal to scrape Walmart product data?
Scraping publicly accessible product data from Walmart.com — prices, ratings, and other information visible to any shopper without logging in — is generally legal based on established case law.
The key precedent is the US Ninth Circuit's ruling in hiQ Labs v. LinkedIn (2022), which held that automated access to publicly available data does not violate the Computer Fraud and Abuse Act (CFAA). Walmart product pages are publicly accessible and indexed by Google.
Walmart Scraper:
- Does not require authentication or bypass any login
- Does not access private account data, order history, or restricted pages
- Does not download or reproduce copyrighted content beyond facts (prices, ratings, product names)
- Uses publicly visible search results that any shopper can see
Caveats:
- Walmart's Terms of Use prohibit scraping. For personal research or small-scale use, enforcement is rare. Large-scale commercial operations (reselling price data to third parties, etc.) carry more risk.
- Do not use scraped data in ways that misrepresent Walmart's content or compete with their advertising products.
- For enterprise or legally sensitive use cases, consult legal counsel about the specific application.
Price monitoring for competitive intelligence, dropshipping research, and market analysis are all widely practiced uses that fall within the gray area of acceptable behavior.
How do you find the best deals on Walmart using a scraper?
Walmart's deal detection goes beyond just checking onSale: true. The scraper gives you several signals to identify genuinely compelling deals:
Rollback deals (most valuable): The flag field contains "Rollback" for products where Walmart has committed to a sustained price reduction. These aren't flash sales — Walmart holds Rollback prices for weeks. Filter for flag.includes("Rollback") and onSale: true.
High savings percentage: Calculate discount percentage as (wasPrice - price) / wasPrice * 100. Sort by this to find the deepest discounts. A $50 savings on a $200 item (25% off) is more significant than $50 off a $500 item (10% off).
Clearance items: flag containing "Clearance" signals markdown-to-clear items. These often have the deepest discounts but may have limited inventory in specific variants.
Social proof indicators: flag values like "100+ bought since yesterday" or "Best seller" indicate current demand. Combining high demand with a discount (onSale: true + social proof flag) identifies hot deals.
Price vs. competitors: Use the sort: "price_low" option to find the cheapest products for a category. Cross-reference with Amazon Scraper or Target Scraper data to identify items where Walmart has the best price across retailers.
A practical deal-hunting workflow: run the scraper on category keywords (e.g., "wireless earbuds", "air fryer", "coffee maker") sorted by price_low, filter for onSale: true and rating >= 4, then rank remaining products by savings percentage. This surfaces high-quality products at meaningful discounts without manually browsing hundreds of listings.
How do you compare Walmart prices against Amazon and other retailers?
Price comparison across retailers is one of the highest-value applications of retail scrapers. A multi-retailer setup:
Building the comparison pipeline:
- Run Walmart Scraper, Amazon Scraper, and Target Scraper with the same product keywords
- Match products across retailers using product name similarity or UPC/ASIN mapping
- Store all prices in a shared database or spreadsheet with the retailer as a column
Matching challenges: Product names aren't identical across retailers — a product may be "JLab Go Air Pop Earbuds" on Walmart and "JLab Go Air POP True Wireless Earbuds" on Amazon. Fuzzy string matching (Levenshtein distance) or UPC-based matching gives better results than exact string comparison.
What to track in your comparison:
- Price delta: is one retailer consistently cheaper for a product category?
- Sale timing: do Walmart and Amazon discount the same products at the same time, or stagger their promotions?
- Availability differences: is a product out of stock on Amazon but available on Walmart (opportunity for arbitrage)?
- Seller quality:
sellerfield on Walmart lets you distinguish Walmart.com direct from marketplace sellers; third-party Walmart marketplace sellers often have different prices and return policies than walmart.com direct
Automation: Use Apify Schedules to run all three scrapers on the same schedule, then use a Zapier or Make workflow to aggregate the datasets and push to a comparison dashboard in Google Sheets or Airtable.
Other ecommerce scrapers
- Amazon Scraper -- scrape Amazon product data, prices, and reviews
- eBay Scraper -- scrape eBay listings, prices, and seller info
- Etsy Scraper -- scrape Etsy product listings, seller data, and shop reviews
- Craigslist Scraper -- scrape Craigslist listings by keyword and city
- Target Scraper -- scrape Target product data and prices
- Shopify Scraper -- scrape any Shopify store's products and collections
