# Walmart Marketplace & Seller Offers Scraper (`sian.agency/walmart-marketplace-scraper`) Actor

Scrape Walmart search, categories, product details, ALL marketplace seller offers, and reviews. No API key needed.

- **URL**: https://apify.com/sian.agency/walmart-marketplace-scraper.md
- **Developed by:** [SIÁN OÜ](https://apify.com/sian.agency) (community)
- **Categories:** E-commerce, Business, Marketing
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.20 / 1,000 search result rows

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/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 Marketplace & Seller Offers Scraper

Turn any Walmart search, category or product into a clean dataset — including **every marketplace seller behind a product**, which no other Walmart scraper gives you.

No account, no API key, no proxy setup. Pick an operation, press Start, get rows.

***

### What you can pull

| Operation | What you get | Typical volume |
|---|---|---|
| 🔍 **Product Search** | Products for any keyword — price, rating, seller, shipping, badges, variants | ~41 per page |
| 🗂️ **Products by Category** | The same rich rows for a whole Walmart category | ~40 per page |
| 📦 **Product Details** | Full product page — specs, UPC, model, image gallery, warranty, long description, rating breakdown | 1 per product |
| 🏪 **Seller Offers** | **Every seller offering that product**, each with price, condition, shipping, delivery date, returns and storefront | up to 25+ per product |
| ⭐ **Product Reviews** | Paginated reviews with rating, author, date, verified-purchase flag — plus Walmart's own aspect sentiment | ~10 per page |

***

### The thing you can't get anywhere else

Most Walmart tools return the **buy-box** seller and stop. That's one price out of many.

**Seller Offers** returns the whole list. For a single coffee maker that's 25 different sellers, each with their own price, shipping promise, condition and return policy. That's the difference between "this product costs $179.99" and "this product costs between $179.99 and $284.00 depending on who you buy from, and here's who's cheapest today."

Useful for:

- **Buy-box tracking** — who owns it, at what price, and who's about to undercut them
- **Reseller monitoring** — find every storefront carrying your SKU
- **MAP enforcement** — spot sellers breaking minimum advertised price
- **Competitive pricing** — the whole price spread across sellers, rather than the headline price alone

Reviews carry a second bonus: Walmart's **aspect sentiment** — pre-computed themes like "Value For Money", "Battery Life", "Ease Of Use" with how many reviewers mentioned each. Ready-made voice-of-customer analysis with no NLP on your side.

***

### Quick start

**Find every seller for a product**

```json
{ "operation": "productOffers", "productId": "13368266581" }
```

**Search a keyword**

```json
{ "operation": "search", "query": "coffee maker", "maxPages": 3 }
```

**Enrich a list of products**

```json
{ "operation": "productDetails", "productIds": ["13368266581", "609040889"] }
```

**Pull reviews with sentiment**

```json
{ "operation": "productReviews", "productId": "609040889", "reviewPages": 5 }
```

> **Where do I find a Product ID?** It's the number at the end of a Walmart product URL.
> In `walmart.com/ip/Keurig-K-Duo/13368266581` the id is `13368266581`.

***

### Bulk mode saves you money

Every input accepts a list — `queries`, `categoryIds`, `productIds` — up to 500 items.

One run with 100 product IDs costs **one** start fee. A hundred separate runs cost a hundred. Same data, a fraction of the bill.

***

### Output

One flat row per result, ready for a spreadsheet or a database. Product rows carry identity (`usItemId`, `brand`, `model`, `upc`), pricing (`price`, `listPrice`, `savingsAmount`), ratings, seller, fulfilment, returns and media. Offer rows carry the seller, their price, condition, shipping and return terms. Review rows carry the text, rating, author, date and verified-purchase flag.

Every row is stamped with `_operation` and `_fetchedAt` so merged datasets stay auditable.

***

### Pricing

Pay per result. You are charged for rows actually delivered — **failed lookups cost nothing**.

There's a small per-run start fee, so batching many items into one run is always cheaper than many single-item runs.

***

### Notes

- **One operation per run.** Pick the operation, give it its inputs, get one clean dataset.
- **Free plan** runs are capped at 25 rows so you can try it before paying.
- Prices and availability are US Walmart. Set a **Store ID** to localise price and pickup.
- **Built-in failover.** If a lookup can't be completed the normal way, the Actor automatically
  retries it through a licensed backup data source rather than handing you an empty row. Rows that
  came from it are flagged with `_backup` so you always know where a row came from. You are never
  charged twice for the same row, and the price is the same either way.

***

### Support

Something missing or wrong? Open an issue on the actor's Issues tab — reports get fixed fast.

⭐ If this saves you time, a [5-star review](https://apify.com/sian.agency/walmart-marketplace-scraper/reviews) genuinely helps.

**More by SIÁN Agency**

- [Walmart Product & Reviews Scraper](https://apify.com/sian.agency/walmart-data-scraper?fpr=sian) — API-backed Walmart data
- [Amazon Product Scraper](https://apify.com/sian.agency/amazon-product-scraper?fpr=sian) — Amazon catalog, pricing and offers
- [Best Buy Product Scraper](https://apify.com/sian.agency/best-buy-product-scraper?fpr=sian) — Best Buy catalog and pricing
- [Browse all SIÁN actors →](https://apify.com/sian.agency?fpr=sian)

***

*This Actor is not affiliated with, endorsed by, or sponsored by Walmart Inc. "Walmart" is a trademark of Walmart Apollo, LLC. This tool accesses publicly available information only and is intended for lawful purposes such as price comparison, market research and competitive analysis. You are responsible for ensuring your use complies with applicable laws and terms of service.*

# Actor input Schema

## `operation` (type: `string`):

🔧 **Pick ONE operation per run.**

• **Product Search** — keyword search, ~41 products per page
• **Products by Category** — browse a Walmart category
• **Product Details** — full PDP: specs, UPC, model, image gallery, warranty
• **Seller Offers** — EVERY marketplace seller for an item, with price, shipping and returns
• **Product Reviews** — paginated reviews incl. Walmart's aspect-sentiment layer

## `query` (type: `string`):

🔍 **For the Product Search operation.** A single keyword or phrase, exactly as you would type it into Walmart's search box.

💡 **TIP:** Use *Search Terms* below to run several keywords in one go — you pay one start fee instead of one per keyword.

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

🔍 **Bulk search.** One keyword per line, up to 500. Overrides the single Search Term above.

💰 **Cheaper:** one run = one start fee, no matter how many keywords.

## `categoryId` (type: `string`):

🗂️ **For the Products by Category operation.** Walmart's category id, e.g. `4044_623679_8140341`.

💡 **How to find it:** open a Walmart category page — the id is the underscore-separated number in the URL, e.g. `walmart.com/browse/4044_623679_8140341`.

## `categoryIds` (type: `array`):

🗂️ **Bulk category browse.** One category id per line, up to 500. Overrides the single Category ID above.

## `browsePath` (type: `string`):

🗂️ **Alternative to Category ID.** The path segment from a Walmart browse URL, e.g. `home/coffee-makers/4044_623679_8140341_5586`.

## `productId` (type: `string`):

📦 **For Product Details, Seller Offers and Product Reviews.** Walmart's item id — the number at the end of a product URL.

💡 **Example:** in `walmart.com/ip/Keurig-K-Duo/13368266581` the id is `13368266581`.

## `productIds` (type: `array`):

📦 **Bulk product lookup.** One Walmart item id per line, up to 500. Overrides the single Product ID above.

💰 **Cheaper:** one run = one start fee, no matter how many products.

## `allConditions` (type: `boolean`):

🏪 **Seller Offers only.** By default only *New* offers are returned, matching what Walmart shows by default. Enable this to also pull used, refurbished and open-box offers.

## `reviewPages` (type: `integer`):

⭐ **Product Reviews only.** How many pages of reviews to fetch per product (~10 reviews per page).

## `reviewSort` (type: `string`):

⭐ **Product Reviews only.** How Walmart should order the reviews.

## `maxPages` (type: `integer`):

📄 **Search and Category only.** How many result pages to fetch per keyword/category (~41 products per page). Walmart caps most result sets around 13–25 pages.

## `maxResults` (type: `integer`):

🎯 **Hard cap on rows.** The run stops once this many rows have been delivered. Leave empty for no cap.

💰 You are only charged for rows actually returned.

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

↕️ **Search and Category only.** How Walmart should order the results.

## `minPrice` (type: `integer`):

💵 **Search and Category only.** Only return products at or above this price.

## `maxPrice` (type: `integer`):

💵 **Search and Category only.** Only return products at or below this price.

## `storeId` (type: `string`):

📍 **Optional.** A Walmart store id to localise price and pickup availability. Leave empty for national pricing.

## Actor input object example

```json
{
  "operation": "search",
  "query": "coffee maker",
  "queries": [],
  "categoryId": "4044_623679_8140341",
  "categoryIds": [],
  "browsePath": "",
  "productId": "13368266581",
  "productIds": [],
  "allConditions": false,
  "reviewPages": 1,
  "reviewSort": "relevancy",
  "maxPages": 2,
  "sort": "best_match",
  "storeId": ""
}
```

# 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 = {
    "operation": "search",
    "query": "coffee maker",
    "categoryId": "4044_623679_8140341",
    "productId": "13368266581",
    "reviewPages": 1,
    "maxPages": 2
};

// Run the Actor and wait for it to finish
const run = await client.actor("sian.agency/walmart-marketplace-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 = {
    "operation": "search",
    "query": "coffee maker",
    "categoryId": "4044_623679_8140341",
    "productId": "13368266581",
    "reviewPages": 1,
    "maxPages": 2,
}

# Run the Actor and wait for it to finish
run = client.actor("sian.agency/walmart-marketplace-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 '{
  "operation": "search",
  "query": "coffee maker",
  "categoryId": "4044_623679_8140341",
  "productId": "13368266581",
  "reviewPages": 1,
  "maxPages": 2
}' |
apify call sian.agency/walmart-marketplace-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,sian.agency/walmart-marketplace-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/HGfhIKP8bBVuEXMGr/builds/eyc7tdVfomCp5i4Ne/openapi.json
