Walmart Product Scraper — Prices, Ratings & Availability
Pricing
Pay per usage
Walmart Product Scraper — Prices, Ratings & Availability
Extract Walmart product listings from search results. Scrape product titles, current and original prices, ratings, review counts, seller names, availability, brand, category, images, and direct product URLs. Supports keyword search, category filtering, and multiple sort options including price, rati
Pricing
Pay per usage
Rating
0.0
(0)
Developer

Ricardo Akiyoshi
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
an hour ago
Last modified
Categories
Share
Walmart Product Scraper
Scrape Walmart product listings from search results. Extract product titles, current and original prices, star ratings, review counts, seller names, availability status, brand, category, images, and direct product URLs.
Features
- Structured data extraction -- parses Walmart's embedded JSON (
__NEXT_DATA__,__PRELOADED_STATE__) for reliable results, with HTML fallback - Full product details -- title, price, original price, savings, rating, reviews, seller, availability, brand, category, image URL, product URL
- Search and filter -- keyword search, optional category/department filtering, five sort options
- Smart pagination -- automatically follows Walmart search pages (up to 25 pages, ~1,000 products)
- Anti-bot handling -- rotates 10 realistic User-Agent strings with full browser headers (sec-ch-ua, sec-fetch-*, etc.)
- Deduplication -- skips duplicate products across pages using product ID tracking
- CAPTCHA detection -- detects blocks and stops gracefully, preserving all data collected so far
- Proxy support -- optional Apify proxy configuration (residential proxies strongly recommended)
- Pay-per-event -- charged per product scraped
Use Cases
Price Monitoring
Track product prices over time to detect sales, price drops, and seasonal trends. Build automated alerts for price changes on specific products.
Competitor Analysis
Compare pricing and availability across sellers on Walmart. Monitor how competitor products are positioned, rated, and priced relative to your own.
Product Research
Evaluate market demand for product categories by analyzing review counts, ratings, and seller competition. Identify gaps and opportunities.
E-commerce Intelligence
Gather product catalog data for market analysis, inventory planning, and assortment optimization. Compare Walmart pricing with other retailers.
Deal Hunting / Arbitrage
Find products with large discounts (savings percentage) or underpriced items for resale arbitrage opportunities.
Brand Monitoring
Track how your brand's products appear in Walmart search results -- pricing, availability, seller distribution, and customer ratings.
Input
| Field | Type | Default | Description |
|---|---|---|---|
searchTerm | String | laptop | Product search keyword or phrase |
category | String | (empty) | Optional Walmart department/category to narrow results |
maxResults | Integer | 25 | Maximum products to scrape (0 = unlimited, up to ~1,000) |
sortBy | Enum | best_match | Sort order: best_match, price_low, price_high, best_seller, rating_high |
maxConcurrency | Integer | 2 | Parallel requests (lower = safer) |
proxyConfiguration | Object | (none) | Apify proxy settings (residential recommended) |
Input Examples
Laptops sorted by price (low to high)
{"searchTerm": "laptop","maxResults": 50,"sortBy": "price_low"}
Best-selling headphones
{"searchTerm": "wireless headphones","maxResults": 100,"sortBy": "best_seller"}
Highest-rated running shoes
{"searchTerm": "running shoes","maxResults": 40,"sortBy": "rating_high"}
Organic coffee with proxies (recommended for large scrapes)
{"searchTerm": "organic coffee","maxResults": 200,"sortBy": "best_match","proxyConfiguration": {"useApifyProxy": true,"apifyProxyGroups": ["RESIDENTIAL"]}}
Nintendo Switch accessories (category-filtered)
{"searchTerm": "nintendo switch accessories","category": "Electronics","maxResults": 75,"sortBy": "rating_high"}
Output
Each product is saved to the default dataset with the following fields:
{"title": "HP 15.6\" Laptop, Intel Core i5, 8GB RAM, 256GB SSD, Silver","price": 449.00,"originalPrice": 549.00,"savings": 100.00,"savingsPercent": "18%","rating": 4.3,"reviewCount": 1247,"seller": "Walmart","productId": "123456789","productUrl": "https://www.walmart.com/ip/123456789","imageUrl": "https://i5.walmartimages.com/seo/HP-15-Laptop..._abc123.jpeg","availability": "In Stock","brand": "HP","category": "Electronics/Computers/Laptops","searchTerm": "laptop","scrapedAt": "2026-03-01T12:00:00.000Z"}
Output Fields
| Field | Type | Description |
|---|---|---|
title | String | Full product title |
price | Number | Current selling price in USD |
originalPrice | Number/null | Original or "was" price (if discounted) |
savings | Number/null | Dollar amount saved |
savingsPercent | String/null | Percentage discount (e.g., "18%") |
rating | Number/null | Average star rating (1.0 - 5.0) |
reviewCount | Number | Number of customer reviews |
seller | String | Seller name ("Walmart" or third-party) |
productId | String | Walmart product/item ID |
productUrl | String | Direct link to product page |
imageUrl | String | Product thumbnail image URL |
availability | String | Stock status: In Stock, Out of Stock, Limited Stock, Pre-order |
brand | String/null | Product brand name |
category | String/null | Product category path |
searchTerm | String | The search term used |
scrapedAt | String | ISO 8601 timestamp of when the product was scraped |
Dataset Views
The actor provides two pre-configured dataset views:
- Products -- full product table with title, price, rating, reviews, seller, availability, and brand
- Price Comparison -- focused view showing title, current price, original price, savings amount, and savings percentage
Performance Tips
- Use residential proxies -- Walmart is aggressive with anti-bot detection. Residential proxies are strongly recommended for reliable results. Set
proxyConfiguration: { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }. - Start small -- test with
maxResults: 10first to verify the scraper works for your search term. - Keep concurrency low --
maxConcurrency: 2is the safest default. Only increase if using proxies. - Be specific with search terms -- more specific searches return more relevant results and require fewer pages.
- Use sort options -- sorting by
price_loworrating_highputs the most useful data on earlier pages, reducing the number of pages needed.
Rate Limiting and Blocks
Walmart has strong anti-bot protections. This actor handles them by:
- Rotating 10 realistic browser User-Agent strings per request
- Sending full browser headers (sec-ch-ua, sec-fetch-*, accept-language, etc.)
- Limiting to 15 requests/minute by default
- Detecting CAPTCHA and block pages, stopping gracefully
- Supporting proxy rotation via Apify's residential proxy infrastructure
- Retrying failed requests up to 3 times
If you see "Anti-bot page detected" in the logs, the scraper saves all data collected so far and exits cleanly. Switch to residential proxies to avoid this.
Pricing (Pay Per Event)
This actor uses Apify's pay-per-event model. You are charged for each product successfully scraped and saved to the dataset.
Legal Notice
This actor is provided as a technical tool for data collection. Users are responsible for ensuring their use complies with Walmart's Terms of Use and all applicable laws. The actor is designed for personal research, price monitoring, and business analysis purposes. Please review Walmart's robots.txt and Terms of Service before use.
Integration — Python
from apify_client import ApifyClientclient = ApifyClient("YOUR_API_TOKEN")run = client.actor("sovereigntaylor/walmart-scraper").call(run_input={"searchTerm": "wireless headphones","maxResults": 100,"sortBy": "best_seller","proxyConfiguration": {"useApifyProxy": True,"apifyProxyGroups": ["RESIDENTIAL"]}})for item in client.dataset(run["defaultDatasetId"]).iterate_items():savings = f" (save {item['savingsPercent']})" if item.get('savingsPercent') else ""print(f"{item['title']}: ${item['price']}{savings} — {item['rating']} stars")
Integration — JavaScript
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });const run = await client.actor('sovereigntaylor/walmart-scraper').call({searchTerm: 'wireless headphones',maxResults: 100,sortBy: 'best_seller',proxyConfiguration: {useApifyProxy: true,apifyProxyGroups: ['RESIDENTIAL']}});const { items } = await client.dataset(run.defaultDatasetId).listItems();items.forEach(item => {console.log(`${item.title}: $${item.price} — ${item.rating} stars (${item.reviewCount} reviews)`);});
Related Actors
- Walmart Reviews Scraper — Customer reviews from Walmart
- Amazon Product Scraper — Compare with Amazon
- Target Scraper — Target product data
- Price Comparison Engine — Multi-marketplace monitoring
- Costco Scraper — Costco product data