Walmart Reviews Scraper - All Reviews by URL, ID or Keyword
Pricing
from $3.00 / 1,000 review extracteds
Walmart Reviews Scraper - All Reviews by URL, ID or Keyword
Scrape Walmart.com customer reviews by product URL, item ID or keyword, with rating, title, text, author, verified purchase, helpful votes, photos, pros and cons, and date. Each product also gets a rating summary.
Pricing
from $3.00 / 1,000 review extracteds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
14
Total users
6
Monthly active users
a day ago
Last modified
Categories
Share
What is Walmart Reviews Scraper - All Reviews by URL, ID or Keyword?
Use this Apify Actor to scrape Walmart.com customer reviews for a product selected by product URL, Walmart item ID, or keyword search. It accepts one or many product targets, deep-paginates review pages for each product up to your cap, and returns one record per review with fields such as rating, title, text, author, verified purchaser flag, helpful votes, photos, pros, cons, and submitted date. When enabled, it also adds one per-product summary row with overall rating, total review count, brand, and a 1-5 star breakdown.
The Actor is MCP-ready and usable through Apify MCP, so AI agents can work with structured review data without extra parsing.
Best fit and connected workflows
This Actor fits workflows where the review corpus matters more than the storefront listing:
- Review monitoring for a specific Walmart product over time.
- Competitive research across product URLs, item IDs, or keyword-discovered products.
- AI workflows that need review text, star rating, verified purchase status, and engagement signals in a structured dataset.
- Downstream analysis that pairs product-level data with review-level detail.
For a broader Walmart product record first, use the related upstream Actor Walmart Product, Price and Review Data Scraper. It provides the parent product data, then this Actor adds the review layer for the same Walmart item.
Practical scenario
Maya, a marketplace analyst, starts with a Walmart item URL for a wireless earbuds product. She runs this Actor in productUrls mode, sets maxReviewsPerProduct to focus on recent feedback, and keeps includeProductSummary enabled. The dataset returns review rows with rating, title, text, author, verifiedPurchaser, helpfulVotes, and submittedAt, plus a summary row with overallRating, totalReviewCount, and ratingBreakdown.
She uses the summary row to compare sentiment at a glance, then reads the newest 1-star reviews to identify a repeated complaint. Her next step is to pass the dataset into a reporting workflow or to combine it with product metadata from the companion Walmart data extractor.
Input
Choose the input shape that matches how you want to identify products.
| Field | Type | Description |
|---|---|---|
mode | string | Selects the lookup path: search, productUrls, or itemIds. |
searchQuery | string | Keyword search used when mode is search. The top products are resolved automatically. |
productUrls | array of strings | Walmart product page URLs to scrape in productUrls mode. |
itemIds | array of strings | Raw Walmart item IDs to scrape in itemIds mode. |
maxProducts | integer | Upper bound on how many search results get scraped in search mode. |
maxReviewsPerProduct | integer | Upper bound on reviews per product. |
sortReviews | string | Review order: mostRecent, mostHelpful, highestRating, lowestRating, or mostRelevant. |
ratingFilter | string | Exact star bucket to keep: all, 5, 4, 3, 2, or 1. |
verifiedOnly | boolean | Keep only verified-purchase reviews. Skipped reviews are never charged. Defaults to false. |
includeProductSummary | boolean | Adds one summary row per product when enabled. |
proxyConfiguration | object | Apify proxy settings, with Residential US as the default. |
Focused example:
{"mode": "productUrls","productUrls": ["https://www.walmart.com/ip/Apple-AirPods-Pro-2/1820546583"],"maxReviewsPerProduct": 25,"sortReviews": "mostRecent","ratingFilter": "all","verifiedOnly": false,"includeProductSummary": true}
Output
The dataset contains review rows and, when enabled, product summary rows. The output schema also exposes a run summary in Key-Value Store.
| Field | Type | Description |
|---|---|---|
_type | string or null | Record kind: review, product, or diagnostic. |
reviewId | string or null | Stable Walmart review ID. |
itemId | string or null | Walmart numeric item ID. |
productName | string or null | Product title. |
productUrl | string or null | Canonical Walmart product page URL. |
rating | number or null | Star rating from 1 to 5. |
title | string or null | Review headline. |
text | string or null | Full review body text. |
author | string or null | Reviewer display name. |
verifiedPurchaser | boolean or null | Walmart verified purchaser flag. |
helpfulVotes | number or null | Helpful vote count. |
unhelpfulVotes | number or null | Not helpful vote count. |
photos | array of strings | Review photo URLs. |
pros | array of strings | Structured pros when present. |
cons | array of strings | Structured cons when present. |
syndicated | boolean or null | Syndication flag. |
submittedAt | string or null | Walmart submission date as Walmart shows it (for example 10/9/2026). |
reviewSource | string or null | scraped (live Walmart page) or managed-fallback (recovered through the managed fallback route when Walmart blocks the live scrape). |
overallRating | number or null | Product summary average rating. |
totalReviewCount | number or null | Total review count Walmart reports. |
ratingBreakdown | object or null | 1-5 star histogram. |
brand | string or null | Product brand in summary rows. |
scrapeSource | string or null | Summary source: reviews-page or managed-fallback. |
status | string or null | Diagnostic status. |
stopReason | string or null | Machine-readable diagnostic reason. |
scrapedAt | string | ISO 8601 timestamp for the record. |
Example rows (a subset of a real run, itemIds mode):
[{"_type": "product","itemId": "17835006350","productName": "Apple AirPods Pro 3","overallRating": 4.4,"totalReviewCount": 18246,"ratingBreakdown": { "1": 1644, "2": 429, "3": 622, "4": 1407, "5": 14144 },"scrapeSource": "reviews-page"},{"_type": "review","reviewId": "443574095","itemId": "17835006350","productName": "Apple AirPods Pro 3","rating": 5,"text": "Love my new AirPods definitely happy about the upgrade.","author": "RubysMan","verifiedPurchaser": true,"helpfulVotes": 0,"unhelpfulVotes": 0,"photos": [],"pros": [],"cons": [],"syndicated": false,"reviewSource": "scraped"}]
How it works
The Actor uses a Chromium browser crawler with Apify Residential proxies pinned to the US, with session rotation, fingerprinting and exponential backoff. If Walmart's anti-bot blocks every rotated session, a managed fallback route is tried for the targeted items before the run gives up.
Three input modes route into the same review extraction flow:
searchresolves top products from a keyword query and scrapes their reviews.productUrlsopens the supplied Walmart product pages to resolve item IDs, then reads the review surface.itemIdsgoes directly to the Walmart review endpoint for the numeric item ID.
Reviews are deep-paginated in the selected sort order until the cap is reached or the product runs out of reviews. A per-product summary row is available when includeProductSummary is enabled.
Outcome codes
The OUTPUT and RUN_SUMMARY records carry an outcome field:
COMPLETE: reviews were collected with no request errors.VALID_EMPTY: the products loaded but had no reviews matching your filters; no review events are charged.PARTIAL: some reviews were saved, but requests failed, the runtime deadline was reached, or reviews were recovered through the fallback route.INVALID_INPUT: no usable search query, URL or item ID was given.FREE_PLAN_LIMIT: the free-plan allowance for the managed fallback was used up; reviews already saved are kept.UPSTREAM_FAILED: every route was blocked 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. Review extraction is billed per review written to the dataset, and product summaries are billed per product when enabled. Apify platform usage, such as compute and proxy resources, is charged separately. Reviews removed by ratingFilter or verifiedOnly are never charged. See the Pricing tab for current event prices.
A simple example in words: if one execution extracts one hundred reviews and includes one product summary row, the event-based charges include one hundred review events plus one product-summary event, and Apify platform usage is added according to the live Pricing tab.
Free plan limit: Apify free-plan accounts can make 10 managed-recovery search requests per rolling 30 days across this developer's search-powered Actors. The live Walmart scrape is not limited; only the managed recovery source used when Walmart blocks the scrape counts, one request per review page. When the allowance is used up, the run keeps any reviews already saved and finishes with outcome: "FREE_PLAN_LIMIT". Paid Apify plans have no such limit.
Use with AI agents (MCP)
This Actor is available through Apify MCP as a structured Walmart review tool. The precise Actor identity is khadinakbar/walmart-reviews-scraper.
It returns normalized review records and optional product summary rows that an agent can sort, compare, summarize, or join with other product data. The dataset is the primary source of truth, and scrapedAt provides record-level provenance. When the reviews surface is paginated, the Actor keeps collecting until the configured cap is reached.
Scrape Walmart reviews for this product URL, return a bounded number of the newest reviews, include the product summary row, and give me the dataset items so I can summarize complaints and verified-purchase patterns.
Output interpretation guidance:
reviewrows contain the per-review evidence.productrows contain the aggregate view for a product.reviewSourceandscrapeSourceshow whether the record came from live scraping or the managed fallback path.submittedAtandscrapedAthelp distinguish the Walmart submission time from the extraction time.- Pagination continues until the review cap for each product is reached.
- Cost scales with the number of review events and optional product-summary events, plus Apify platform usage visible in the Pricing tab.
API example
JavaScript example using the Apify API, APIFY_TOKEN, and dataset readback:
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: ['1820546583'],maxReviewsPerProduct: 10,sortReviews: 'mostRecent',includeProductSummary: true,});const datasetId = run.defaultDatasetId;const { items } = await client.dataset(datasetId).listItems();console.log(items);
Best results and outcome guidance
Use the narrowest input that matches your task. If you already know the product, productUrls or itemIds creates a direct review path. If you want discovery from search terms, search resolves the top products first. When you are comparing sentiment changes, mostRecent is a natural default. When you are studying review themes or vote patterns, mostHelpful and the star-rating filter can focus the dataset.
For larger review corpora, raise maxReviewsPerProduct within the live schema bounds. For lighter checks, keep it smaller and read the summary row first. If you also need product metadata, pair this Actor with the linked Walmart product extractor workflow.
Design note
I designed the star and verified-purchase filters to apply client-side to every review, so they are exact even when Walmart ignores a filter parameter. A page whose reviews are all filtered out still counts as new content, so paging continues to the next page instead of stopping early; repeated pages that Walmart serves past the last page are caught by review-ID de-duplication.
FAQ
Can I start from a keyword instead of a product URL?
Yes. Use mode: "search" with a searchQuery, and the Actor will resolve top products before scraping their reviews.
Can I scrape by raw Walmart item ID?
Yes. Use mode: "itemIds" and pass the numeric item IDs from the end of Walmart product URLs.
Does the dataset include a product-level summary?
Yes. Keep includeProductSummary enabled to receive one summary row per product with overall rating, total review count, and a star histogram.
How do I connect this with a broader Walmart product workflow?
Start with Walmart Product, Price and Review Data Scraper for product-level attributes, then use this Actor for the review corpus.
Can I keep only verified purchases?
Yes. Set verifiedOnly: true. Non-verified reviews are skipped and never charged; combine it with ratingFilter to mine, for example, verified 1-star complaints.
How are review records paginated?
Reviews are collected in the selected sort order and deep-paginated until the configured cap is reached or the product runs out of reviews.
Responsible use
Use the data in line with Walmart's terms and applicable law. Review text can contain personal expression and context, so handle it carefully in analytics, storage, and redistribution workflows. Respect reviewer privacy, keep provenance intact, and apply appropriate safeguards when processing or publishing the data.