# Walmart Scraper: Product Search, Prices & Stock (`leathered_latch/walmart-products-scraper`) Actor

Search Walmart.com like a shopper and get every product as a row: price, rating, review count, seller, stock status, deal flag and link. Use it as a Walmart data API. Pay only for products delivered.

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

## Pricing

$3.00 / 1,000 product results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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 Product Scraper: prices, ratings and stock

Search Walmart.com the way a shopper does and get every product back as a row: price, star rating, review count, seller, stock status and the product link.

You pay only for products delivered. A search that finds nothing costs nothing.

### What you get

| Field | Example |
|---|---|
| `name` | Maxwell House Original Roast Ground Coffee, 27.5 oz |
| `price` | 13.97 |
| `rating` / `reviewCount` | 4.7 / 27412 |
| `sellerName` | Walmart.com |
| `availability` | IN_STOCK |
| `flag` | Deal, Rollback, Best seller, "2K+ bought since yesterday" |
| `isSponsored` | true for paid placements |
| `usItemId` | 5344812220 |
| `canonicalUrl` | Link to the product page |
| `category` | Home Page/Food/Coffee/Ground Coffee |

Rows are flat, so they open straight in Excel or Google Sheets.

#### Sample output

```json
{
  "query": "coffee",
  "name": "Maxwell House Original Roast Ground Coffee, 27.5 oz Canister",
  "usItemId": "5344812220",
  "price": 13.97,
  "rating": 4.7,
  "reviewCount": 27412,
  "sellerName": "Walmart.com",
  "availability": "IN_STOCK",
  "isSponsored": true,
  "flag": null,
  "canonicalUrl": "https://www.walmart.com/ip/Maxwell-House-Original-Roast-Ground-Coffee-27-5-oz-Canister/5344812220",
  "category": "Home Page/Food/Coffee/Ground Coffee",
  "scrapedAt": "2026-10-12T00:10:36.265Z"
}
```

### Quick start

1. Type what you'd search on Walmart in **Search queries**, one per line. `coffee`, `air fryer`, `dog food`.
2. Pick **Max results per query** (up to 200) and a **Sort** if you want one: best match, price low to high, best sellers, highest rated.
3. Click **Start**.

The default input runs as-is and returns 40 coffee products.

### Use cases

- Track the price of a product list every morning and catch Rollbacks the day they start.
- Compare your own listing against the top 100 results for your main keyword.
- See which brands Walmart pays to promote: filter on `isSponsored`.
- Build a cheap-to-expensive price ladder for a category with `sort: price_low`.

### What happens when something goes wrong

Walmart pads searches it doesn't understand with "Other options to consider". Those aren't your results, so this scraper drops them. A nonsense search returns 0 rows and you pay nothing, and the run summary tells you why.

If Walmart shows a bot check, the scraper retries on its own. If a query still fails, it returns 0 rows for that query and the others keep going. Look for `RUN_SUMMARY` in the run's key-value store.

### Input

| Field | Required | Notes |
|---|---|---|
| `queries` | yes | One search per line |
| `maxResultsPerQuery` | no | 1 to 200, default 40 |
| `sort` | no | best_match, price_low, price_high, best_seller, rating |

### Pricing

Pay per product delivered, plus Apify's small start fee per run. Set a maximum cost per run and the scraper stops at your limit.

### FAQ

**Do I need a Walmart account?**
No. It reads public search pages.

**Why is `price` sometimes empty?**
Walmart's search page leaves the price off some items (usually ones with several sellers or sizes). We leave it blank instead of writing a fake $0. About 3 in 100 rows.

**Is there a brand field?**
No. Walmart's search results don't carry one, and we'd rather not sell you an empty column. The brand is almost always the first words of `name`.

**Does it do reviews or full product pages?**
Search results only for now.

**Something broke?**
Open an issue with the query you used. I answer within a day.

### Limitations

- walmart.com (US) only.
- Walmart's search results only carry star ratings for some products (in our October 2026 tests, 20% to 55% depending on the search). When a rating isn't there, `rating` and `reviewCount` are empty, never a made-up 0. For the rating of every product, run the links through our Walmart Product Data Scraper.
- Prices can differ by ZIP code; these are Walmart's default online prices.
- Walmart only pages so deep into a search (12 pages for "coffee" when we checked). Narrower queries reach further.

### Export or use as an API

Download any run's results from the **Storage** tab as CSV, Excel, JSON or XML.

To call it from your own code, send your input to Apify's API and get the rows back in one request:

```
POST https://api.apify.com/v2/acts/leathered_latch~walmart-products-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN
```

It also plugs into Make, Zapier and n8n through Apify's integrations, and AI agents can find and run it through Apify's MCP server.

### Your responsibility

How you use the output is your call, and so is the legal side of it. Copyright still covers any text or images you republish. The source site's own terms apply too. If you're unsure about a use, check with a lawyer first.

If you own content that shows up in these results and want it handled differently, open an issue on the Issues tab. We answer within 14 days.

### Data source and credit

Every row comes from Walmart.com (Walmart Inc.). We don't own this data, and we don't take credit for it. The product listings and prices belong to Walmart and its sellers.

This tool reads only what Walmart shows to any logged-out visitor. No logins, no private data. Each row keeps a link back to the page it came from (the `canonicalUrl` field), so you can check any result and credit the source when you use it.

Not affiliated with, endorsed by or sponsored by Walmart. All names and trademarks belong to their owners.

### Changelog

- **0.1** First release. Multi-page search, sort, filler-stack filtering, no charge on empty searches.

# Actor input Schema

## `queries` (type: `array`):

What to search on Walmart, one per line. Example: coffee

## `maxResultsPerQuery` (type: `integer`):

How many products to return per search (1–200). You pay only for unique products delivered.

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

How Walmart should rank the results.

## Actor input object example

```json
{
  "queries": [
    "coffee"
  ],
  "maxResultsPerQuery": 40,
  "sort": "best_match"
}
```

# 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 = {
    "queries": [
        "coffee"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("leathered_latch/walmart-products-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 = { "queries": ["coffee"] }

# Run the Actor and wait for it to finish
run = client.actor("leathered_latch/walmart-products-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 '{
  "queries": [
    "coffee"
  ]
}' |
apify call leathered_latch/walmart-products-scraper --silent --output-dataset

```

## MCP server setup

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