# Walmart Reviews Scraper - Ratings, Text & Verified Buyers (`automly/walmart-reviews-scraper`) Actor

Scrape Walmart customer reviews by product URL, item ID, keyword or category: rating, title, text, date, verified purchase, helpful votes, photos and seller responses. Filter by star rating, verified buyers and date. No API key or login.

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

## Pricing

from $1.00 / 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.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#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 - Export Walmart Customer Reviews, Ratings & Photos

**Walmart Reviews Scraper** extracts **customer reviews from Walmart.com** as JSON, CSV, Excel, XML, or an API feed: star rating, title, review text, date, verified-purchase flag, helpful votes, photos, and the seller's response. Start from a **product URL, item ID, reviews URL, search keyword, or category URL**, and filter by **star rating, verified purchases, and posting date**. No Walmart account, cookies, or API key is needed.

This Actor is an independent tool, not affiliated with, endorsed by, or sponsored by Walmart. Its filters and output fields were last verified against live Walmart pages on 13 September 2026.

### What does Walmart Reviews Scraper do?

It turns Walmart's review pages into one flat row per review, joined to its product on `usItemId`. Three things set it apart:

- **Filters run on Walmart's side.** Star-rating and verified-purchase filters are sent to Walmart, so you only download the reviews you asked for instead of paging through every review and throwing most away.
- **Reviews for a whole search or category.** Enter a keyword such as `air fryer` or paste a category URL, and the Actor collects reviews for the top products Walmart lists, up to the number of products you set.
- **Only new reviews.** Set a start date and each product stops at its first older review, which keeps scheduled monitoring runs short.

### Features

- Scrape Walmart product reviews by product URL or item ID
- Scrape Walmart reviews for every product in a search or category
- Export Walmart reviews with rating, title, text and date
- Filter Walmart reviews by star rating, for example only 1- and 2-star reviews
- Get only verified purchase reviews from Walmart
- Scrape only Walmart reviews posted since a date
- Sort Walmart reviews by newest, oldest, most helpful, highest or lowest rating
- Get Walmart review photos and seller responses
- Get helpful and not-helpful vote counts for each review
- See which product variant each review was written for
- Export Walmart reviews to JSON, CSV or Excel, or pull them from the Apify API
- Use it as a Walmart reviews API alternative with no API key

### Use cases

- **Voice of the customer:** sentiment analysis and topic mining on review text for your own or competing products.
- **Negative review monitoring:** a scheduled run with 1- and 2-star ratings and a start date surfaces new complaints to answer.
- **Product research:** compare what buyers praise and criticize across the top products of a category before sourcing or launching.
- **Seller and brand reporting:** verified-purchase share, helpful votes and seller responses over time.
- **Machine learning datasets:** labeled review text with star ratings for classification and summarization models.

### How to use Walmart Reviews Scraper

1. Click **Try for free** to open the Actor in Apify Console.
2. Paste Walmart product URLs, or enter item IDs or search keywords.
3. Set **Maximum products** and **Maximum reviews per product**.
4. Optionally pick a sort order, star ratings, **Verified purchases only**, or a start date.
5. Click **Start**, then download the reviews from the **Dataset** tab or fetch them from the API.

### Input parameters

| Parameter | Type | Description |
|---|---|---|
| `startUrls` | array | Walmart product (`/ip/`), reviews (`/reviews/product/`), search or category (`/browse/`, `/cp/`) URLs |
| `itemIds` | string\[] | Walmart item IDs, the number at the end of a product URL |
| `searchTerms` | string\[] | Keywords; reviews are collected for the top products Walmart returns |
| `maxProducts` | integer | Products whose reviews are scraped, across all inputs (default 20); product URLs and item IDs come first, searches fill the rest |
| `maxReviewsPerProduct` | integer | Reviews per product (default 100, max 10,000) |
| `reviewsSort` | string | `relevancy`, `helpful`, `submission-desc`, `submission-asc`, `rating-desc`, `rating-asc` |
| `reviewRatings` | string\[] | Star ratings to keep, e.g. `["1", "2"]` |
| `verifiedPurchasesOnly` | boolean | Only verified-purchase reviews |
| `reviewsSince` | string | Only reviews posted on or after this date, `YYYY-MM-DD` |
| `sortBy` | string | Product order for search and category inputs, e.g. `best_seller` |
| `proxyConfiguration` | object | Apify proxy settings; keep the US residential default |

`includeRawData` and `maxConcurrency` round out the Input tab.

### Output example

A real review row:

```json
{
  "type": "review",
  "usItemId": "18638703162",
  "productName": "HP 15.6 inch HD Windows Laptop Intel Processor N250 4GB 128GB UFS Moonlight Blue",
  "productUrl": "https://www.walmart.com/ip/18638703162",
  "reviewId": "426909885",
  "rating": 5,
  "title": "Buy This Computer",
  "text": "This laptop is light to carry and has a streamlined display thanks to Windows 11. The battery power is plentiful. I cannot think of anything I don't like about this laptop, or the experience of purchasing from Walmart.",
  "date": "2026-05-28",
  "userNickname": "anonymous",
  "userLocation": null,
  "verifiedPurchase": true,
  "incentivized": false,
  "recommended": null,
  "positiveFeedback": 11,
  "negativeFeedback": 0,
  "media": [],
  "sellerResponse": null,
  "fulfilledBy": "Walmart",
  "sellerName": "Walmart.com",
  "reviewedItemId": "18638703162",
  "variantFeatures": {
    "Color": "Moonlight blue"
  },
  "syndicationSource": null,
  "sourceUrl": "https://www.walmart.com/reviews/product/18638703162?sort=relevancy&page=1",
  "scrapedAt": "2026-09-12T17:49:23.017488+00:00"
}
```

