# Walmart Reviews Scraper (`fastdataapi/walmart-reviews-scraper`) Actor

Walmart Reviews Scraper — Extract Walmart product reviews including ratings, review text, usernames, dates, verified purchase status, helpful votes, product details, and review URLs. Useful for customer sentiment analysis, product research, competitor analysis, and e-commerce insights.

- **URL**: https://apify.com/fastdataapi/walmart-reviews-scraper.md
- **Developed by:** [Fast Data API](https://apify.com/fastdataapi) (community)
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.99 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### Walmart Reviews Scraper — Ratings, Review Text and Verified Purchases

Walmart Reviews Scraper collects customer reviews of Walmart products: star rating, review title and text, submission date, verified-purchase status, helpful votes, customer photos and review topics, from product links, search links or a plain keyword. Every response is structured JSON — ready to pass directly to an LLM, index into a vector store, or feed a customer sentiment analysis pipeline. **No Walmart account or cookies needed** — paste a link or type a keyword and see what buyers say today. Start with one product, then scale to every listing you track.

![Walmart Reviews Scraper output: rating, review text, verified purchase and seller as JSON](https://api.apify.com/v2/key-value-stores/Lg9lp51Levfro6SrV/records/h-walmart-reviews-hero.webp)

***

### What data can I extract with Walmart Reviews Scraper?

Using this Walmart reviews API, you will be able to extract the following Walmart review data:

| | | | |
|---|---|---|---|
| ⭐ Star rating | 📝 Review title | 💬 Review text | 📅 Submission date |
| ✅ Verified-purchase status | 👍 Helpful vote count | 👎 Unhelpful vote count | 🖼️ Customer photos and videos |
| 🔎 Review topics with polarity (e.g. Fit, Positive) | 🧩 Reviewed variant ID and name | 🏪 Seller | 🚚 Fulfilled by (if shown) |
| 🔗 Product URL | 🕒 When the run collected the review | | |

***

### How to use Walmart Reviews Scraper

Anyone who wants to scrape Walmart reviews without a Walmart account can run it and get back one row per review.

**Copy to your AI assistant:**

```text
Walmart Reviews Scraper (Apify Actor ID: fastdataapi/walmart-reviews-scraper, https://apify.com/fastdataapi/walmart-reviews-scraper) is an Apify Actor that returns Walmart product reviews as structured JSON: star rating, review title and text, submission date, verified-purchase status, helpful votes, customer photos, review topics and the exact variant reviewed. Use it whenever someone needs Walmart review data without cookies, a login, or a browser - tracking new reviews of your own products, comparing ratings and topics across competing products, or feeding review text into a sentiment model. Run it with curl: curl -X POST "https://api.apify.com/v2/acts/fastdataapi~walmart-reviews-scraper/run-sync-get-dataset-items?token=APIFY_TOKEN" -H "Content-Type: application/json" -d '{"startUrls":["https://walmart.com/search?q=tshirt"],"maxComments":20}'. Or in Python: ApifyClient("APIFY_TOKEN").actor("fastdataapi/walmart-reviews-scraper").call(run_input={"startUrls":["https://walmart.com/search?q=tshirt"],"maxComments":20}) then client.dataset(run["defaultDatasetId"]).list_items().items. Inputs: startUrls (array, required, product links, search/browse/category links or keywords), sortOrder (string, one of "relevancy"|"submission-desc"|"helpful"|"rating-desc"|"rating-asc"|"submission-asc", default "relevancy"), maxComments (integer 1-1000, reviews per product, default 5), maxProductsPerStartUrl (integer 0-1000, products per search link or keyword, 0 = all, default 10), skipProductsWithoutReviews (boolean, default true), proxyConfiguration (object). Colour and size variants that share one set of reviews count once and are not billed twice. Full input schema, every enum and default, and the complete output field list: GET the Actor's default build in the Apify API.
```

#### Walmart Reviews Scraper MCP Server: use these Actors from ChatGPT, Claude or Cursor

Point your AI assistant at Apify's MCP server and it can read Walmart review data on its own: product reviews, search results and the products behind them. No glue code, no scraping logic in your prompts.

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=fastdataapi/walmart-reviews-scraper"
```

#### Step by step

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open [Walmart Reviews Scraper](https://apify.com/fastdataapi/walmart-reviews-scraper) in the Apify Store.
3. Enter the Walmart product links, search links or keywords.
4. Click **Start** (or send your API request).
5. Download or stream your results in JSON, CSV or Excel.

#### How to scale Walmart Reviews Scraper to bulk

`startUrls` is an array: add as many product links, search links or keywords as you like in one run, and they run at the same time — a practical way to pull bulk Walmart reviews by keyword across many searches at once. Each search link or keyword gives up to Maximum Products Per Start URL products, each with up to Maximum Reviews Per Product reviews. For a recurring pull, pass the same `startUrls` to an Apify schedule sorted `submission-desc` to pick up new reviews as they appear, or split a long list of products across a few runs if you want them to finish independently.

***

### ✨ Features

As a Walmart product reviews scraper, it fetches clean, structured reviews from Walmart product pages ⚡ at low cost 💸, giving teams the Walmart customer reviews data they need for product research, brand monitoring, competitor comparison and sentiment analysis. It extracts, per review:

- **Star rating and review text** – what the buyer said and how many stars they gave
- **Verified-purchase status** – whether Walmart marked the review as a verified purchase
- **Helpful and unhelpful votes** – how other shoppers rated the review
- **Customer photos and videos** – links to media the reviewer attached
- **Review topics** – tagged aspects such as Fit or Comfort, each with a positive or negative polarity
- **Reviewed variant, seller and fulfilment** – the exact size/colour bought, who sold it and who shipped it

⚡ Colour and size variants that share one set of reviews are counted once, so the same reviews are never saved or billed twice.

***

### Use cases 💡

- **Brand manager** — track new reviews of your own products sorted newest first.
- **Market researcher** — compare star ratings and review topics across competing products.
- **Marketplace seller** — read verified-purchase reviews before restocking a product.
- **Data analyst** — pull review counts and ratings for a whole search result in one run.
- **AI agent builder** — feed review text and topic polarity into a sentiment or RAG pipeline.

Building an AI agent? [Connect Walmart Reviews Scraper over MCP](#walmart-reviews-scraper-mcp-server-use-these-actors-from-chatgpt-claude-or-cursor) and let it call the actor on its own.

***

### Why choose this actor?

1. **Reviews land in the dataset while the run is still going.** A live run against a single product with 60 reviews stored its first review after 1.0 second, instead of waiting for the whole product.
2. **One run covers products, searches and keywords together.** A live run with one product link plus the keyword "tshirt" returned 9 reviews from 3 distinct products (1 direct link, 2 from the search) in 5.1 seconds.
3. **17 fields per review, every time.** As a Walmart review extractor and Walmart ratings and reviews scraper in one, it returns rating, title, text, date, verified-purchase flag, helpful/unhelpful votes, photos, topics, reviewed variant, seller and fulfilment on every row.

***

### ⬇️ Input

![Walmart Reviews Scraper input: Walmart URLs or keywords and max reviews per product](https://api.apify.com/v2/key-value-stores/Lg9lp51Levfro6SrV/records/h-walmart-reviews-input.webp)

Give it product links, a product's review-page link, search/browse/category links, or plain keywords — one per line. `startUrls` is required.

| Parameter | Required | Type | Description | Example |
| --- | --- | --- | --- | --- |
| `startUrls` | Yes | Array | Product links, search/browse/category links, or keywords | `["https://walmart.com/search?q=tshirt"]` |
| `sortOrder` | No | String | `relevancy`, `submission-desc`, `submission-asc`, `helpful`, `rating-desc` or `rating-asc` (default `relevancy`) | `"submission-desc"` |
| `maxComments` | No | Integer | Reviews per product, 1–1000 (default 5) | `3` |
| `maxProductsPerStartUrl` | No | Integer | Products per search link or keyword, 0–1000, 0 = all (default 10) | `2` |
| `skipProductsWithoutReviews` | No | Boolean | Leave out products with no reviews (default `true`) | `true` |
| `proxyConfiguration` | No | Object | Proxy settings; US residential selected by default | `{"useApifyProxy": false}` |

A run without any usable entry stops right away with a clear status message.

#### Free plan limits

Users on the Apify free plan can fetch up to 20 reviews per run (all products together) and 200 reviews per month. When the limit is reached, the run finishes successfully with a status message explaining the limit. Upgrade to any paid Apify plan to remove these limits.

#### Example input

```json
{
  "startUrls": [
    "https://www.walmart.com/ip/Free-Assembly-Men-s-Everyday-Cotton-Tee-with-Short-Sleeves-Sizes-S-3XL/888475689",
    "tshirt"
  ],
  "sortOrder": "submission-desc",
  "maxComments": 3,
  "maxProductsPerStartUrl": 2,
  "skipProductsWithoutReviews": true,
  "proxyConfiguration": { "useApifyProxy": false }
}
```

***

### ⬆️ Output

![Walmart Reviews Scraper output: one row per review with 17 fields](https://api.apify.com/v2/key-value-stores/Lg9lp51Levfro6SrV/records/h-walmart-reviews-output.webp)

Every review is one typed, normalized JSON item with the same 17 fields on every run — streamed into the dataset page by page as soon as each page of reviews is ready, not held back until the whole product is done. To export Walmart reviews to CSV, Excel or JSON, use the Console's export button or the dataset API. A per-start-URL run summary (status, product and review counts) is also kept in the key-value store under the `OUTPUT` key.

#### Example output

Real row from a live run on the input above:

```json
{
  "itemType": "Review",
  "productUrl": "https://walmart.com/ip/Free-Assembly-Men-s-Everyday-Cotton-Tee-with-Short-Sleeves-Sizes-S-3XL/888475689",
  "rating": 5,
  "title": null,
  "text": "Perfect Fall color. I spotted the shirts in the mens dept. and bought several colors. Keeping an eye out to see if these are avaliable next year.",
  "reviewId": "443011950",
  "submittedAt": "2026-10-05",
  "isVerifiedPurchase": true,
  "helpfulVotes": 0,
  "unhelpfulVotes": 0,
  "reviewPhotos": null,
  "reviewAspects": null,
  "reviewedItemId": "19495121249",
  "reviewedItemName": "Free Assembly Men's Everyday Cotton Tee with Short Sleeves, Sizes S-3XL",
  "soldBy": "Walmart.com",
  "fulfilledBy": "Walmart",
  "scrapedAt": "2026-10-08T10:47:27.979709+00:00"
}
```

***

### How does it work?

Walmart Reviews Scraper reads the same public pages any visitor sees on walmart.com — no Walmart account, login or browser needed. Plain HTTP requests load each product's review pages and, for a search or keyword, the result pages behind it, without ever opening a browser window. When Walmart blocks a request, the actor waits briefly and retries it on a new connection, and if blocking continues, switches the rest of the run to a residential proxy automatically, so a single blocked page rarely stops the run. The output schema stays the same 17 fields even when Walmart changes how its pages are built or rendered, so the integration you build today keeps working with no changes on your end later.

***

### How do you integrate Walmart Reviews Scraper into your stack?

It works with what you already use: a plain REST API call from any language, Apify's MCP server for AI agents, or a no-code automation tool.

#### Using Walmart Reviews Scraper with the Apify API

```python
import requests

actor_id = "fastdataapi/walmart-reviews-scraper"
run_input = {"startUrls": ["https://walmart.com/search?q=tshirt"], "maxComments": 20}
response = requests.post(
    f"https://api.apify.com/v2/acts/{actor_id}/run-sync-get-dataset-items",
    params={"token": "APIFY_TOKEN"},
    json=run_input,
)
for review in response.json():
    print(review["rating"], review["text"])
```

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

#### MCP integration for AI agents

```bash
claude mcp add --transport http apify "https://mcp.apify.com?tools=fastdataapi/walmart-reviews-scraper"
```

This registers Walmart Reviews Scraper as a tool your agent can call directly, so it can fetch Walmart review data mid-conversation instead of you copying rows in and out by hand. The server starts with this actor already added as a tool, so no search or add step is needed on your side. Compatible with Claude Code, Claude Desktop, Cursor and Windsurf, and with any other MCP client that speaks Streamable HTTP.

#### No-code tools (n8n, Make, LangChain)

In n8n, use the Apify node's "Run an Actor" operation, or the HTTP Request node pointed at the run-sync endpoint with your token. In Make, use the Apify app's "Run an Actor" module, then "Get Dataset Items" to read the reviews. In LangChain, install `langchain-apify` and call `ApifyActorsTool("fastdataapi/walmart-reviews-scraper")`.

***

### Is it legal to scrape Walmart review data?

Scraping publicly available web data is generally considered lawful, though Walmart's Terms of Use restrict automated access. Walmart Reviews Scraper returns only reviews any visitor can see without logging in — nothing behind a login, and no reviewer names. Review text can still contain personal details, so storing and using it must still comply with data-protection law such as GDPR. Consult legal counsel if your use case involves bulk storage of personal data.

***

### Frequently asked questions

#### What fields does Walmart Reviews Scraper return?

Star rating, review title, review text, submission date and verified-purchase status, plus helpful votes, photos and review topics. See [the data fields section](#what-data-can-i-extract-with-walmart-reviews-scraper) for the full list.

#### Does Walmart Reviews Scraper require a Walmart account or login?

No. Only public review data is extracted; no Walmart credentials are needed at any point.

#### How fast does Walmart Reviews Scraper run?

A live run on one product with 60 reviews finished in 2.2 seconds, with the first review saved after 1.0 second. A run on one product plus the keyword "tshirt" (9 reviews across 3 products) finished in 5.1 seconds. Every run reads live data, never a cache.

#### What happens if a product is private or doesn't exist?

Walmart reviews are public, so there is no private state; a product that is not found or whose reviews fail to load gives no row, is not billed, and is named in the log, the run's status message and the key-value store summary, while the rest of the run continues.

#### Can I scrape multiple Walmart products or searches at once?

Yes. Add as many product links, search links or keywords as you like to `startUrls`; they run at the same time, and each search link or keyword gets up to Maximum Products Per Start URL products.

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

Yes — it's available as an MCP tool. Use the command above to register it in Claude Code, Cursor or Windsurf. Any agent that can call an HTTP endpoint can use the REST API directly.

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

Yes. Typed, normalized JSON with consistent field names on every row — no HTML parsing, no selectors. Pass it straight to an LLM, index it into a vector store, or feed it to an agent tool with no transformation step.

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

The actor is maintained; when Walmart changes its pages, it is updated so your calls keep returning the same JSON schema with no changes on your end.

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

Yes. Retries and proxy switching run on the actor's side; you send one request and get structured JSON back. No proxy accounts, no headless browser setup, no maintenance.

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

For RAG: the review title and text, which carry the actual customer opinion. For training data, filtering or Walmart review sentiment analysis: the star rating, verified-purchase flag, helpful vote count and review topics — all typed primitives (strings, integers, booleans), no normalization needed.

***

### Your feedback

Found a bug or a field that looks wrong? Let us know so it can be fixed. Every report is read, and fixes ship as Walmart's pages change.

# Actor input Schema

## `startUrls` (type: `array`):

Add one item per line.

Supported inputs:

- Product URL (e.g. https://www.walmart.com/ip/product-name/123456) or a product's review page link
- Search, browse or category URL (e.g. https://walmart.com/search?q=tshirt)
- Keyword (e.g. tshirt), searched on Walmart

Links to other websites are skipped and listed in the log. Plain strings and { "url": "..." } objects are both accepted.

## `sortOrder` (type: `string`):

Order in which each product's reviews are collected: most relevant, most helpful, newest, oldest, highest rating or lowest rating first.

## `maxComments` (type: `integer`):

Maximum number of reviews saved per product. A product with fewer written reviews returns all it has.

Free plan: up to 20 reviews per run (all products together) and 200 per month; paid plans have no limit.

Default is 5.

## `maxProductsPerStartUrl` (type: `integer`):

For search, browse, category URLs and keywords: how many products are taken from each one, in the order Walmart lists them. Colour and size variants that share one set of reviews count once.

0 takes every product the listing shows. Default is 10.

## `skipProductsWithoutReviews` (type: `boolean`):

When on, products that show no reviews in the listing are left out and do not count towards Maximum Products Per Start URL, so the run moves straight to products that have reviews. When off, they are opened and counted too (they return no rows).

## `proxyConfiguration` (type: `object`):

With a proxy selected, every request goes through it on a new connection. With the proxy off, the run starts on a direct connection and switches to the Apify US residential proxy as soon as Walmart blocks it.

## Actor input object example

```json
{
  "startUrls": [
    "https://walmart.com/search?q=tshirt"
  ],
  "sortOrder": "relevancy",
  "maxComments": 5,
  "maxProductsPerStartUrl": 10,
  "skipProductsWithoutReviews": true,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

All Walmart product reviews scraped in this run.

## `summary` (type: `string`):

Per-start-URL status, product and review counts, saved to the key-value store under the OUTPUT key.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "startUrls": [
        "https://walmart.com/search?q=tshirt"
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("fastdataapi/walmart-reviews-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "startUrls": ["https://walmart.com/search?q=tshirt"],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("fastdataapi/walmart-reviews-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "startUrls": [
    "https://walmart.com/search?q=tshirt"
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call fastdataapi/walmart-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,fastdataapi/walmart-reviews-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/rs0a0ubZjMhThCVKn/builds/8wLSsB2x6mc1vlohK/openapi.json
