Walmart Reviews Scraper - Product Review Extraction avatar

Walmart Reviews Scraper - Product Review Extraction

Pricing

Pay per usage

Go to Apify Store
Walmart Reviews Scraper - Product Review Extraction

Walmart Reviews Scraper - Product Review Extraction

Extract Walmart product reviews at scale. Scrape review text, star ratings, verified status, helpful votes, photos, pros, cons, and rating breakdowns. Search by URL or keyword. Filter by rating, sort by date or relevance. Great for product research and sentiment analysis.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 minutes ago

Last modified

Categories

Share

Walmart Reviews Scraper

Extract Walmart product reviews at scale. Scrape full review text, star ratings, verified purchase status, helpful vote counts, reviewer names, review photos, pros, cons, and product-level rating breakdowns for any Walmart product.

Features

  • Scrape reviews by product URL or search query
  • Extract full review text, title, rating, and date
  • Verified purchase identification
  • Helpful vote counts
  • Review photos extraction
  • Pros and cons extraction
  • Reviewer name
  • Product-level info: name, price, overall rating, total reviews, brand, seller, category
  • Rating breakdown (5-star to 1-star percentages)
  • Filter by star rating range (e.g., only 1-2 star reviews)
  • Sort by most recent, highest, lowest, or most relevant
  • Verified-only mode for trustworthy reviews
  • Multiple extraction strategies: NEXT_DATA JSON, embedded review JSON, DOM parsing
  • Automatic pagination with deduplication
  • Anti-bot detection with User-Agent rotation
  • Clean, structured JSON output

Input

FieldTypeDefaultDescription
productUrlsarray[]Walmart product page URLs to scrape reviews from
searchQuerystring""Search Walmart for products, then scrape their reviews
maxReviewsnumber500Max reviews per product (0 = unlimited)
sortBystring"relevant"Sort: "recent", "highest", "lowest", "relevant"
verifiedOnlybooleanfalseOnly scrape verified purchase reviews
maxSearchResultsnumber5How many search results to process
minRatingnumber1Minimum star rating filter (1-5)
maxRatingnumber5Maximum star rating filter (1-5)
proxyConfigurationobjectApify ResidentialProxy settings (residential recommended)

Output — Individual Review

{
"productName": "Apple AirPods Pro (2nd Generation)",
"productId": "1752657021",
"productUrl": "https://www.walmart.com/ip/1752657021",
"productPrice": "$189.99",
"brand": "Apple",
"seller": "Walmart.com",
"category": "Electronics/Headphones",
"overallRating": 4.7,
"totalReviews": 8234,
"ratingBreakdown": {
"5": "74%",
"4": "12%",
"3": "6%",
"2": "3%",
"1": "5%"
},
"reviewId": "review-abc123",
"reviewTitle": "Best earbuds I've ever owned",
"reviewText": "The noise cancellation on these is incredible. I use them daily on my commute and in the office. Battery life is great and they fit perfectly...",
"rating": 5,
"reviewer": "TechBuyer42",
"date": "2026-02-15",
"dateRaw": "Feb 15, 2026",
"verified": true,
"helpfulCount": 23,
"photos": [
"https://i5.walmartimages.com/review-image-1.jpg"
],
"pros": ["Great sound quality", "Comfortable fit"],
"cons": ["Pricey"],
"scrapedAt": "2026-03-02T12:00:00.000Z"
}

Use Cases

  • Product Research: Understand what customers love and hate before making purchasing decisions
  • Competitor Analysis: Monitor competitor product feedback and identify weaknesses
  • Sentiment Analysis: Analyze customer sentiment at scale across product categories
  • Brand Monitoring: Track reviews for your own products sold on Walmart
  • Quality Control: Detect emerging product quality issues from negative review patterns
  • Market Research: Identify unmet customer needs and feature gaps in product categories
  • Price Monitoring: Combine review data with pricing to understand value perception
  • Content Generation: Extract real customer language for marketing copy and product descriptions

Pricing

Pay per review scraped — you only pay for what you extract. See the Pricing tab for details.

$0.004 per review scraped.

Example — Scrape by Product URLs

{
"productUrls": [
"https://www.walmart.com/ip/Apple-AirPods-Pro-2nd-Generation/1752657021",
"https://www.walmart.com/ip/Samsung-Galaxy-Buds2-Pro/394875830"
],
"maxReviews": 200,
"sortBy": "recent"
}

Example — Search and Scrape Reviews

{
"searchQuery": "wireless headphones",
"maxSearchResults": 10,
"maxReviews": 100,
"sortBy": "relevant"
}

Example — Negative Reviews Only

{
"productUrls": ["https://www.walmart.com/ip/1752657021"],
"maxReviews": 500,
"minRating": 1,
"maxRating": 2,
"sortBy": "recent"
}

Example — Verified 5-Star Reviews

{
"productUrls": ["https://www.walmart.com/ip/1752657021"],
"maxReviews": 300,
"minRating": 5,
"maxRating": 5,
"verifiedOnly": true
}

Tips

  • Use residential proxies for best success rates — Walmart detects datacenter IPs
  • Start small — Test with 50-100 reviews before running large jobs
  • Sort by "recent" for the latest reviews, "lowest" to find product issues quickly
  • Combine with Walmart Product Scraper — search for products first, then deep-dive into reviews
  • Use rating filters to focus on just positive or negative feedback
  • Products with 10K+ reviews may take significant time — use maxReviews to limit

Integration — Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_API_TOKEN")
run = client.actor("sovereigntaylor/walmart-reviews-scraper").call(run_input={
"searchTerm": "walmart reviews",
"maxResults": 50
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(f"{item.get('title', item.get('name', 'N/A'))}")

Integration — JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_API_TOKEN' });
const run = await client.actor('sovereigntaylor/walmart-reviews-scraper').call({
searchTerm: 'walmart reviews',
maxResults: 50
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach(item => console.log(item.title || item.name || 'N/A'));