`media` lists photo URLs, `variantFeatures` and `reviewedItemId` name the variant the review was written for, and `syndicationSource` is set when Walmart shows a review collected on another site.

### How much does it cost?

Pay per event, no subscription. Apify platform usage (compute, proxy, storage) is included in the event prices.

| Event | Charged for | Price |
|---|---|---|
| Actor start | Once per run | $0.001 |
| Review | One review row | $0.0005 |

- **10,000 reviews** of one product: 10,000 × $0.0005 + $0.001 = **$5.00**.
- **20 products with 100 reviews each:** 2,000 × $0.0005 + $0.001 = **$1.00**.

Filters are applied by Walmart, so reviews you filter out are never downloaded or charged.

A measured run on Apify with US residential proxies at 1 GB returned 220 one-star, verified-purchase reviews for 4 products in 10 seconds, about $0.11 at these prices.

### Limitations

- **Up to 10,000 reviews per product for each sort order and filter.** Walmart does not list more. For a product with more reviews, run one star rating at a time; each rating is its own list.
- **Only reviews with text.** Walmart's review count includes star ratings without a written review, which Walmart does not list.
- **Reviews are pooled across variants.** Walmart shows the same reviews on every size or color of a product; `variantFeatures` and `reviewedItemId` show which variant each review was written for.
- Search and category inputs cover the products Walmart lists, about 40 per page.
- Not supported: walmart.ca, seller storefront pages and review photos as files (photo URLs are included).
- Review rows include public reviewer nicknames. Handle personal data according to the rules that apply to you.

### FAQ

#### Do I need a Walmart API key or account?

No. The Actor reads public Walmart review pages, so there is no login, cookie, or API key, and no daily call limit.

#### How many reviews can I get for one product?

Up to 10,000 for each sort order and filter, 50 per page. For more, run the star ratings separately, for example 1 to 4 stars in one run and 5 stars in another.

#### Why do I get fewer reviews than the product's review count?

Walmart's count includes star ratings left without a written review. Those are not listed anywhere, so they cannot be scraped.

#### Can I get only negative reviews?

Yes. Set **Star ratings** to 1 and 2 stars, or sort by lowest rating first.

#### Can I get only reviews posted since my last run?

Yes. Set **Reviews posted since** to a date. Reviews are sorted newest first and each product stops at its first older review.

#### Can I scrape reviews for all products in a Walmart category?

Yes. Paste the category URL or enter a keyword, and set **Maximum products**. Use **Product order** to start from best sellers or top-rated products.

#### Is it legal to scrape Walmart reviews?

The Ninth Circuit held that accessing publicly available web data does not violate the Computer Fraud and Abuse Act (hiQ Labs v. LinkedIn, 2022). This Actor only reads public pages and never logs in. That is not legal advice: review Walmart's terms and the privacy rules that apply to reviewer data.

#### Which proxies should I use?

US residential, the default and the configuration the Actor is tested with. When Walmart rejects a session, the Actor retries the request on a fresh proxy session, up to three per page.

### Related actors

- [Walmart Scraper](https://apify.com/automly/walmart-scraper) - Walmart products, prices, stock, variants and demand signals
- [Zillow Scraper](https://apify.com/automly/zillow-scraper) - homes for sale, rentals, sold listings and agent data from Zillow
- [eBay Scraper](https://apify.com/automly/ebay-scraper) - eBay search listings and item details across eight marketplaces

# Actor input Schema

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

Walmart product (/ip/), reviews (/reviews/product/), search or category (/browse/ or /cp/) URLs, one per line. Search and category URLs scrape the reviews of the products they list.

## `itemIds` (type: `array`):

Walmart item IDs, the number at the end of a product URL, for example 10450114.

## `searchTerms` (type: `array`):

Scrape the reviews of the top products Walmart returns for each keyword, for example air fryer.

## `maxProducts` (type: `integer`):

Maximum number of products whose reviews are scraped, across all inputs. Product URLs, reviews URLs and item IDs come first; searches and categories fill the rest.

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

Walmart lists up to 10,000 reviews per product for one sort order and filter.

## `reviewsSort` (type: `string`):

Order in which Walmart lists reviews.

## `reviewRatings` (type: `array`):

Only return reviews with these star ratings. Leave empty for all ratings.

## `verifiedPurchasesOnly` (type: `boolean`):

Only return reviews that Walmart marks as verified purchases.

## `reviewsSince` (type: `string`):

Only return reviews posted on or after this date. Reviews are then sorted newest first, and each product stops at its first older review.

## `sortBy` (type: `string`):

Which products of a search or category come first, as on Walmart's sort menu.

## `includeRawData` (type: `boolean`):

Add Walmart's raw review object to each row. Rows become much larger.

## `maxConcurrency` (type: `integer`):

Number of review pages fetched at the same time.

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

Keep Apify residential proxies in the United States; that is the configuration this Actor is tested with. Rejected requests are retried on new proxy sessions.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://www.walmart.com/ip/10450114"
    }
  ],
  "maxProducts": 20,
  "maxReviewsPerProduct": 100,
  "reviewsSort": "relevancy",
  "verifiedPurchasesOnly": false,
  "sortBy": "best_match",
  "includeRawData": false,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}
```

# Actor output Schema

## `reviews` (type: `string`):

No description

## `table` (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 = {
    "startUrls": [
        {
            "url": "https://www.walmart.com/ip/10450114"
        }
    ],
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "US"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automly/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": [{ "url": "https://www.walmart.com/ip/10450114" }],
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "US",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("automly/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": [
    {
      "url": "https://www.walmart.com/ip/10450114"
    }
  ],
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "US"
  }
}' |
apify call automly/walmart-reviews-scraper --silent --output-dataset

```

## MCP server setup

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