Walmart Reviews Scraper avatar

Walmart Reviews Scraper

Pricing

$14.99/month + usage

Go to Apify Store
Walmart Reviews Scraper

Walmart Reviews Scraper

Scrapes product reviews from Walmart listings, capturing reviewer names, ratings, comments, timestamps, helpful votes, and review URLs. Ideal for sentiment analysis, product research, competitor insights, and large-scale collection of Walmart customer feedback.

Pricing

$14.99/month + usage

Rating

0.0

(0)

Developer

Scraper Engine

Scraper Engine

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

8 days ago

Last modified

Share

Walmart Reviews Scraper — Ratings, Review Text and Verified Purchases

Walmart Reviews Scraper extracts customer reviews from any Walmart.com product page — rating, review title and text, verified-purchase status, helpful-vote counts, and reviewer-submitted photos — as structured JSON. Feed it a product URL, a search URL, or a plain keyword and it returns every review as a typed dataset row, no HTML parsing required. Start a run from the Apify Console or the API and download results in JSON or CSV.

What is Walmart Reviews Scraper?

Walmart Reviews Scraper is an Apify Actor that pulls customer reviews for one or many Walmart products in a single run. It accepts product URLs, search URLs, or keywords, resolves each to its underlying product pages, and reads the review data Walmart embeds in the page itself rather than scraping visible HTML text. No Walmart account, login, or API key is required — the Actor only issues anonymous HTTP requests, the same requests a browser makes when you open a product page. It's built for e-commerce analysts, brand and marketplace teams, and developers or AI engineers who need Walmart review data as clean JSON instead of building and maintaining their own scraper.

What Walmart review data is publicly available to scrape?

Walmart publishes product reviews on every product page without requiring a login — ratings, review text, verified-purchase badges, and vote counts are all visible to any visitor.

Data CategoryPublicly AvailableRequires Account/Login
Rating and review title/text
Verified-purchase badge
Helpful / unhelpful vote counts
Reviewer-submitted photos and videos
Review aspect tags (e.g. "battery life", "fit")
Product SKU ID/name, seller and fulfillment info
Reviewer's real name, profile, or order history❌ Not shown on the page at all
Submitting a new review or voting "helpful"✅ Walmart account required

Walmart Reviews Scraper only returns publicly visible data — what any visitor sees. Nothing behind a login wall.

What data can I extract with Walmart Reviews Scraper?

Every review is returned as one dataset row combining the review's own content with identifying details about the product it belongs to.

Field NameDescription
itemTypeConstant value "Review", identifying the row type
reviewIdWalmart's unique ID for the review
productUrlThe product URL the review was scraped from
titleReview headline, HTML-entity and URL-decoded
textFull review body text, HTML-entity and URL-decoded
submittedAtReview submission date, converted to ISO format (YYYY-MM-DD)
reviewedItemIdWalmart item ID of the specific SKU/variant the review was left on
reviewedItemNameProduct name of the specific SKU/variant the review was left on
soldByName of the seller for the reviewed item
fulfilledByFulfillment method/party for the reviewed item

Rating, votes and flags

Field NameDescription
ratingStar rating (1–5) the reviewer gave
isVerifiedPurchasetrue if Walmart tagged the review as a verified purchase
helpfulVotesCount of "helpful" votes on the review
unhelpfulVotesCount of "not helpful" votes on the review

Media, aspects and metadata

Field NameDescription
reviewPhotosArray of {normalUrl, thumbnailUrl, mediaType} for any customer photos/videos attached to the review, or null if none. URLs and metadata only — no files are downloaded
reviewAspectsArray of {name, polarity} — sentiment aspects Walmart tags on the review (e.g. "quality: positive"), resolved from numeric IDs to human-readable names, or null if none
scrapedAtISO 8601 UTC timestamp of when the Actor scraped the review

🤖 Add-on: Need additional Walmart data?

Pair this with Amazon Product Details Scraper or Shopify Products Scraper to compare a Walmart listing's reviews against the same product on other marketplaces, or with eBay Product Listing Scraper for cross-platform price and listing checks.

How does Walmart Reviews Scraper differ from the official Walmart API?

