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

The Walmart Reviews Scraper extracts customer reviews from any Walmart product page, capturing star ratings, review text, dates, verified-purchase flags, reviewer names, helpful votes, photos, and seller replies — ideal for product research, sentiment analysis, and brand monitoring.

- **URL**: https://apify.com/piotrv1001/walmart-reviews-scraper.md
- **Developed by:** [FalconScrape](https://apify.com/piotrv1001) (community)
- **Categories:** E-commerce, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.50 / 1,000 reviews

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

### 🚀 Walmart Reviews Scraper

Easily extract **customer reviews from Walmart** product pages. The **Walmart Reviews Scraper** collects ratings, review text, submission dates, verified-purchase flags, reviewer names, review photos and seller replies — structured, deduplicated, and ready for analysis.

Paste a Walmart product URL, press **Start**, and get clean JSON, CSV or Excel in seconds. Everything runs on the Apify platform, so you also get an API, scheduling, webhooks, integrations with Google Sheets, Zapier or Make, and automatic proxy rotation — with no infrastructure of your own.

### ✨ Features

- ⭐ **Complete Review Data**: Star rating, title, full review text, submission date, reviewer nickname, reviewer review count, helpful and unhelpful votes.
- ✅ **Verified Purchase Flags**: Know which reviews come from confirmed buyers and which product the reviewer actually recommends.
- 📸 **Review Photos & Videos**: Full-size and thumbnail URLs for customer-submitted media.
- 💬 **Seller & Brand Replies**: Captures the official response attached to a review when there is one.
- 🔢 **Beyond 10,000 Reviews per Product**: Most tools stop at Walmart's page ceiling. This scraper works around it and keeps going on best-selling products.
- 🧹 **Zero Duplicates**: Reviews are collected in a stable order and deduplicated by review ID, so 300 requested reviews means 300 distinct reviews.
- 🔁 **Any Input Format**: Product URLs, review page URLs, or bare item IDs — all accepted.
- ⚡ **Fast & Reliable**: About 50 reviews per request, several products at once, with automatic retries.

### 🛠️ How to use the Walmart Reviews Scraper

1. **Add your products** – Paste one or more Walmart product URLs (e.g. `https://www.walmart.com/ip/.../34621226`) or item IDs into the **Walmart products** field.
2. **Set how many reviews you want** – Choose the maximum number of reviews per product. The default is 50.
3. **Pick a sort order** – Newest first, oldest first, highest rating, or lowest rating.
4. **Run the scraper** – Press **Start** and watch the reviews arrive in the **Output** tab.
5. **Export or automate** – Download as JSON, CSV, Excel, HTML or XML, pull the data through the Apify API, or schedule the run to repeat daily.

### 📥 Input

| Field                  | Type    | Description                                                                 |
| ---------------------- | ------- | --------------------------------------------------------------------------- |
| `productUrls`          | array   | Walmart product URLs, review page URLs, or item IDs. **Required.**          |
| `maxReviewsPerProduct` | integer | Maximum reviews to collect per product. Default `50`.                       |
| `sort`                 | string  | `newest`, `oldest`, `highest_rating`, or `lowest_rating`. Default `newest`. |
| `proxyConfiguration`   | object  | Proxy settings. The default (US residential) is recommended.                |

```json
{
    "productUrls": ["https://www.walmart.com/ip/Miracle-Gro-Cactus-Palm-and-Citrus-Potting-Mix-8-qt/34621226"],
    "maxReviewsPerProduct": 300,
    "sort": "newest"
}
```

### 📊 Sample Output Data

The scraper provides structured JSON output with one row per review. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel. Example:

```json
[
    {
        "reviewId": "423024919",
        "rating": 5,
        "title": null,
        "text": "It was off season and not available in stores. I needed to make several cactus terrariums as gifts. I appreciate the fast speedy service. Everyone loved them. Great job Walmart",
        "submittedAt": "4/18/2026",
        "isVerifiedPurchase": true,
        "isRecommended": true,
        "helpfulVotes": 0,
        "unhelpfulVotes": 0,
        "authorName": "Mildred",
        "authorReviewCount": 150,
        "media": [],
        "sellerResponse": null,
        "fulfilledBy": "Walmart",
        "language": "English",
        "productId": "34621226",
        "productName": "Miracle-Gro Cactus, Palm and Citrus Potting Mix, For Potted Plants, 8 qt.",
        "productImageUrl": "https://i5.walmartimages.com/seo/Miracle-Gro-Cactus-Palm-Citrus-Potting-Mix-8-qt-Use-with-Succulents_0d310203-8513-452b-a5b2-96b2cf312bac.780740f1a879d4848fb5213085e46ce4.jpeg",
        "productUrl": "https://www.walmart.com/ip/34621226",
        "productAverageRating": 4.7,
        "productTotalReviewCount": 4012,
        "productReviewsWithTextCount": 1105
    },
    {
        "reviewId": "417880311",
        "rating": 2,
        "title": "Not the same product",
        "text": "The mix used to be chunkier. This bag was almost all fine peat.",
        "submittedAt": "3/29/2026",
        "isVerifiedPurchase": true,
        "isRecommended": false,
        "helpfulVotes": 4,
        "unhelpfulVotes": 0,
        "authorName": "GardenGeek",
        "authorReviewCount": 12,
        "media": [
            {
                "type": "IMAGE",
                "url": "https://i5.walmartimages.com/dfw/6e29e393-c99d/k2-_84e84b61-f9f5-433a-955f-2c6b421e3f84.v1.jpg",
                "thumbnailUrl": "https://i5.walmartimages.com/dfw/6e29e393-c99d/k2-_84e84b61-f9f5-433a-955f-2c6b421e3f84.v1.jpg?odnWidth=150&odnHeight=150",
                "caption": null
            }
        ],
        "sellerResponse": "Thank you for taking the time to share your feedback with us about this product...",
        "fulfilledBy": "Walmart",
        "language": "English",
        "productId": "34621226",
        "productName": "Miracle-Gro Cactus, Palm and Citrus Potting Mix, For Potted Plants, 8 qt.",
        "productUrl": "https://www.walmart.com/ip/34621226",
        "productAverageRating": 4.7,
        "productTotalReviewCount": 4012,
        "productReviewsWithTextCount": 1105
    }
]
```

### 🗂️ Data fields

| Field                                                          | Description                                                  |
| -------------------------------------------------------------- | ------------------------------------------------------------ |
| `reviewId`                                                     | Unique Walmart review identifier                             |
| `rating`                                                       | Star rating from 1 to 5                                      |
| `title`                                                        | Review headline, when the reviewer wrote one                 |
| `text`                                                         | Full review body                                             |
| `submittedAt`                                                  | Date the review was submitted                                |
| `isVerifiedPurchase`                                           | Whether Walmart confirmed the purchase                       |
| `isRecommended`                                                | Whether the reviewer recommends the product                  |
| `helpfulVotes` / `unhelpfulVotes`                              | Community feedback counts                                    |
| `authorName` / `authorId`                                      | Reviewer nickname and stable anonymous ID                    |
| `authorReviewCount`                                            | How many reviews the author has written                      |
| `media`                                                        | Customer photos and videos with full-size and thumbnail URLs |
| `sellerResponse`                                               | Official brand or seller reply to the review                 |
| `sellerName` / `fulfilledBy`                                   | Who sold and who fulfilled the order                         |
| `language` / `source`                                          | Review language and syndication origin                       |
| `productId` / `productName` / `productImageUrl` / `productUrl` | Product the review belongs to                                |
| `productAverageRating`                                         | Product's overall star average                               |
| `productTotalReviewCount`                                      | Total ratings, including star-only ratings with no text      |
| `productReviewsWithTextCount`                                  | Written reviews — the number that can actually be listed     |

### 💰 How much does it cost to scrape Walmart reviews?

This Actor uses **pay per event** pricing, so you pay for the reviews you receive and nothing else.

| Event            | Price                                                           |
| ---------------- | --------------------------------------------------------------- |
| Actor start      | $0.004 per run                                                  |
| Review extracted | from $0.0004 to $0.001 per review, depending on your Apify plan |

That works out to roughly **$0.70 per 1,000 reviews** on a paid plan. The $5 in free monthly credits that comes with every Apify account is enough for about **5,000 reviews per month at no cost**. There are no separate proxy or compute charges to calculate — the event price is the whole bill.

### 💡 Tips

- **Requesting fewer reviews is cheaper, and fetching them is done in blocks of 50** — asking for 50, 100 or 300 is the most efficient use of a run.
- **`newest` is the best sort order** for repeat monitoring: schedule a daily run with a small `maxReviewsPerProduct` and you will always catch new reviews first.
- **Add many products to a single run.** Products are processed in parallel, so one run with 50 products is far faster than 50 separate runs.
- **Watch `productReviewsWithTextCount`.** It tells you the real ceiling for a product before you raise `maxReviewsPerProduct`.

### ❓ FAQ

**Why did I get fewer reviews than the product's review count?**
Walmart shows a total that includes star-only ratings with no written text. Only written reviews can be listed, so a product showing 4,012 ratings may have 1,105 actual reviews. The `productTotalReviewCount` and `productReviewsWithTextCount` fields make this explicit on every row.

**Can it extract more than 10,000 reviews from one product?**
Yes. Walmart's own review listing stops at 10,000, and this scraper works around that ceiling automatically when you request more.

**Which input formats are accepted?**
Product URLs (`/ip/...`), review page URLs (`/reviews/product/...`), and bare item IDs such as `34621226`.

**Do I need my own proxies?**
No. The default configuration uses Apify's US residential proxies, which is what Walmart requires. Just leave it as it is.

**Is scraping Walmart reviews legal?**
This Actor extracts only publicly available data — the same information any visitor can see without logging in. It does not collect private or personal data behind a login. Web scraping of public data is generally legal, but how you use the data is your responsibility. If you plan to use scraped data commercially, consider getting legal advice, and review Walmart's Terms of Service.

### 🐛 Support & custom solutions

Found a bug or missing a field? Open a ticket on the **Issues** tab and it will be looked at. If you need a tailored version of this scraper — different fields, a different site, or a bespoke pipeline — get in touch and a custom solution can be built for you.

Start understanding what Walmart customers really think with the **Walmart Reviews Scraper** today! 🚀

# Actor input Schema

## `productUrls` (type: `array`):

Walmart product URLs, review page URLs, or bare item IDs — one per line.

## `maxReviewsPerProduct` (type: `integer`):

How many reviews to extract for each product. Only reviews that contain written text can be listed, so a product can return fewer reviews than its rating count suggests.

## `sort` (type: `string`):

Order in which reviews are collected. Newest first is the most reliable and never returns duplicates.

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

Walmart requires US residential proxies. Leave the default unless you know what you are doing.

## Actor input object example

```json
{
  "productUrls": [
    "https://www.walmart.com/ip/Miracle-Gro-Cactus-Palm-and-Citrus-Potting-Mix-8-qt/34621226"
  ],
  "maxReviewsPerProduct": 50,
  "sort": "newest",
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountryCode": "US"
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "productUrls": [
        "https://www.walmart.com/ip/Miracle-Gro-Cactus-Palm-and-Citrus-Potting-Mix-8-qt/34621226"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("piotrv1001/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 = { "productUrls": ["https://www.walmart.com/ip/Miracle-Gro-Cactus-Palm-and-Citrus-Potting-Mix-8-qt/34621226"] }

# Run the Actor and wait for it to finish
run = client.actor("piotrv1001/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 '{
  "productUrls": [
    "https://www.walmart.com/ip/Miracle-Gro-Cactus-Palm-and-Citrus-Potting-Mix-8-qt/34621226"
  ]
}' |
apify call piotrv1001/walmart-reviews-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,piotrv1001/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/om7ToeCMg0AOQugpt/builds/WNV9Bcy42WUQFebkn/openapi.json
