# Walmart Scraper (`parseforge/walmart-scraper`) Actor

Scrape Walmart.com products from search, category or product URLs: price, was price, rating, seller, UPC, specs, variants and images. Export to CSV, Excel, JSON or XML.

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

## Pricing

from $1.50 / 1,000 product scrapeds

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

![ParseForge Banner](https://github.com/ParseForge/apify-assets/blob/ad35ccc13ddd068b9d6cba33f323962e39aed5b2/banner.jpg?raw=true)

## 🛒 Walmart Scraper

> 🚀 **Export Walmart.com products in seconds.** Type a keyword or paste a Walmart URL and get 37 fields per product back, including the UPC, the model number, the was price and savings, the 1 to 5 star review breakdown, whether the seller is Walmart or a marketplace merchant, and whether the tile was a paid placement.

Walmart renders one of the richest product pages in retail and lets you export none of it. This Actor reads the same product data Walmart's own front end renders and returns each product as one flat row: current price, was price and savings, unit price, rating and review count with the full star breakdown, seller name and seller type, availability per fulfillment channel, category breadcrumb, UPC, model, description, specifications, variant options, every image and the return policy. No login, no API key, no cookie to paste, and no proxy needed by default.

Every run returns **37 fields per product**. A search term pages through up to **10 pages of about 45 products**, a category or deals URL pages up to **25**, and a product URL returns one enriched row. In the verification runs, 5 fully detailed products landed in **5 seconds** and 100 in **37 seconds**, and a keyword like "wireless earbuds" reports **22,909 matching products** to draw from.

| 🎯 Target Audience | 💡 Primary Use Cases |
|---|---|
| Pricing and category analysts | Track Walmart shelf prices, was prices and savings depth by keyword or category over time. |
| Brands and marketplace sellers | Monitor your own listings and competitors: buy box seller, seller type, sponsored placement and rating trend. |
| Ecommerce and catalogue teams | Build product feeds with UPC, model, images, specifications and variant options ready to match against your own SKUs. |
| Market researchers | Measure assortment, price ladders and marketplace share across Walmart categories. |
| Ad and search teams | See which products hold sponsored slots for a keyword and how their price and rating compare to organic results. |

### 📋 What the Walmart Scraper does

It turns any Walmart search, category, deals or product URL into a clean table. Give it keywords, paste URLs copied from your browser, or mix both, choose the sort order and an optional price band, and it returns every product with its commercial data, its identity data and its catalogue data in a single row.

> 💡 **Why it matters:** a Walmart search result is not a neutral list. About a quarter of the tiles are paid placements, and a growing share of listings come from marketplace merchants rather than Walmart itself. This Actor returns `sponsored` and `sellerType` on every row, so you can separate organic from paid and first party from third party before you compare prices. Add `wasPrice`, `savings` and the `reviewBreakdown` counts and you have the context behind the number, not just the number.

It also returns the identifiers that make Walmart data joinable: the `upc`, the `model` number, Walmart's `itemId` and `productId`, and the full `categoryPath` breadcrumb. Matching Walmart listings to your own catalogue or to Amazon and Target data stops being a fuzzy title match.

### 🎬 Full Demo (🚧 Coming soon)

### 📊 Output

One row per product. The same field names come back whether the row came from a search, a category page or a product URL, so runs join cleanly.

| Field | What it holds |
|---|---|
| 🖼 `imageUrl` | Main product image |
| 🏷 `name` | Product title |
| 🔗 `url` | Canonical product page URL |
| 🆔 `itemId` | Walmart item ID, the number in the product URL |
| 🧬 `productId` | Walmart's internal product ID |
| 🏭 `brand` | Brand name |
| 💰 `price` | Current price as a number |
| 📉 `wasPrice` | Price before the current offer |
| 🎟 `savings` | Walmart's own savings wording, for example SAVE $9.50 |
| ⚖️ `unitPrice` | Price per unit, for example 7.4 ¢/fl oz |
| ↔️ `priceRange` | Price span across variants, when Walmart shows one |
| 💱 `currency` | Always USD |
| 📦 `availability` | In stock, Out of stock, and so on |
| ⭐ `rating` | Average rating out of 5 |
| 🗣 `reviewCount` | Number of reviews |
| 🏪 `seller` | Seller name |
| 🏬 `sellerType` | Walmart or Marketplace |
| 📣 `sponsored` | Yes when the tile was a paid placement |
| 🚚 `fulfillment` | Shipping, pickup and delivery status |
| 📂 `category` / `categoryPath` | Leaf category and full breadcrumb |
| 🔢 `upc` | UPC barcode |
| 🔧 `model` | Manufacturer model number |
| 📝 `shortDescription` / `description` | Marketing summary and full description as plain text |
| 📋 `specifications` | Name and value pairs from the specifications panel |
| 🎨 `variantOptions` | Each option group with its values, for example Actual Color |
| 🔀 `variantCount` | Number of sellable variants |
| 🖼 `images` | Every product image URL |
| 📊 `reviewBreakdown` | Review counts for 5, 4, 3, 2 and 1 stars |
| 👍 `recommendedPercent` | Share of reviewers who recommend the product |
| ↩️ `returnPolicy` | Walmart's return wording, for example Free 30-day returns |
| 🥫 `snapEligible` | Yes when the item is SNAP EBT eligible |
| 🏅 `badges` | Walmart's benefit badges |
| 🔎 `source` | The search term or URL that produced the row |
| 🕒 `scrapedAt` | ISO timestamp |
| ❌ `error` | Null on data rows, a message on error rows |

With **Include Product Details** switched off, the Actor returns the listing tile only, so `upc`, `model`, `description`, `specifications`, `images`, `reviewBreakdown`, `recommendedPercent`, `returnPolicy` and the category fields read `N/A`. Values Walmart can genuinely withhold, such as `wasPrice` on a product with no offer, read `Not Disclosed`. There are no permanently empty columns.

Three real rows from the verification run, trimmed for length:

```json
{
  "imageUrl": "https://i5.walmartimages.com/seo/JLab-Go-Air-Pop-True-Wireless-Earbuds-w-Charging-Case-Slate_a3f193ef-c365-4844-910e-d56173eee404.72abb5317dd3fca9463b66e18523c443.jpeg",
  "name": "JLab Go Air Pop Bluetooth Earbuds, True Wireless with Charging Case",
  "url": "https://www.walmart.com/ip/JLab-Go-Air-Pop-True-Wireless-Earbuds-w-Charging-Case-Slate/799981023",
  "itemId": "799981023",
  "productId": "6G70M1ZGW80Y",
  "brand": "JLab",
  "price": 19.88,
  "wasPrice": 29.38,
  "savings": "SAVE $9.50",
  "unitPrice": "Not Disclosed",
  "priceRange": "Options from $15.00",
  "currency": "USD",
  "availability": "In stock",
  "rating": 4.5,
  "reviewCount": 41191,
  "seller": "Walmart.com",
  "sellerType": "Walmart",
  "sponsored": "Yes",
  "fulfillment": "SHIPPING: in stock, PICKUP: in stock, DELIVERY: in stock",
  "category": "View in 3D",
  "categoryPath": "Services > Immersive Shopping Suite > View in 3D",
  "upc": "812887017213",
  "model": "EBGAIRPOPRSLT124",
  "shortDescription": "GO Air POP are perfectly pocket-sized with a powerful punch. With 32+ hours of total playtime and our smallest earbuds ever...",
  "description": "LONG BATTERY LIFE\n• 32+ hours of total play time\n• 8+ hours of playtime in each earbud\n• 24+ hours of extra playtime from the charging case...",
  "specifications": [
    { "name": "Battery life", "value": "35 h" },
    { "name": "Ip code", "value": "IPX4" },
    { "name": "Works with", "value": "iPhone, Google Pixel, Samsung Galaxy, Samsung Note, iPad, iPod, Mac, PC, Chromebook" }
  ],
  "variantOptions": [
    { "name": "Actual Color", "values": ["Black", "Blue", "Dark Pink", "Light Blue", "Light Pink", "Lilac", "Mauve", "Mint", "Purple", "Rose", "Slate", "Teal", "White"] }
  ],
  "variantCount": 13,
  "images": [
    "https://i5.walmartimages.com/seo/JLab-Go-Air-Pop-True-Wireless-Earbuds-w-Charging-Case-Slate_a3f193ef-c365-4844-910e-d56173eee404.72abb5317dd3fca9463b66e18523c443.jpeg",
    "https://i5.walmartimages.com/asr/484629b8-66d8-4c45-b122-16f6c0f47ce9.dce6620062d73699df85ff5e45aab3db.jpeg"
  ],
  "reviewBreakdown": { "1": 2657, "2": 1047, "3": 1860, "4": 4818, "5": 30809 },
  "recommendedPercent": 53,
  "returnPolicy": "Free 30-day returns",
  "snapEligible": "No",
  "badges": [],
  "source": "wireless earbuds",
  "scrapedAt": "2026-09-01T22:08:07.027Z",
  "error": null
}
```

```json
{
  "imageUrl": "https://i5.walmartimages.com/seo/Wireless-Earbuds-2026-Bluetooth-5-4-Headphones-Ear-3D-Stereo-Deep-Bass-Bluetooth-Earphones-4-ENC-Noise-Cancelling-Mic-40H-Playtime-LED-Display-IP7-Wa_e1e4a8e3-7209-438f-bb13-d2a61e11f3ac.4155ab0493f305446091237ab9f4c707.jpeg",
  "name": "Wireless Earbuds, Bluetooth Ear Buds 5.4 Mini Hifi Stereo with 4 Enc Noise Cancelling Mics Wireless Headphones, 40H in Ear Earphones, Usb C, IP7 Waterproof Bluetooth Headphones for Sports, Workout",
  "url": "https://www.walmart.com/ip/Wireless-Earbuds-2026-Bluetooth-5-4-Headphones-Ear-3D-Stereo-Deep-Bass-Bluetooth-Earphones-4-ENC-Noise-Cancelling-Mic-40H-Playtime-LED-Display-IP7-Wa/19628271754",
  "itemId": "19628271754",
  "productId": "38ON03ROF96C",
  "brand": "Cillso",
  "price": 17.99,
  "wasPrice": 159.99,
  "savings": "SAVE $142.00",
  "unitPrice": "Not Disclosed",
  "priceRange": "Options from $17.99 – $159.99",
  "currency": "USD",
  "availability": "In stock",
  "rating": 4.4,
  "reviewCount": 829,
  "seller": "Cillso Store",
  "sellerType": "Marketplace",
  "sponsored": "Yes",
  "fulfillment": "SHIPPING: in stock, PICKUP: out of stock, DELIVERY: not available",
  "category": "Earbuds and In-Ear Headphones",
  "categoryPath": "Electronics > Audio > Headphones > Shop Headphones by Type > Earbuds and In-Ear Headphones",
  "upc": "762851766596",
  "model": "H97",
  "shortDescription": "H97 Wireless Earbuds, Bluetooth 5.4 Mini Hi-Fi Stereo. After the initial connection, simply remove both earbuds from the charging case...",
  "description": "• 2026 New Bluetooth 5.4 Technology and One-Step Pairing: H97 wireless earbuds utilize the latest Bluetooth 5.4 technology...",
  "specifications": [
    { "name": "Headphone type", "value": "Earbuds" },
    { "name": "Headphone style", "value": "In-Ear" },
    { "name": "Features", "value": "Built-in Microphone, Inner Ear" }
  ],
  "variantOptions": [
    { "name": "Actual Color", "values": ["Black", "Blue", "Rose Gold", "White"] }
  ],
  "variantCount": 4,
  "images": [
    "https://i5.walmartimages.com/seo/Wireless-Earbuds-2026-Bluetooth-5-4-Headphones-Ear-3D-Stereo-Deep-Bass-Bluetooth-Earphones-4-ENC-Noise-Cancelling-Mic-40H-Playtime-LED-Display-IP7-Wa_e1e4a8e3-7209-438f-bb13-d2a61e11f3ac.4155ab0493f305446091237ab9f4c707.jpeg",
    "https://i5.walmartimages.com/asr/00d3eb40-7ea6-413a-aa1e-428b849ac5e8.14bc14a145226b510c0da63fb52c98b7.jpeg"
  ],
  "reviewBreakdown": { "1": 77, "2": 27, "3": 25, "4": 48, "5": 652 },
  "recommendedPercent": 87,
  "returnPolicy": "Free 30-day returns",
  "snapEligible": "No",
  "badges": [],
  "source": "wireless earbuds",
  "scrapedAt": "2026-09-01T22:08:06.489Z",
  "error": null
}
```

```json
{
  "imageUrl": "https://i5.walmartimages.com/seo/AOC-Wireless-Earbuds-Smart-LED-Display-Hybrid-Active-Noise-Cancelling-Bluetooth-Headphones-4-Mic-Clear-Calls-45H-Playtime-10mm-Driver-Deep-Bass-Dual_3744b58e-b18f-44b6-bdaa-8b28398a7d8c.34c31891705ab90abb7e0ef0b78cc0a5.jpeg",
  "name": "AOC Wireless Earbuds, Bluetooth Earbuds with Noise Cancelling",
  "url": "https://www.walmart.com/ip/AOC-Wireless-Earbuds-Smart-LED-Display-Hybrid-Active-Noise-Cancelling-Bluetooth-Headphones-4-Mic-Clear-Calls-45H-Playtime-10mm-Driver-Deep-Bass-Dual/20023573552",
  "itemId": "20023573552",
  "productId": "7HL5E1EQR753",
  "brand": "UDH",
  "price": 18.99,
  "wasPrice": 35.99,
  "savings": "SAVE $17.00",
  "unitPrice": "Not Disclosed",
  "priceRange": "N/A",
  "currency": "USD",
  "availability": "In stock",
  "rating": 4.4,
  "reviewCount": 1918,
  "seller": "Best UDH",
  "sellerType": "Marketplace",
  "sponsored": "Yes",
  "fulfillment": "SHIPPING: in stock, PICKUP: not available, DELIVERY: not available",
  "category": "Earbuds and In-Ear Headphones",
  "categoryPath": "Electronics > Audio > Headphones > Shop Headphones by Type > Earbuds and In-Ear Headphones",
  "upc": "810224220272",
  "model": "HH2525",
  "shortDescription": "These AOC Wireless Earbuds are perfect for commutes, workouts and daily leisure, delivering great audio...",
  "description": "• Smart LED Power Display: The innovative smart charging case features a clear and precise LED screen...",
  "specifications": [
    { "name": "Headphone type", "value": "Earbuds" },
    { "name": "Headphone style", "value": "In-Ear" },
    { "name": "Noise control technology", "value": "Sound Isolation" }
  ],
  "variantOptions": [
    { "name": "Character", "values": ["sold out1", "HH2525"] }
  ],
  "variantCount": 2,
  "images": [
    "https://i5.walmartimages.com/seo/AOC-Wireless-Earbuds-Smart-LED-Display-Hybrid-Active-Noise-Cancelling-Bluetooth-Headphones-4-Mic-Clear-Calls-45H-Playtime-10mm-Driver-Deep-Bass-Dual_3744b58e-b18f-44b6-bdaa-8b28398a7d8c.34c31891705ab90abb7e0ef0b78cc0a5.jpeg",
    "https://i5.walmartimages.com/asr/2160dded-7101-4901-96fb-d828960d18b7.832c008dbf8386a436150927282af73a.jpeg"
  ],
  "reviewBreakdown": { "1": 359, "2": 122, "3": 154, "4": 243, "5": 1040 },
  "recommendedPercent": 63,
  "returnPolicy": "Free 30-day returns",
  "snapEligible": "No",
  "badges": [],
  "source": "wireless earbuds",
  "scrapedAt": "2026-09-01T22:08:06.332Z",
  "error": null
}
```

### ✨ Why choose this Actor

- 📣 **Sponsored placements flagged on every row.** Roughly a quarter of Walmart search tiles are paid. Most scrapers merge them silently into the results; this one marks each with `sponsored: Yes` so organic rank and paid rank stay separate.
- 🏬 **Walmart versus marketplace, made explicit.** `sellerType` tells you whether Walmart itself or a third-party merchant holds the buy box, alongside the `seller` name.
- 📊 **The full star breakdown, not just an average.** Review counts for 5, 4, 3, 2 and 1 stars plus the recommended percentage, straight from Walmart's review summary.
- 🔢 **Join keys that work.** UPC, model number, Walmart item ID and product ID on every detailed row, so matching to your own catalogue or to other retailers is exact.
- 📉 **Price context.** Was price, Walmart's own savings wording, unit price and the variant price range, not a single number in isolation.
- 🎨 **Variant options and count.** Every option group with its values, plus how many sellable variants exist, without opening each one.
- 🔗 **Any Walmart URL works.** Search, category, deals hub or a single product page, pasted straight from the browser, with sort, price band and facet filters applied automatically.
- ⚡ **Direct by default, no proxy cost.** Walmart answers direct requests from Apify, so runs go proxy-free unless you switch one on. 5 fully detailed products completed in 5 seconds.
- 🧾 **No always-empty columns.** Fields Walmart does not publish were dropped during research rather than shipped as permanently blank headers. Where a value can genuinely be withheld you get a labelled sentinel, never a silent `null`.
- 🧯 **Honest failure.** A URL that is not Walmart, a term with no results or a page Walmart refuses produces an error row explaining what happened, rather than a silently short dataset.

### 📈 How it compares to alternatives

| | This Actor | Typical Walmart actors |
|---|---|---|
| Sponsored placement flag | ✅ On every row | ❌ Rarely |
| Seller type (Walmart or Marketplace) | ✅ Yes | ⚠️ Sometimes seller name only |
| Star-by-star review breakdown | ✅ 5 counts plus recommended % | ⚠️ Usually average and count only |
| UPC and model number | ✅ Both | ⚠️ Often UPC only, or neither |
| Was price and savings | ✅ Both, plus unit price and variant range | ⚠️ Often current price only |
| Variant options with values | ✅ Yes, plus variant count | ⚠️ Rarely |
| Search, category, deals and product URLs | ✅ All four, mixable in one run | ⚠️ Often search only or product only |
| Sort, price band and facet filters | ✅ Walmart's own parameters | ⚠️ Sometimes sort only |
| Proxy required | ✅ No by default | ⚠️ Often yes |
| Start fee per run | ✅ None | ⚠️ Common |

**What this Actor does not do, stated plainly.** Walmart serves about 10 pages per search term, roughly 400 to 500 products, and 25 pages per category page; to go deeper, split a broad keyword into narrower ones or use several category URLs. Prices, stock and pickup status are for the default store Walmart assigns to the request, so they can differ from what you see with your own store selected. Individual review text is not part of this surface, so it is not returned; the breakdown counts are. Sponsored products are real products and are kept, flagged, rather than removed.

### 🚀 How to use

1. **Create a free Apify account.** [Sign up here](https://console.apify.com/sign-up?fpr=vmoqkp) and you start with $5 of free credit, no card required.
2. **Open the Actor** and go to the Input tab.
3. **Choose what to scrape.** Type keywords into Search Terms, or paste Walmart search, category, deals or product URLs into Walmart URLs. You can do both in one run.
4. **Pick a sort order and a price band** if you want them. They apply to search terms and to listing URLs that do not already carry them.
5. **Set Max Items.** Start small while you check the shape of the data.
6. **Leave Include Product Details on** for the full 37 fields, or switch it off for a faster listing-only pass.
7. **Click Start** and watch the log.
8. **Download the results** as CSV, Excel, JSON or XML from the Dataset tab, or pull them from the API.

A minimal input looks like this:

```json
{
  "searchTerms": ["wireless earbuds"],
  "sortBy": "best_seller",
  "maxItems": 100,
  "includeDetails": true
}
```

### 💼 Business use cases

#### 🏷 Price and promotion tracking

Run a keyword or category daily and keep the history. `price`, `wasPrice` and `savings` show how deep Walmart and its marketplace sellers are cutting, `unitPrice` normalises pack sizes, and `sellerType` tells you whether the offer is Walmart's own or a merchant's.

#### 📣 Search and sponsored placement monitoring

For each keyword you care about, the rows arrive in Walmart's order with `sponsored` set on paid tiles. Compare who holds the sponsored slots against the organic leaders, and how their `price`, `rating` and `reviewCount` stack up.

#### 📦 Catalogue matching and feed building

`upc`, `model`, `brand`, `images`, `specifications` and `variantOptions` are enough to match Walmart listings to your own SKUs or to another retailer's data without fuzzy title matching, and to build a comparison feed from the result.

#### ⭐ Rating and review intelligence

`reviewBreakdown` and `recommendedPercent` show the shape of the sentiment, not just the average. A 4.4 with a fat 1-star tail is a different product from a 4.4 with none, and you can see the difference on every row.

### 🔌 Automating Walmart Scraper

Schedule a run and let the output flow where you work. Make and Zapier can move new rows into a spreadsheet, a database or a Slack channel the moment a run finishes. Airbyte can load the dataset into a warehouse for price history. A webhook can push results into GitHub or your own service, and Google Drive keeps a dated CSV of every run for auditing.

### 🌟 Beyond business use cases

- 🎓 **Research.** Study pricing, marketplace share and sponsored density across Walmart categories with clean, repeatable data.
- 🏠 **Personal.** Track the price of the product you want and get told when the was price gap opens up, or export a category to compare options properly.
- 🤝 **Non-profit.** Build grocery and household budgets from real current prices, with `snapEligible` marking what SNAP EBT covers.
- 🧪 **Experimentation.** UPCs, images and specifications make an easy foundation for price comparison prototypes, product matching models and recommendation demos.

### 🤖 Ask an AI assistant about this scraper

> I am using the ParseForge Walmart Scraper on Apify. It returns one row per Walmart product with 37 fields, including price, wasPrice, savings, unitPrice, rating, reviewCount, a 5 to 1 star reviewBreakdown, recommendedPercent, seller and sellerType (Walmart or Marketplace), a sponsored flag, upc, model, categoryPath, specifications, variantOptions and all image URLs. It accepts search terms and Walmart search, category, deals or product URLs, with sort, price band and facet filters. Help me design a daily pipeline that tracks sponsored slots and price changes for my top 20 keywords and flags marketplace sellers undercutting Walmart.

### ❓ Frequently Asked Questions

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

No. The Actor reads the public product data Walmart's own pages render. There is no login, no key and no cookie to paste.

#### 🔗 Which URLs can I paste?

Search URLs (walmart.com/search?q=...), category URLs (walmart.com/browse/... and walmart.com/cp/...), the deals hub (walmart.com/shop/deals) and product URLs (walmart.com/ip/...). Listing URLs are paged; product URLs return one row each. You can mix them with search terms in one run.

#### 📦 How many products can I get from one search term?

Walmart serves about 10 pages of roughly 45 products per keyword, so 400 to 500 rows. Category and deals pages go to 25 pages. For deeper coverage, split a broad keyword into narrower ones or add several category URLs.

#### ⚡ How fast is it?

5 products with full details completed in 5 seconds and 100 products in 37 seconds in the verification runs. Turn Include Product Details off for a listing-only pass that skips the product pages entirely.

#### 📣 Are sponsored products included?

Yes, because they are real products with real prices. Each is marked `sponsored: Yes` so you can filter them out or study them separately.

#### 🏬 What does sellerType mean?

`Walmart` means Walmart itself holds the buy box. `Marketplace` means a third-party merchant sells the item through Walmart. The `seller` field carries the merchant's name.

#### 📉 Does it capture sale prices?

Yes. `wasPrice` is the pre-offer price and `savings` carries Walmart's own wording, for example SAVE $9.50. `priceRange` shows the span across variants when Walmart displays one.

#### 🏪 Which store do the prices come from?

Walmart assigns a default store to each request and prices, stock and pickup status reflect it. Store selection is a cookie on Walmart's side rather than a URL parameter, so it is not an input; treat the data as Walmart's default view.

#### 🎨 Does it return every variant as a separate row?

No. Each row is the product Walmart lists, with `variantOptions` listing every option group and its values and `variantCount` giving the number of sellable variants. Paste a specific variant's product URL to get that variant's row.

#### 🛡 Do I need a proxy?

No by default. Walmart answers direct requests from Apify. If your runs start seeing challenge pages, switch the Proxy input to Apify residential proxies and run again.

#### 📊 Are review texts included?

No. The star breakdown, the recommended percentage, the average and the count are returned. Individual review text lives on a separate surface and is not part of this Actor.

#### 🚫 A row has an error. What happened?

The URL was not a Walmart URL, the term returned no products, or Walmart refused the page after retries. The row names the source and the reason, and the rest of the dataset stays intact.

#### 💾 What export formats are available?

CSV, Excel, JSON, XML, plus the Apify API and webhooks.

### 🔌 Integrate with any app

The dataset is available over the Apify API the moment a run finishes, so anything that speaks HTTP can consume it. Ready-made integrations cover Make, Zapier, Airbyte, Slack, Google Drive, GitHub, Google Sheets and Amazon S3, and webhooks can push each finished run straight into your own service.

### 🔗 Recommended Actors

- 🏬 [Costco Product Scraper](https://apify.com/parseforge/costco-scraper) - warehouse retail pricing and product data.
- 📦 [Amazon Best Sellers Scraper](https://apify.com/parseforge/amazon-bestsellers-scraper) - ranked bestseller data across categories.
- 🔨 [eBay Scraper](https://apify.com/parseforge/ebay-scraper) - marketplace listings with pricing and seller data.
- 🛋 [IKEA Scraper](https://apify.com/parseforge/ikea-scraper) - furniture catalogue with prices, variants and 3D models across 63 markets.
- 🌏 [AliExpress Scraper](https://apify.com/parseforge/aliexpress-scraper) - global marketplace product and price data.

> 💡 **Pro Tip:** browse the complete [ParseForge collection](https://apify.com/parseforge).

**🆘 Need Help?** [Open our contact form](https://tally.so/r/BzdKgA)

> **⚠️ Disclaimer:** this is an independent tool and is not affiliated with, endorsed by or connected to Walmart Inc. It collects only publicly available data.

# Actor input Schema

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

Keywords to search on Walmart.com, one per line. Each term is searched separately and paged until Max Items is reached (Walmart serves up to about 10 pages of 40 results per query).

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

Any Walmart.com URL copied from your browser: a search (https://www.walmart.com/search?q=laptop), a category (https://www.walmart.com/browse/electronics/tvs/3944\_1060825 or https://www.walmart.com/cp/milk/4405816), the deals page (https://www.walmart.com/shop/deals) or a single product (https://www.walmart.com/ip/20042402979). Listing URLs are paged; product URLs return one row each.

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

Free users: Limited to 10 items (preview). Paid users: Optional, max 1,000,000

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

Result order, exactly as Walmart's own sort menu.

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

Only return products priced at or above this amount.

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

Only return products priced at or below this amount.

## `facet` (type: `string`):

Walmart's raw facet string, the same value the site puts in the URL when you tick a filter, for example brand:HP or brand:HP||brand:Dell. Leave empty for no facet filter.

## `includeDetails` (type: `boolean`):

Open every product page to add UPC, model, full description, specifications, all images, variant options, return policy and the star breakdown of reviews. Turn off for a faster listing-only pass with price, rating, seller and availability.

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

Walmart.com answers direct requests, so the proxy is off by default. Switch to Apify residential proxies if your runs start seeing the 'Robot or human?' challenge.

## Actor input object example

```json
{
  "searchTerms": [
    "wireless earbuds"
  ],
  "startUrls": [],
  "maxItems": 10,
  "sortBy": "best_match",
  "includeDetails": true,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

Key fields: image, name, price, was price, rating, seller and sponsored flag

## `fullData` (type: `string`):

Complete dataset with all 37 fields

# 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 = {
    "searchTerms": [
        "wireless earbuds"
    ],
    "startUrls": [],
    "maxItems": 10,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("parseforge/walmart-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 = {
    "searchTerms": ["wireless earbuds"],
    "startUrls": [],
    "maxItems": 10,
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("parseforge/walmart-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 '{
  "searchTerms": [
    "wireless earbuds"
  ],
  "startUrls": [],
  "maxItems": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call parseforge/walmart-scraper --silent --output-dataset

```

## MCP server setup

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