Walmart no longer offers a general-access API for review data. Walmart's legacy Open API platform at developer.walmartlabs.com, which previously hosted a Reviews endpoint, is in closed beta and not accepting new registrations (confirmed 2026-08-15); Walmart's current developer portals (developer.walmart.com, walmart.io) are built around the Marketplace Seller API and the Affiliate Marketing API, neither of which exposes customer review content to general developers. That leaves web scraping as the practical way to get review data outside of a seller or affiliate relationship.

Why not build this yourself?

Scraping Walmart reviews yourself means maintaining a parser against Walmart's Next.js page structure, handling pagination across sort orders, and reacting every time Walmart tweaks its anti-bot checks. Walmart returns HTTP 444/403 responses and short "interstitial" block pages (with markers like "access denied", "captcha", or "cloudflare" in the body) when it suspects automation, which means you also need proxy rotation logic — escalating from a direct connection to a datacenter proxy to a residential proxy — and retry/backoff tuned to avoid tripping those checks further. Running that infrastructure yourself means paying for proxy bandwidth and engineering time to keep the parser in sync with Walmart's page structure. Walmart Reviews Scraper already implements this retry-and-escalation logic and reads Walmart's embedded page data directly, so a layout redesign is less likely to break field extraction than a CSS-selector-based scraper.

How to use Walmart Reviews Scraper

Walmart Reviews Scraper runs on the Apify platform — no separate signup or API key beyond an Apify account is needed.

  1. Open Walmart Reviews Scraper on the Apify Store and click Try for free (or Run, if you already have it).
  2. Provide startUrls — the required input. Add one or more Walmart product URLs, search URLs, or plain keywords, one per line.
  3. Optionally set sortOrder, maxComments, maxProductsPerStartUrl, skipProductsWithoutReviews, and proxyConfiguration to tune what gets collected.
  4. Click Start to launch the run.
  5. Download results from the Dataset tab in JSON, CSV, Excel, or XML once the run finishes — or stream them via the API while the run is still going.

How to scale to bulk review extraction

startUrls is an array — add as many product URLs, search URLs, or keywords as you need in a single run, one item per line. There is no separate "bulk mode": a run with one URL and a run with a thousand URLs use the same input field. Reviews are deduplicated by reviewId across the entire run, not per product, because Walmart pools the same review set across a product's color/size variant family — so scraping several variants of one item in one run will not produce duplicate review rows.

What can you do with Walmart review data?

  • 📊 Brand managers monitoring sentiment use rating and reviewAspects to spot which product attributes (fit, battery life, durability) are driving complaints across a SKU family.
  • 🛒 Marketplace sellers auditing third-party listings use soldBy and fulfilledBy to check whether reviews on their product page are tied to their own fulfillment or a different seller reselling the same listing.
  • 🔍 Market researchers tracking review velocity use submittedAt and isVerifiedPurchase to measure how review volume and purchase-verification rates shift after a price change or promotion.
  • 🤖 AI engineers building product-research agents feed title and text into a RAG pipeline or LLM summarizer to generate per-product sentiment digests without writing a Walmart parser.
  • 🧾 Procurement and QA teams use helpfulVotes and unhelpfulVotes to surface the reviews the Walmart community itself rated as most trustworthy before escalating a defect report.

How does Walmart Reviews Scraper handle rate limits and blocking?

Every request goes through Apify Proxy by default, seeded with residential IPs in the US (configurable via proxyConfiguration). When Walmart responds with HTTP 444 or 403, or returns a short interstitial page containing block indicators ("access denied", "captcha", "rate limit", "cloudflare"), the Actor escalates the connection — from no proxy, to a datacenter proxy, to a residential proxy — and retries, up to 3 attempts per request with increasing backoff between tries. Once on a residential proxy, it will rotate to a fresh residential IP and retry up to 3 more times before giving up on that specific page. If proxyConfiguration.useApifyProxy is explicitly set to false, this escalation is skipped entirely and the run stays on a direct connection, respecting that choice rather than silently switching to a paid proxy tier. If a page still can't be read after retries, the Actor logs it and moves on to the next product or search page rather than failing the whole run.

⬇️ Input

