Walmart Reviews Scraper - Written Reviews by URL, ID or Keyword
Pricing
from $1.80 / 1,000 review extracteds
Walmart Reviews Scraper - Written Reviews by URL, ID or Keyword
Scrape Walmart.com customer reviews by product URL, item ID or keyword: rating, title, text, author, verified purchase, helpful votes, photos, incentivized flag, aspect sentiment and date, plus a rating summary with Walmart's AI review summary. Date cutoff and only-new mode for monitoring.
Pricing
from $1.80 / 1,000 review extracteds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
33
Total users
18
Monthly active users
4 days ago
Last modified
Categories
Features
Share
What is Walmart Reviews Scraper - Every Written Review by URL, ID or Keyword?
Use this Apify Actor to collect Walmart.com customer reviews for any product, chosen by product URL, Walmart item ID or keyword search. One dataset row is one review: star rating, title, text, author, verified-purchase flag, helpful votes, photos, an incentivized-review flag, the product aspects the review talks about, and the date. An optional summary row per product adds the overall rating, the star histogram, the share of reviewers who recommend it, the most-mentioned aspects and Walmart's own AI review summary.
It pages through the whole list of written reviews Walmart shows for a product (a product with 7,500 written reviews returns 7,500 rows if you ask for them), newest first by default. The Actor is MCP-ready, so AI agents can pull structured review data without extra parsing.
Best fit for this Actor
- Review monitoring for specific Walmart products: use the date cutoff or the only-new mode and schedule it.
- Competitive research across product URLs, item IDs or keyword-discovered products.
- Complaint mining: ask Walmart for just the 1-star or verified 1-star reviews.
- Review corpora for sentiment, aspect and summarisation work, with text, stars, votes and aspect tags in one structured dataset.
- For price, stock and specs, use the companion Walmart Product, Price and Review Data Scraper, then come back here for the review layer.
Practical scenario
Maya, a marketplace analyst, tracks three competing earbuds. She runs this Actor in productUrls mode on a weekly schedule with onlyNewReviews on, so each run returns only the reviews written since the last one, and never pays for a review twice. She filters the dataset to incentivized: false and reads the new 1-star reviews first, then uses the aspects field to see which features (battery, fit, noise cancellation) the complaints cluster around.
Quick start input
{"mode": "productUrls","productUrls": ["https://www.walmart.com/ip/Apple-AirPods-Pro-3/17835006350"],"maxReviewsPerProduct": 25,"sortReviews": "mostRecent","includeProductSummary": true}
This collects the 25 newest written reviews for that product plus one summary row.
Input reference
| Field | Type | What it controls |
|---|---|---|
mode | string | search (keyword, top products), productUrls or itemIds. Default search. |
searchQuery | string | Keyword for search mode, for example airpods pro. |
productUrls | array of strings | Walmart product page URLs for productUrls mode. |
itemIds | array of strings | Numeric Walmart item IDs for itemIds mode. |
maxProducts | integer | How many search results get their reviews collected (1 to 200). Search mode only. |
maxReviewsPerProduct | integer | Reviews collected per product (1 to 10,000, default 100). |
sortReviews | string | mostRecent (default), mostHelpful, highestRating, lowestRating or mostRelevant. |
ratingFilter | string | Exact star bucket: all, 5, 4, 3, 2 or 1. Walmart applies it, and each row is re-checked. |
verifiedOnly | boolean | Keep only verified-purchase reviews. Skipped reviews are never charged. |
reviewsSince | date | Keep only reviews submitted on or after this date (YYYY-MM-DD). With the default newest-first sort the run stops as soon as it reaches older reviews. With any other sort it has to read the whole list to find the newer ones, so it is slower. Older reviews are never charged. |
onlyNewReviews | boolean | Skip reviews an earlier run on your account already delivered, and never charge for them. With the newest-first sort the run stops once a page has nothing new. The seen-ID list lives in a Key-Value Store named walmart-reviews-seen on your account, kept separately for each star filter and verified-only setting. The first run delivers everything up to your cap. |
includeProductSummary | boolean | One summary row per product (default on). |
proxyConfiguration | object | Apify proxy settings, Residential US by default. |
What data you receive
The dataset holds review rows (_type: "review") and, when enabled, product summary rows (_type: "product").
| Field | Type | Description |
|---|---|---|
reviewId, itemId, productName, productUrl | string | Identity of the review and its product. |
rating | number | Star rating, 1 to 5. |
title, text | string | Review headline and body. |
author | string | Reviewer display name. |
verifiedPurchaser | boolean | Walmart's verified-purchase flag. |
incentivized | boolean | The reviewer received a free product or reward. |
walmartAssociate | boolean | The reviewer is flagged as a Walmart associate. |
badges | array | Walmart badge labels on the review. |
aspects | array | Product aspects the review comments on, with sentiment: [{ "name": "Battery Life", "polarity": "Positive" }]. Present when Walmart tags the review. |
helpfulVotes, unhelpfulVotes | number | Vote counts. |
photos | array | Customer photo URLs. |
topReviewer, reviewerReviewCount | boolean, number | Reviewer badges, when Walmart shows them. |
submittedAt, submittedAtIso | string | Walmart's date (11/4/2026) and the same date as 2026-11-04. |
platform, syndicated, syndicationSource | string, boolean | Where Walmart got the review from. |
userLocation, recommended, brandReply | string, boolean, string | Included only when Walmart supplies them, which is uncommon. |
reviewSource | string | scraped (read from Walmart) or managed-fallback (backup source, used only when Walmart blocked the direct read). |
scrapedAt | string | ISO 8601 time the row was produced. |
Summary rows carry overallRating, totalReviewCount (all ratings, including star-only ratings without text), reviewsWithTextCount (the reviews this Actor can return), ratingBreakdown, recommendedPercentage, mediaCount, topAspects and aiSummary.
Example rows (shortened, from a real run):
[{"_type": "product","itemId": "17835006350","productName": "Apple AirPods Pro 3","overallRating": 4.4,"totalReviewCount": 20024,"reviewsWithTextCount": 1461,"ratingBreakdown": { "1": 1771, "2": 463, "3": 683, "4": 1555, "5": 15552 },"recommendedPercentage": 85,"topAspects": [{ "name": "Noise Cancellation", "mentions": 199 }]},{"_type": "review","reviewId": "447490944","itemId": "17835006350","rating": 5,"text": "I got it on a good sale and the quality is amazing.","author": "WalmartCustomer","verifiedPurchaser": true,"incentivized": true,"badges": ["Verified Purchase", "Incentivized Review"],"submittedAt": "11/4/2026","submittedAtIso": "2026-11-04","reviewSource": "scraped"}]
How it works
The Actor reads Walmart's review pages over plain HTTP through Apify Residential US proxies. It does not run a browser, so a page of ten reviews takes a couple of seconds and uses little platform usage. When Walmart refuses a request, the Actor retries on a fresh residential address. If that keeps failing, a managed backup source supplies the same review data for the rest of that page or run, and those rows are labelled managed-fallback.
searchfinds the top products for a keyword, then collects their reviews.productUrlsreads the item ID from each URL (a URL without an ID is opened once to find it).itemIdsgoes straight to the review pages.
Reviews are paged in your chosen order until your cap, until the date cutoff or the already-seen reviews are reached, or until the product runs out of written reviews. Several products are collected at the same time.
Outcome codes
The OUTPUT and RUN_SUMMARY records carry an outcome:
COMPLETE: reviews were collected with no failed pages.VALID_EMPTY: the products have no reviews matching your filters, no reviews at all, or nothing new since the last run; no review events are charged, and a product with no reviews gets no summary row.PARTIAL: some rows were saved, but some pages failed, or the runtime deadline or the run's charge limit was reached.INVALID_INPUT: no usable search query, URL or item ID, or a date that cannot be read.UPSTREAM_FAILED: Walmart blocked every route and no review was saved; one diagnostic row is written and the run is marked failed.
Pricing
This Actor uses pay per event plus Apify platform usage. You pay per review written to the dataset and, when enabled, per product summary row. Reviews removed by ratingFilter, verifiedOnly, reviewsSince or onlyNewReviews are never charged. Platform usage (compute and proxy traffic) is billed separately by Apify. Because the Actor does not run a browser, it is small: in our test a 25-review run used about $0.0014 of platform usage, with roughly 70 KB of proxy traffic per page of ten reviews. See the Pricing tab for current event prices.
Free Apify plan
Runs started from a free Apify plan return up to 25 results per run, with every input mode and output field available. Paid plans have no per-run limit.
Use through the API
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/walmart-reviews-scraper').call({mode: 'itemIds',itemIds: ['17835006350'],maxReviewsPerProduct: 10,sortReviews: 'mostRecent',includeProductSummary: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Use with AI agents through Apify MCP
This Actor is available through Apify MCP as khadinakbar/walmart-reviews-scraper. Current client setup is at https://mcp.apify.com.
Get the 50 newest Walmart reviews for this product URL, include the product summary row, and list the main complaints from the 1 and 2 star reviews with the aspect they mention.
Tell the agent to check the outcome in the run's OUTPUT record first, read the dataset, and keep productUrl, reviewId and scrapedAt with any quoted review. Cost scales with the number of review events plus Apify platform usage, so keep maxReviewsPerProduct bounded.
Best results
- Know the product? Use
productUrlsoritemIds. Want discovery? Usesearch. - For monitoring, schedule a run with
onlyNewReviewson and themostRecentsort (the default). Other sorts work but read the whole list every time. - For complaint mining, set
ratingFilterto1(addverifiedOnlyfor verified buyers), and filter onincentivizedin your own analysis. - For thousands of reviews per product, raise
maxReviewsPerProductand the run timeout together: expect roughly 2 to 3 seconds per page of ten reviews for each product. - The Actor returns written reviews. Star-only ratings (no text) are counted in
totalReviewCountbut have no row to return.
FAQ
Can I start from a keyword instead of a product URL?
Yes. Use mode: "search" with a searchQuery; the top products (up to maxProducts) have their reviews collected.
Can I scrape by Walmart item ID?
Yes. Use mode: "itemIds" with the numeric ID at the end of a product URL.
Does it return every review?
It returns every written review Walmart lists for the product, up to your cap. Ratings without text are only counted in the summary.
How do I get only reviews I have not seen?
Turn on onlyNewReviews and schedule the Actor. Each run remembers the review IDs it delivered, skips them next time and does not charge for them.
What are the aspects and aiSummary fields?
Walmart tags reviews with the product aspects they discuss (for example battery life) and writes a short AI summary per aspect. The Actor passes both through when Walmart provides them. Some products have none.
Why do some rows say managed-fallback?
When Walmart refuses a direct read, a backup source supplies the same review data so the run can finish. Those rows lack a few Walmart-only fields (badges, aspects).
How is this different from the Walmart product extractor?
That Actor returns products, prices and specs. This one returns the reviews.
Responsible use
Use the data in line with Walmart's terms and applicable law. Review text can contain personal expression, so handle it carefully in analytics, storage and redistribution. Respect reviewer privacy and keep provenance (reviewId, scrapedAt) with any data you publish.