---
name: apify-walmart-scraper
description: Scrape Walmart product data into structured JSON with the Apify Walmart API Actor (johnvc/walmart-api). Four modes in one Actor; search returns ranked products with price, wasPrice, rating, seller and both product ids, product looks up a full listing with upc, manufacturerNumber, category path, variantCount and ratingBreakdown, reviews returns review text with ratings and dates, sellers lists every seller on a listing with price, stock, delivery and return policy. No proxies or captcha handling on your side. Use when the user wants a walmart scraper, walmart scraping, a walmart api without marketplace keys, walmart product data as JSON or CSV, UPC lookups, or seller and price data from code. Pay per result, MCP-ready for Claude and other AI agents.
author: John Cole
author_url: https://github.com/johnisanerd
license: MIT
metadata:
  version: "1.0"
---

# Walmart Scraper. Products, Sellers, Reviews as Structured JSON

A Walmart scraper with four modes: keyword search, product lookup, reviews, and the full seller list for any listing, all as JSON rows.

## When to use this skill

- The user wants a "walmart scraper" or asks about "walmart scraping" from code.
- They want product search results with prices, ratings, and seller names as data.
- They need a UPC or manufacturer number for a listing (product mode returns both).
- They want every seller on a listing with price, stock, delivery date, and return policy.

Not for: scheduled price monitoring (use the companion apify-walmart-price-tracking skill), cross-retailer comparison (Google Shopping API), or placing orders; this reads data only.

## What you get

One dataset row per product, review, or seller offer. `resultType` tells them apart.

- Search rows: `position`, `title`, `price`, `wasPrice`, `rating`, `reviewCount`, `sellerName`, `sponsored`, `productId`, `usItemId`, `url`, `thumbnail`
- Product rows add: `upc`, `manufacturerNumber`, `categories`, `variantCount`, `ratingBreakdown`, `availabilityStatus`
- Seller rows: `sellerDisplayName`, `sellerType`, `price`, `availabilityStatus`, `deliveryDate`, `deliveryPrice`, `returnPolicy`, `sellerStoreUrl`
- Review rows: `title`, `text`, `rating`, `reviewDate`, `authorName`, `customerType`, `positiveFeedback`, `negativeFeedback`

## Prerequisites

- Apify account (sign up at https://apify.com?fpr=9n7kx3&fp_sid=skillrepo).
- Authentication via `apify login`, or an `APIFY_TOKEN` environment variable (Apify Console, Settings, Integrations).

## The Actor

- Store page: https://apify.com/johnvc/walmart-api?fpr=9n7kx3&fp_sid=skillrepo
- Actor ID: `johnvc/walmart-api`
- Pricing: pay per event; see the cost section below and `references/gotchas.md` for live-price commands.

## Run it with the Apify CLI

Keyword search (100 products):

```bash
apify actors call "johnvc/walmart-api" -i '{"search_mode":"search","query":"laptop","max_results":100}' \
  --json \
  --user-agent apify-awesome-skills/apify-walmart-scraper \
  2>/dev/null
```

Every seller on one listing (store-scoped):

```bash
apify actors call "johnvc/walmart-api" -i '{"search_mode":"sellers","item_id":"34X621REEQZQ","store_id":"1932"}' \
  --json \
  --user-agent apify-awesome-skills/apify-walmart-scraper \
  2>/dev/null
```

Confirm live pricing and the input schema before a large batch:

```bash
apify actors info "johnvc/walmart-api" --json \
  --user-agent apify-awesome-skills/apify-walmart-scraper \
  2>/dev/null
```

Every call carries the three flags this repo expects: `--json`, `--user-agent apify-awesome-skills/apify-walmart-scraper`, and `2>/dev/null`.

## Run it from Claude or another AI agent (MCP)

The Actor is MCP-ready. Add the hosted server URL:

`https://mcp.apify.com/?tools=actors,docs,johnvc/walmart-api`

Then ask, for example: "Search Walmart for wireless earbuds and list the 10 cheapest non-sponsored results with seller names." MCP setup docs: https://docs.apify.com/platform/integrations/mcp

## Workflow

1. Start in `search` mode; rows carry both `productId` and `usItemId` for the other modes.
2. Use `product` mode with `item_id` when the user needs UPC, variants, or the category path.
3. Use `sellers` mode with the numeric `usItemId` (plus `store_id` for store-scoped pricing) to enumerate offers.
4. Use `reviews` mode with the numeric id for review text; cap with `max_results`.
5. Filter `sponsored` rows out of search results for clean organic data.

## Inputs

- `search_mode` (enum `search`, `product`, `reviews`, `sellers`, required, default `search`)
- `query` (string): keyword for search mode, for example "laptop"
- `item_id` (string): Walmart item id for `product`, `reviews`, and `sellers` modes; search rows return both `productId` and `usItemId`
- `store_id` (string): physical store id for store-scoped pricing in `sellers` mode, for example `1932`
- `max_results` (integer, default 100): the cost driver in search and reviews modes

## Cost

Billing is pay per event, plus a negligible platform fee per dataset row. Prices below are the BRONZE tier at the time of writing; confirm live prices with the info command above.

- Search and review rows: about $0.00075 each. A 100-row search is about $0.075.
- Product detail and seller offers: about $0.015 per lookup or offer row.

Suggested confirmation thresholds: warn the user over about $5; get explicit confirmation over about $20. Present cost as "around $X", never a guarantee.

## Honest limits

- `sellers` and `reviews` modes want the numeric `usItemId`; alphanumeric `productId` values that work in product mode can return zero rows there.
- `wasPrice` fills only when a strike-through price is shown.
- Availability and delivery shift with `store_id`; without it you get the default fulfillment view.

## Troubleshooting

- Zero seller rows: you passed the alphanumeric id; re-run search and use the numeric `usItemId`.
- Prices differ from the site: check `store_id` scoping and sponsored placement.
- One `errorMessage` row: dead item id or upstream failure, stated plainly; you are not charged for it.

See `references/gotchas.md` for cost guardrails and error recovery, and `references/actor-index.md` for the Actor routing table.

## Related Actors

- Google Shopping API: https://apify.com/johnvc/google-shopping-api?fpr=9n7kx3&fp_sid=skillrepo
- Google Local API: https://apify.com/johnvc/google-local-api?fpr=9n7kx3&fp_sid=skillrepo