ParameterRequiredTypeDescriptionExample Value
startUrlsYesarrayAdd one item per line. Supported inputs: a product URL (e.g. https://www.walmart.com/ip/product-name/123456), a search URL (e.g. https://walmart.com/search?q=tshirt), or a keyword (e.g. tshirt). Bulk input is supported.["https://walmart.com/search?q=tshirt"]
sortOrderNostringReview ordering. Enum: relevancy (Relevancy, default), submission-desc (Newest first), helpful (Most helpful), rating-desc (Highest rating first), rating-asc (Lowest rating first)."relevancy"
maxCommentsNointegerMax reviews to extract per product. Minimum 1, maximum 1000, default 5.25
maxProductsPerStartUrlNointegerFor search URLs, limit how many products are processed from each input URL. Minimum 0, maximum 1000, default 10. 0 removes the cap and collects every product the search returns.10
skipProductsWithoutReviewsNobooleanWhen enabled, a product that turns out to have zero reviews is logged as skipped rather than as "0 reviews". This only changes the run log wording — it does not change which requests are made, how many rows are pushed, or how fast the run completes. Default true.true
proxyConfigurationNoobjectControls how requests reach Walmart. Enabled by default (useApifyProxy: true, RESIDENTIAL group, US country) for reliable results across regions; disable to use a direct connection instead, or supply your own configuration.{"useApifyProxy": true}

Example input

{
"startUrls": [
"https://www.walmart.com/ip/instant-pot-duo-7-in-1-electric-pressure-cooker/123456789",
"https://walmart.com/search?q=air+fryer"
],
"sortOrder": "helpful",
"maxComments": 25,
"maxProductsPerStartUrl": 10,
"skipProductsWithoutReviews": true,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"],
"apifyProxyCountry": "US"
}
}

⬆️ Output

Every review is pushed to the dataset as a typed, normalized JSON row the moment it's scraped — field names and types stay consistent across runs. Download results in JSON, CSV, Excel, or XML from the Dataset tab, or pull them via the API. Each pushed row is billed under the row_result pay-per-event charge; a product with zero reviews contributes no rows and is not charged.

Example output

{
"itemType": "Review",
"reviewId": "998877665544",
"productUrl": "https://www.walmart.com/ip/instant-pot-duo-7-in-1-electric-pressure-cooker/123456789",
"rating": 5,
"title": "Works exactly as expected",
"text": "Bought this to replace my old cooker and it's been great for weekly meal prep. The sealing ring held up fine after a month of near-daily use.",
"submittedAt": "2026-06-14",
"isVerifiedPurchase": true,
"helpfulVotes": 12,
"unhelpfulVotes": 1,
"reviewPhotos": [
{
"normalUrl": "https://i5.walmartimages.com/reviews/example-photo-full.jpeg",
"thumbnailUrl": "https://i5.walmartimages.com/reviews/example-photo-thumb.jpeg",
"mediaType": "image"
}
],
"reviewAspects": [
{ "name": "ease of use", "polarity": "positive" },
{ "name": "value for money", "polarity": "positive" }
],
"reviewedItemId": "123456789",
"reviewedItemName": "Instant Pot Duo 7-in-1 Electric Pressure Cooker, 6 Qt",
"soldBy": "Walmart.com",
"fulfilledBy": "Walmart",
"scrapedAt": "2026-08-15T09:12:47.512340+00:00"
}

How does it work?

Walmart Reviews Scraper sends plain HTTP requests through Apify Proxy with realistic browser headers — the same kind of request a Chrome browser makes when loading a page. Rather than parsing visible HTML with CSS selectors, it reads the __NEXT_DATA__ JSON blob Walmart embeds directly in the page, which is the same data Walmart's own React front end renders from. That makes field extraction less brittle against cosmetic layout or styling changes, though a change to Walmart's underlying data structure would still require an update. When a request is blocked or rate-limited, the Actor escalates through proxy tiers and retries rather than failing immediately. Only data visible on the public page is returned — no login, session, or account is used at any point, and the output field names stay the same regardless of how Walmart's page design changes.

Integrations

Walmart Reviews Scraper runs on the Apify platform, so it works with anything that can call the Apify API or the Apify SDKs.

Calling Walmart Reviews Scraper programmatically

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_API_TOKEN>")
run_input = {
"startUrls": ["https://walmart.com/search?q=air+fryer"],
"maxComments": 25,
"maxProductsPerStartUrl": 10,
}
run = client.actor("<YOUR_USERNAME>/walmart-reviews-scraper").call(run_input=run_input)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

Works in Go, Ruby, Node.js, cURL — any language that can make an HTTP request.

