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 for any product by URL, item ID, or keyword search. Deep-paginates every review - rating, title, text, author, verified-purchase, helpful votes, photos, pros/cons, and date - plus a per-product rating summary. MCP-ready. $0.003 per review.
Pricing
from $3.00 / 1,000 review extracteds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
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. |
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","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 time. |
reviewSource | string or null | scraped, serpapi, or diagnostic. |
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 serpapi. |
status | string or null | Diagnostic status. |
stopReason | string or null | Machine-readable diagnostic reason. |
scrapedAt | string | ISO 8601 timestamp for the record. |
Illustrative dataset record:
{"_type": "review","reviewId": "d1f0e2a3-1234-5678-9abc-def012345678","itemId": "1820546583","productName": "Apple AirPods Pro (2nd Generation)","productUrl": "https://www.walmart.com/ip/Apple-AirPods-Pro-2/1820546583","rating": 5,"title": "Clear sound and fast pairing","text": "The earbuds paired quickly and the sound is balanced for music and calls.","author": "MusicFan22","verifiedPurchaser": true,"helpfulVotes": 14,"unhelpfulVotes": 1,"photos": ["https://i5.walmartimages.com/asr/review-photo.jpeg"],"pros": ["Sound quality","Battery life"],"cons": [],"syndicated": false,"submittedAt": "2026-03-14T09:22:00.000Z","reviewSource": "scraped","scrapedAt": "2026-06-18T07:30:00.000Z"}
How it works
The Actor uses a PlaywrightCrawler with Chromium and Apify Residential proxies pinned to the US. The live contract shows that Walmart content is handled through a review-focused crawl path, with session rotation, fingerprinting, and exponential backoff for resilient retrieval.
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.
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 shown separately on the run's Pricing tab.
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.
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 the newesta bounded number of 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 found that the output contract includes both individual review rows and optional product summary rows, with _type clearly distinguishing them and scrapedAt required on every record. That makes it straightforward to separate row types in downstream processing.
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.
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.