# Walmart Sellers Scraper (`automation-lab/walmart-seller-scraper`) Actor

Extract public Walmart marketplace seller profiles, contact details, ratings, account status, branding, and featured catalog products.

- **URL**: https://apify.com/automation-lab/walmart-seller-scraper.md
- **Developed by:** [Stas Persiianenko](https://apify.com/automation-lab) (community)
- **Categories:** E-commerce
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per event

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 Sellers Scraper

Extract public Walmart marketplace seller profiles, contact details, ratings, account status, branding, and featured catalog products.

Walmart Sellers Scraper turns Walmart seller IDs, seller profile URLs, and marketplace product URLs into one structured business record per marketplace merchant. Use it for due diligence, marketplace intelligence, catalog sampling, and scheduled profile monitoring.

### What does Walmart Sellers Scraper do?

The Actor reads public seller information embedded in Walmart pages and saves normalized records to the default Apify dataset.

It can:

- extract a business directly from a Walmart profile URL;
- accept numeric Walmart catalog IDs in bulk;
- discover the merchant behind a Walmart marketplace product URL;
- deduplicate the same business found through several inputs;
- return public business identity, contact, and address fields;
- capture rating totals and current account status;
- include seller logo and banner URLs;
- include a bounded sample of featured catalog products;
- run on a schedule for recurring seller intelligence.

The Actor does not scrape private Seller Center accounts, orders, customer data, or authenticated reports.

### Who is it for?

#### Marketplace intelligence teams

Build a structured directory of businesses on Walmart and compare their public ratings, status, branding, and catalog samples.

#### Brands and manufacturers

Investigate which marketplace seller is attached to a product listing before reviewing distribution, channel, or partnership questions.

#### Trust and risk analysts

Check public account status, seller rating volume, contact fields, and address visibility as inputs to a broader due-diligence workflow.

#### Ecommerce data teams

Send seller records to spreadsheets, data warehouses, BI tools, or change-detection pipelines through Apify integrations.

#### Developers and AI agents

Resolve product URLs to sellers and consume typed JSON through the Apify API or MCP.

### Why use this Actor?

- **Seller-first output:** one clean dataset row per unique seller rather than one row per product.
- **Product-to-seller discovery:** begin with a marketplace product when the seller ID is unknown.
- **Useful profile depth:** identity, public contact/address, ratings, status, branding, and featured products are returned together.
- **Bounded catalog payload:** choose from 0 to 40 featured products per seller.
- **Deduplication:** repeated IDs, seller URLs, and product URLs resolve to one seller row.
- **Low-overhead HTTP extraction:** no browser or paid proxy is used by the supported route.
- **Fail-closed validation:** challenge pages and unusable payloads produce a clear error instead of empty seller records.

### What Walmart seller data is extracted?

| Group | Fields |
| --- | --- |
| Identity | `catalogSellerId`, `sellerId`, `sellerName`, `sellerDisplayName`, `sellerType` |
| Profile | `sellerUrl`, `about`, `deactivationStatus`, `hasSellerBadge` |
| Contact | `email`, `phone`, `contactVisible` |
| Address | `address1`, `address2`, `city`, `state`, `postalCode`, `country`, `addressVisible` |
| Reputation | `averageRating`, `totalReviewCount`, `reviewsWithTextCount` |
| Branding | `logoUrl`, `bannerUrl` |
| Catalog sample | `featuredProductCount`, `featuredProducts` |
| Provenance | `sourceUrls`, `scrapedAt` |

A field is `null` when Walmart does not publish it for that seller. A zero review count means the public seller profile currently reports zero reviews; it is not converted to `null`.

Each featured product can include:

- Walmart item ID;
- title and brand;
- numeric and formatted price;
- rating and review count;
- availability status;
- image URL;
- canonical Walmart product URL.

Featured products are included inside the seller event and are not charged as separate dataset items.

### How to get started

1. Open the Actor in Apify Console.
2. Choose one input route: seller URLs, seller IDs, or product URLs.
3. Keep **Maximum sellers** small for the first test.
4. Choose how many featured products to include per seller.
5. Click **Start**.
6. Open the **Walmart sellers** dataset view.
7. Export the results as JSON, CSV, Excel, XML, or another supported format.
8. Add a schedule or integration if you need recurring monitoring.

### Input parameters

#### `sellerUrls`

An array of public Walmart seller profile URLs.

```json
{
  "sellerUrls": [
    { "url": "https://www.walmart.com/seller/101077617" }
  ]
}
```

URLs must use `walmart.com` and the `/seller/<numeric-id>` path.

#### `sellerIds`

An array of numeric Walmart catalog seller IDs.

```json
{
  "sellerIds": ["152", "101077617"]
}
```

This is convenient when IDs already exist in your product or marketplace dataset.

#### `productUrls`

An array of Walmart marketplace product URLs. The Actor reads the product's current catalog seller ID, then extracts that seller profile.

```json
{
  "productUrls": [
    { "url": "https://www.walmart.com/ip/16432270025" }
  ]
}
```

A product sold directly by Walmart or a page without a marketplace seller ID may not resolve to the third-party seller workflow you expect.

#### `maxItems`

Maximum unique seller records to save, from 1 to 1,000. The default is 10.

#### `maxProductsPerSeller`

Maximum featured products included in each seller row, from 0 to 40. The default is 10. Set it to 0 when only profile data is needed.

#### `maxRequestRetries`

Attempts per Walmart page, from 1 to 5. The default is 3. Retries are bounded and do not turn an invalid seller into an empty successful result.

At least one seller URL, seller ID, or product URL is required.

### Input examples

#### Find the seller behind a product

```json
{
  "productUrls": [
    { "url": "https://www.walmart.com/ip/16432270025" }
  ],
  "maxItems": 1,
  "maxProductsPerSeller": 6
}
```

#### Extract one seller without catalog products

```json
{
  "sellerUrls": [
    { "url": "https://www.walmart.com/seller/101077617" }
  ],
  "maxItems": 1,
  "maxProductsPerSeller": 0
}
```

#### Compare two sellers

```json
{
  "sellerIds": ["152", "101077617"],
  "maxItems": 2,
  "maxProductsPerSeller": 10
}
```

### Output example

A current seller record has this shape:

```json
{
  "catalogSellerId": "152",
  "sellerId": "66656029CC6541CBADDFA17547A98DE0",
  "sellerName": "VIPOUTLET",
  "sellerDisplayName": "Walmart",
  "sellerUrl": "https://www.walmart.com/seller/152",
  "sellerType": "EXTERNAL",
  "deactivationStatus": "ACTIVE",
  "hasSellerBadge": false,
  "about": "Walmart brings you open-box, refurbished and closeout finds...",
  "email": "wcr-357@channelreply.net",
  "phone": "8882781739",
  "address": {
    "address1": null,
    "address2": null,
    "city": "MIAMI",
    "state": "FL",
    "postalCode": "33180",
    "country": "US"
  },
  "contactVisible": true,
  "addressVisible": false,
  "averageRating": 3.973772583786688,
  "totalReviewCount": 29778,
  "reviewsWithTextCount": 6536,
  "logoUrl": "https://i5.walmartimages.com/asr/...png",
  "bannerUrl": "https://i5.walmartimages.com/asr/...jpeg",
  "featuredProductCount": 6,
  "featuredProducts": [
    {
      "usItemId": "16432270025",
      "name": "Open Box Vizio 40-inch Smart LED TV",
      "brand": "VIZIO",
      "price": 95.4,
      "priceString": "$95.40",
      "rating": 2.9,
      "reviewCount": 109,
      "availabilityStatus": "IN_STOCK",
      "imageUrl": "https://i5.walmartimages.com/asr/...jpeg",
      "url": "https://www.walmart.com/ip/Open-Box-VIZIO.../16432270025"
    }
  ],
  "sourceUrls": ["https://www.walmart.com/seller/152"],
  "scrapedAt": "2026-07-30T00:00:00.000Z"
}
```

Values can change whenever Walmart updates the public profile or catalog.

### How much does it cost to extract Walmart seller profiles?

This is a pay-per-event Actor:

- one **Start** event is charged once per run;
- one **Seller profile** event is charged for each accepted seller row;
- featured products inside a seller row have no separate event charge;
- failed, invalid, duplicate, or unsaved seller records are not charged as seller events.

The Start event is **$0.005 per run**. Seller profile prices decrease by Apify account tier:

| Tier | Price per saved seller |
| --- | ---: |
| FREE | $0.00368 |
| BRONZE | $0.0032 |
| SILVER | $0.002496 |
| GOLD | $0.00192 |
| PLATINUM | $0.00128 |
| DIAMOND | $0.000896 |

At the BRONZE tier, calculate a batch as the $0.005 Start event plus the number of saved profiles multiplied by $0.0032. These examples exclude any unrelated Apify account charges and assume one batched run.

Reduce cost by batching seller IDs in one run, deduplicating inputs, and setting `maxProductsPerSeller` to 0 when catalog samples are unnecessary.

### Recurring seller monitoring workflow

1. Store the Walmart catalog seller IDs important to your team.
2. Run the Actor daily, weekly, or monthly with an Apify schedule.
3. Send the default dataset to a database, Google Sheets, or webhook.
4. Compare `deactivationStatus`, ratings, review counts, contact fields, and featured products with the previous run.
5. Trigger internal review when a tracked field changes.

The Actor produces snapshots. It does not keep historical state or send change alerts by itself.

### Export and integration patterns

- Export one-off research as CSV or Excel from the dataset.
- Sync seller records to Google Sheets for analyst review.
- Send records to a webhook after every scheduled run.
- Load JSON records into BigQuery, Snowflake, PostgreSQL, or another warehouse.
- Join product-derived sellers with your own SKU or brand monitoring table.
- Use `catalogSellerId` as the stable source identifier for deduplication.

### Run with the Apify API

Replace `YOUR_APIFY_TOKEN` with your token.

#### cURL

```bash
curl -X POST \
  "https://api.apify.com/v2/acts/automation-lab~walmart-seller-scraper/runs?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "sellerIds": ["152", "101077617"],
    "maxItems": 2,
    "maxProductsPerSeller": 10
  }'
```

#### JavaScript

```javascript
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/walmart-seller-scraper').call({
    sellerIds: ['152', '101077617'],
    maxItems: 2,
    maxProductsPerSeller: 10,
});

const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
```

#### Python

```python
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ['APIFY_TOKEN'])
run = client.actor('automation-lab/walmart-seller-scraper').call(run_input={
    'sellerIds': ['152', '101077617'],
    'maxItems': 2,
    'maxProductsPerSeller': 10,
})

items = client.dataset(run['defaultDatasetId']).list_items().items
print(items)
```

### Use with MCP and AI agents

Add the Actor to Claude Code through Apify MCP:

```bash
claude mcp add --transport http apify \
  "https://mcp.apify.com?tools=automation-lab/walmart-seller-scraper"
```

#### Claude Desktop, Cursor, and VS Code setup

Desktop and editor clients such as Claude Desktop, Cursor, and VS Code can use this JSON configuration:

```json
{
  "mcpServers": {
    "apify": {
      "url": "https://mcp.apify.com?tools=automation-lab/walmart-seller-scraper"
    }
  }
}
```

Example prompts:

- "Use Walmart Sellers Scraper to identify the seller behind this Walmart product URL."
- "Extract these Walmart seller IDs and compare rating, status, and public contact fields."
- "Return the featured catalog sample for seller 152 as structured JSON."

### Reliability and failure behavior

Walmart can change its public page structure or return a bot challenge. The Actor validates the structured payload rather than treating any HTTP response as useful data.

A run fails clearly when:

- no supported input is provided;
- a seller ID is not numeric;
- a URL is not on `walmart.com`;
- a seller URL has an unsupported path;
- a product does not expose a marketplace catalog seller ID;
- Walmart returns challenges or unusable pages for every retry;
- the seller payload lacks a usable ID or name.

A valid seller page can occasionally carry an HTTP 404 status while still embedding a complete public seller profile. The Actor checks the data shape before deciding whether the profile is valid.

### Limits and responsible expectations

- Results reflect Walmart's public page at scrape time.
- Contact and address fields may be hidden or absent by seller choice or Walmart policy.
- Featured products are a bounded storefront sample, not a claim of complete seller inventory.
- The maximum output is 1,000 unique sellers per run.
- The maximum featured sample is 40 products per seller.
- Input URLs are deduplicated by catalog seller ID.
- This Actor does not bypass login, retrieve private seller data, or access Seller Center.
- Walmart may alter fields, page structure, rate limits, or challenge behavior.

### Troubleshooting

#### The run says a product has no marketplace seller ID

Confirm that the URL opens a product currently offered by a marketplace seller. A first-party product or stale product URL may not expose the expected third-party catalog seller ID.

#### The run receives a bot challenge

Retry later with a small input and inspect the run log. The Actor intentionally fails rather than returning empty data when Walmart challenges every bounded direct request.

#### A seller has no address or email

Check `addressVisible` and `contactVisible`. Walmart or the seller may exempt those public fields. Missing fields are returned as `null`, not guessed.

#### The featured product count is lower than requested

The profile may expose fewer featured products than your configured maximum. The Actor returns the available bounded sample and does not fabricate pagination or complete-catalog coverage.

#### The dataset has fewer rows than input values

Repeated IDs, seller URLs, and product URLs are deduplicated to one row per catalog seller ID. `maxItems` can also stop output before all unique inputs are processed.

### Legal and responsible use

Use the Actor only for lawful purposes and public data you are authorized to collect. Review Walmart's terms, applicable privacy rules, database rights, and your organization's policies before running large or recurring jobs.

Public contact data can still be personal data. Apply data minimization, purpose limitation, access controls, retention limits, and deletion processes where required. Do not use the output for spam, harassment, discrimination, or decisions that require regulated due process.

This Actor is an independent data-extraction tool and is not affiliated with, endorsed by, or sponsored by Walmart.

### Related Automation Lab Actors

- [Walmart Scraper](https://apify.com/automation-lab/walmart-scraper) — collect product search cards, prices, sellers, ratings, brands, and deal signals.
- [Walmart Reviews Scraper](https://apify.com/automation-lab/walmart-reviews-scraper) — extract individual Walmart product reviews and rating details.

Use Walmart Scraper when the primary entity is a product search result. Use this Actor when the primary entity is the marketplace seller profile.

### FAQ

#### Does it scrape all Walmart sellers?

No. Provide seller IDs, seller URLs, or product URLs. The Actor extracts the sellers identified by those inputs and does not claim a global Walmart seller directory.

#### Can it find a seller from a product URL?

Yes, when the public product page exposes a marketplace catalog seller ID. The Actor resolves that ID and then fetches the corresponding seller profile.

#### Does it return a seller's complete catalog?

No. It returns up to 40 products featured on the public seller profile. Treat this as a catalog sample.

#### Are email and phone always available?

No. They are returned only when published by Walmart for the seller. Missing values remain `null`.

#### Can I schedule it?

Yes. Use Apify schedules for recurring snapshots, then compare datasets in your own storage or workflow.

#### Does it use a browser?

No. The normal route is HTTP-only. This reduces memory and runtime overhead.

#### Are product samples charged separately?

No. Pricing consists of the one-time Start event and one Seller profile event per saved seller record. Featured products are nested in that seller record.

# Actor input Schema

## `sellerUrls` (type: `array`):

Public Walmart seller profile pages such as https://www.walmart.com/seller/152.

## `sellerIds` (type: `array`):

Numeric catalog seller IDs. Use this for bulk seller intelligence when you already have Walmart seller IDs.

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

Marketplace product pages. The Actor discovers each product's seller and returns the seller profile.

## `maxItems` (type: `integer`):

Maximum number of unique seller profile records to save.

## `maxProductsPerSeller` (type: `integer`):

Maximum featured catalog products included inside each seller record. Set to 0 to omit products.

## `maxRequestRetries` (type: `integer`):

Maximum attempts per Walmart page for temporary errors or challenge responses.

## Actor input object example

```json
{
  "sellerUrls": [
    {
      "url": "https://www.walmart.com/seller/152"
    }
  ],
  "sellerIds": [],
  "productUrls": [],
  "maxItems": 10,
  "maxProductsPerSeller": 10,
  "maxRequestRetries": 3
}
```

# Actor output Schema

## `overview` (type: `string`):

API link to seller identity, contact, rating, branding, and featured catalog records in the default dataset.

# 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 = {
    "sellerUrls": [
        {
            "url": "https://www.walmart.com/seller/152"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("automation-lab/walmart-seller-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 = { "sellerUrls": [{ "url": "https://www.walmart.com/seller/152" }] }

# Run the Actor and wait for it to finish
run = client.actor("automation-lab/walmart-seller-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "sellerUrls": [
    {
      "url": "https://www.walmart.com/seller/152"
    }
  ]
}' |
apify call automation-lab/walmart-seller-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=automation-lab/walmart-seller-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/9e0TGhUGCJtFd7D09/builds/JwcbAiHuLVd0DDSSe/openapi.json