No-code tools (n8n, Make, LangChain)

In n8n, use the Apify node (or an HTTP Request node pointed at the run-sync/dataset endpoints) to trigger a run and pull results into your workflow. In Make, the Apify app module can start a run and pass its dataset items into any downstream scenario. In LangChain or similar agent frameworks, call the Actor through apify-client and load the resulting dataset with a document loader to index review text for retrieval.

Scraping publicly available web data, such as reviews visible on a public Walmart product page without logging in, is generally legal. Walmart Reviews Scraper returns only data any visitor can already see — it does not access any login-gated page, and its output contains no reviewer name, username, or profile identifier, only the review content and metrics tied to a product SKU. Because the returned data describes products and their reviews rather than identifiable individuals, this falls under terms-of-service and database-rights considerations rather than personal-data regimes like GDPR or CCPA. Review text is user-submitted content and may occasionally include personal information a reviewer chose to disclose voluntarily; apply your own data-minimization practices if you store or republish review text. Consult legal counsel if your use case involves bulk storage of personal data.

Frequently asked questions

What Walmart review fields does Walmart Reviews Scraper return?

rating, title, text, isVerifiedPurchase, and submittedAt are the core review fields, alongside product-linking fields like reviewedItemId and soldBy. See What data can I extract above for the full field list.

Does Walmart Reviews Scraper require a Walmart account or login?

No. The Actor only sends anonymous HTTP requests with browser-like headers — it never authenticates as a Walmart user and does not need any Walmart credentials.

How many reviews can I extract in one run?

That depends on your input: maxComments caps reviews per product (1–1000, default 5), and maxProductsPerStartUrl caps products per search URL (0–1000, where 0 means no cap). A run with several startUrls entries multiplies across all of them.

What happens if a product has no reviews or a review page can't be read?

The Actor pushes nothing for that product — zero reviews means zero dataset rows and no row_result charge for it. With skipProductsWithoutReviews enabled (the default), the run log records it as "skipped" instead of "0 reviews"; either way, the output is identical.

Can I scrape multiple Walmart products or searches at once?

Yes. startUrls accepts an array — mix product URLs, search URLs, and keywords, one per line, in a single run.

Does Walmart Reviews Scraper work with Claude, ChatGPT, and other AI agent tools?

It's callable as a standard Apify Actor via apify-client or a plain HTTP request, so any agent framework that can make an HTTP call can trigger a run and read the resulting dataset.

How does Walmart Reviews Scraper compare to other Walmart review scrapers?

It reads review data from Walmart's own embedded page JSON rather than CSS-selector scraping, resolves numeric review-aspect IDs to human-readable names, and deduplicates reviews across a product's variant family within a single run rather than per product.

Does Walmart Reviews Scraper return data in a format LLMs can use directly?

Yes. Output is typed, normalized JSON with consistent field names across runs — no HTML to parse and no selectors to write. Pass it directly to an LLM, index it in a vector store, or feed it to an agent tool.

What happens when Walmart changes its layout or anti-bot system?

The output schema is designed to stay stable regardless of Walmart's page design, since fields are read from Walmart's own embedded data rather than visible HTML. No specific update turnaround is promised.

Can I use Walmart Reviews Scraper without managing proxies or browser infrastructure?

Yes. The Actor makes plain HTTP requests — it doesn't run a headless browser at all — and Apify Proxy with automatic tier escalation (direct → datacenter → residential) is handled for you by default.

Which Walmart review fields work best for AI training data and RAG indexing?

For RAG, index title and text — the highest-information free-text fields. For structured training features, rating, isVerifiedPurchase, helpfulVotes, and reviewAspects return as consistent typed primitives across every row.

Scraper NameWhat it extracts
Amazon Product Details ScraperProduct details, pricing, and specs from Amazon listings
Amazon Price TrackerPrice history and changes for Amazon products
eBay Product Listing ScraperListing details and prices from eBay
Facebook Reviews ScraperCustomer reviews from Facebook Pages
Airbnb Review ScraperGuest reviews from Airbnb listings
Udemy Course Reviews ScraperStudent reviews and ratings from Udemy courses

Your feedback

Found a bug or missing a field? Let us know through the Actor's Issues tab on Apify, or via the Apify Console's built-in support chat — reports like these keep this scraper accurate as Walmart's site evolves.