---
title: "Walmart Scraping: Prices and Ratings (2026) | Scrape.ly"
description: "Walmart scraping without code or with Python: prices, ratings, sellers and stock by keyword or URL. Includes a real run, costs and limits."
url: https://scrape.ly/blog/walmart-scraping
markdown: https://scrape.ly/blog/walmart-scraping.md
---

[Tutorials](https://scrape.ly/blog/category/tutorials.md)

# Walmart Scraping: Get Prices, Ratings and Sellers by Keyword or URL

Type a keyword or paste a Walmart URL into a ready-made Actor and get one row per product with price, was-price, rating, seller and stock. This guide covers the no-code steps, the API, a real run and its exact cost.

[Shelfbright Actor publisher on the Scrape.ly Store](https://scrape.ly/blog/author/shelfbright.md)

- Published

  Oct 22, 2026

- Reading time

  8 min read

![Pixel-art robot with an orange >\_ on its terminal head pulls a blue product box off a store shelf topped with the yellow Walmart spark logo and loads it into a crate](https://scrape.ly/media/walmart-scraping.png?w=1080)

Walmart scraping is easiest with a ready-made Actor: type a keyword or paste a Walmart search, category or product URL, and export one row per product with price, was-price, rating, review count, seller and stock status. On Scrape.ly you can do it in the browser or with one API call.

This guide shows which fields you get, the no-code steps, and the same job in curl, Python, JavaScript and through an AI agent. Then it walks through a real run from 22 October 2026: ten laptops between $300 and $1,000, cheapest first, with the log and the exact cost.

## What data you can get from Walmart

The Actor returns one row per product. With **Open every product page** on (the default) a row holds Walmart's full product record. With it off you get the lighter fields from the search results, which is what our run used.

| Field                                             | What it holds                                                                           |
| ------------------------------------------------- | --------------------------------------------------------------------------------------- |
| `name`                                            | Product title                                                                           |
| `usItemId`                                        | Walmart's item number                                                                   |
| `url`                                             | Product page URL                                                                        |
| `price`, `wasPrice`, `currency`                   | Current price, the earlier price when there is a discount, and the currency             |
| `rating`, `reviewCount`                           | Average rating and number of reviews                                                    |
| `brand`                                           | Brand name (filled from product pages)                                                  |
| `seller`, `sellerId`                              | Who sells the item: Walmart or a marketplace seller                                     |
| `availability`, `fulfillmentType`                 | Stock status (`In stock`) and fulfillment type (`MARKETPLACE`)                          |
| `categoryPath`                                    | Category path, for example `Electronics / Computers, Laptops and Tablets / Laptops`     |
| `mainImage`, `images`                             | Image URLs                                                                              |
| `isSponsored`, `position`                         | Whether the result is an ad, and its position in the results                            |
| `specifications`, `description`, `variantOptions` | Product pages only: specs, long description, and every variant with its price and stock |
| `upc`, `model`, `manufacturerProductId`           | Product pages only: identifiers for catalog matching                                    |
| `reviews.customerReviews`                         | Customer reviews, when you turn on `includeReviews`                                     |

What you won't get: prices for a ZIP code or store you choose (rows reflect Walmart's default location for the request), Walmart Canada or Mexico, or seller storefront and brand pages.

## How to scrape Walmart without code

1. Open the [Walmart Scraper](https://scrape.ly/store/shelfbright/walmart-scraper.md) in the Scrape.ly Store.
2. Pick the [Laptops $300 to $1,000, 10 results](https://scrape.ly/store/shelfbright/walmart-scraper/presets/search-filters-light.md) preset. It fills in this input:

```json
{
  "search": "laptop",
  "minPrice": 300,
  "maxPrice": 1000,
  "sort": "price_low",
  "scrapeProductDetails": false,
  "maxItems": 10
}
```

3. Click **Start**. Our run finished in about 7 seconds.
4. Open the dataset and export it as JSON, CSV or Excel.

The input fields that matter most:

- `search` or `startUrls`: keywords as you'd type them into Walmart's search box (each one is searched separately), or Walmart search, category (`/browse/`, `/cp/`), shop or product (`/ip/`) URLs. Filters you set on walmart.com stay in the URL and are kept.
- `maxItems`: total results across all keywords and URLs. Default 20; 0 means no limit.
- `sort`, `minPrice`, `maxPrice`: the order and price range for search and category results. The preset sorts by `price_low`.
- `scrapeProductDetails`: on by default. Turn it off, as the preset does, when the search-result fields are enough.
- `includeReviews`, `onlyReviews`, `maxReviews`: add reviews to each product, or save one row per review instead.
- `endPage`: the last results page per search or category, at 40 products per page.

Scrape.ly Store Walmart Scraper Search Walmart by keyword or URL and get price, was-price, rating, review count, seller and stock for every product. Export to JSON, CSV or Excel.

[Try it free](https://scrape.ly/store/shelfbright/walmart-scraper.md) [Browse the Store](https://scrape.ly/store.md)

## How to scrape Walmart with the API

Create a token under **Settings → API & Integrations** in the dashboard and store it as `SCRAPELY_TOKEN`. This preset runs in a few seconds, so the synchronous endpoint can start it and return the items in one call:

```shell
curl -X POST "https://api.scrape.ly/v2/actors/shelfbright~walmart-scraper/run-sync-get-dataset-items"
  -H "Authorization: Bearer $SCRAPELY_TOKEN"
  -H "Content-Type: application/json"
  -d '{"search": "laptop", "minPrice": 300, "maxPrice": 1000, "sort": "price_low", "scrapeProductDetails": false, "maxItems": 10}'
```

The call waits up to 45 seconds and returns a JSON array. Add `?format=csv` for CSV. A large job with product pages on can run longer. Then the call answers `408` while the run keeps going, and calling again would start a second run. For those, start the run with `POST /v2/actors/shelfbright~walmart-scraper/runs`, poll `/v2/actor-runs/RUN_ID?waitForFinish=60` until the status is `SUCCEEDED`, and read `/v2/actor-runs/RUN_ID/dataset/items`. The [API docs](https://scrape.ly/docs/api-actors.md) show the full flow.

In Python, install the client with `pip install scrapely-client-python`. `call()` waits for the run however long it takes:

```python
import os
from scrapely_client import ScrapelyClient

client = ScrapelyClient(os.environ["SCRAPELY_TOKEN"], api_url="https://api.scrape.ly")

run = client.actor("shelfbright/walmart-scraper").call(
    run_input={
        "search": "laptop",
        "minPrice": 300,
        "maxPrice": 1000,
        "sort": "price_low",
        "scrapeProductDetails": False,
        "maxItems": 10,
    }
)
print(run.status)  # SUCCEEDED, FAILED, ABORTED or TIMED-OUT
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item["price"], item.get("seller"), item["name"])
```

In JavaScript or Node.js, install it with `npm install scrapely-client`:

```javascript
import { ScrapelyClient } from 'scrapely-client';

const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN, baseUrl: 'https://api.scrape.ly' });

const run = await client.actor('shelfbright/walmart-scraper').call({
  search: 'laptop',
  minPrice: 300,
  maxPrice: 1000,
  sort: 'price_low',
  scrapeProductDetails: false,
  maxItems: 10,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items.length, items[0]);
```

The [Python client](https://scrape.ly/docs/client-python.md), [JavaScript client](https://scrape.ly/docs/client-js.md) and [dataset API](https://scrape.ly/docs/api-datasets.md) docs cover paging through large datasets.

### With an AI agent (MCP)

Scrape.ly runs a hosted MCP server at `https://api.scrape.ly/mcp`. In Cursor, add it to `~/.cursor/mcp.json`:

```json
{
  "mcpServers": {
    "scrapely": {
      "url": "https://api.scrape.ly/mcp",
      "headers": { "Authorization": "Bearer YOUR_TOKEN" }
    }
  }
}
```

In Claude Code, run `claude mcp add --transport http scrapely https://api.scrape.ly/mcp`, then `/mcp` to sign in with OAuth. The agent uses `search-actors`, `fetch-actor-details`, `call-actor` and `get-actor-output`. Try a prompt like: "Use scrapely to run shelfbright/walmart-scraper for laptops between $300 and $1,000, cheapest first, 10 results without product pages, and give me a CSV of name, price, rating and seller." The [MCP docs](https://scrape.ly/docs/mcp.md) list the other clients.

## A real run: Laptops $300 to $1,000

We ran the preset on 22 October 2026. It saved 10 results, the run took 7.1 seconds, and it was charged $0.0204 in total. Here are the first five rows:

| name                                                                   | price  | rating | reviewCount | seller                 | availability |
| ---------------------------------------------------------------------- | ------ | ------ | ----------- | ---------------------- | ------------ |
| HP Laptop 15-dy1032ms - Intel Core i3 - 1005G1 / up to 3.4 GHz - Win … | 305.97 | 0      | 1           | RAYDES                 | In stock     |
| HP 15.6 inch HD Windows 11 Laptop Intel Processor N200 4GB RAM 128GB … | 305.99 | 4.1    | 1,176       | milky tech             | In stock     |
| Restored 14" Dell Latitude 5000 Business Laptop Computer, Intel Core … | 306.24 | 0      | 0           | Blair Technology Group | In stock     |

|                                           |                 |              |     |   |   |                         |          |
| ----------------------------------------- | --------------- | ------------ | --- | - | - | ----------------------- | -------- |
| Restored Dell Inspirion 5520 Laptop PC \\ | 15.6" Laptop \\ | Intel Core … | 308 | 0 | 0 | Discount Computer Depot | In stock |

|                                                                        |        |     |       |                       |          |
| ---------------------------------------------------------------------- | ------ | --- | ----- | --------------------- | -------- |
| ACEMAGIC Laptop 15.6 FHD 16GB 512GB Intel Quad-Core 12th Alder Lake N… | 308.79 | 4.5 | 1,900 | Kamrui Official Store | In stock |

```plaintext
20261022T15:23:12.639Z [scrapely.actor] INFO  [Scrapely] Initializing API storage for run 7a6c1e758245425fb
20261022T15:23:12.785Z [scrapely.proxy_configuration] INFO  Platform proxy access check succeeded.
20261022T15:23:12.785Z [scrapely.actor] INFO  Scraping 1 input(s), up to 10 results, search results only, network: datacenter.
20261022T15:23:16.945Z [scrapely.actor] INFO  Done. Saved 10 results. Requests: 1, bot checks: 0, browser pages: 0, proxy: datacenter.
20261022T15:23:17.154Z [scrapely.actor] INFO  [Status message]: Saved 10 results.
20261022T15:23:17.669Z [Scrapely] Container state: status=exited exitCode=0 oomKilled=false
```

The price filter and sort worked as set: the five cheapest laptops sat between $305.97 and $308.79, just above the $300 floor. Two are "Restored" listings. Three had a rating of 0 with at most one review, so filter on `reviewCount` before you compare ratings. All five come from marketplace sellers, not Walmart itself. `brand` and `wasPrice` were empty on all five: `brand` is filled from product pages, which this preset skips, and `wasPrice` stays empty when there is no discount. The log shows the whole job took one request with no bot checks.

## What it costs

The Actor has one charge event: `result-item`, at **$0.002** for each product saved (or each review, in reviews-only mode). Products that fail to load or no longer exist aren't charged.

**This run:** 10 results × $0.002 = $0.02 in event fees. The run was charged $0.0204 in total, because platform usage added $0.000238 of compute, $0.000098 of datacenter proxy traffic and $0.0001 of storage writes.

**At 1,000 results:** 1,000 × $0.002 = $2.00 in event fees, plus platform usage. Usage grows with what you ask for: search-only runs like ours are faster and use less traffic than runs that open every product page. If you want a hard cap, set a maximum charge on the run; the Actor stops cleanly when it's reached.

## Limits and common problems

- **25 pages per search.** Walmart shows at most 25 result pages (about 1,000 products) per search or category. Split big jobs into narrower keywords, categories or price ranges; duplicates across them are removed.
- **No ZIP code or store.** Walmart prices and stock can depend on the store and ZIP code. This Actor can't choose one, so prices reflect Walmart's default location for the request. It covers walmart.com (United States) only.
- **Storefront and brand pages.** These aren't supported. Use a search URL with the brand or seller filter instead.
- **Bot checks.** Walmart's bot check is strict. The run uses US datacenter addresses and switches to residential ones by itself if the check keeps appearing. If every address is blocked, the run stops with a clear message and keeps what it saved.
- **Reviews on product rows.** Reviews attached to a product row stop at 2,000 per product. Use `onlyReviews` for more; review rows have no cap.
- **Sync timeouts.** This run took 7.1 seconds, but the synchronous endpoint stops waiting at 45 seconds. Use the asynchronous flow for large jobs.

## Is it legal to scrape Walmart?

The Actor reads public product pages that anyone can open without an account, and it doesn't log in. Walmart's [Terms of Use](https://www.walmart.com/help/article/walmart-com-terms-of-use/3b75080af40340d6bbd596f116fae5a0) (last updated September 21, 2026) are explicit, though. They say you may not use "any robot, spider, site search/retrieval application or other manual or automatic device to retrieve, index, 'scrape,' 'data mine' or otherwise gather any Materials" without Walmart's express prior written consent. The same clause bars using that material to train AI or machine learning models. Product data rarely includes personal data, but reviews and reviewer names can. Then privacy laws such as the GDPR and the CCPA apply. This is not legal advice. Before you use Walmart data commercially, get advice from a lawyer for your case.

## Alternatives

- **Walmart's own APIs.** The [Walmart developer portal](https://developer.walmart.com/) offers Marketplace APIs for sellers to manage their items, prices and orders, plus Supplier and advertising APIs. If you sell on Walmart and need your own listing data, use these. Affiliates should also look at [Walmart I/O](https://walmart.io/), Walmart's developer portal for building apps with Walmart APIs.
- **Your own Python scraper.** [Scrapfly's guide](https://scrapfly.io/blog/posts/how-to-scrape-walmartcom) reads the JSON Walmart embeds in each page (`__NEXT_DATA__`) with httpx and parsel. [Oxylabs' guide](https://oxylabs.io/blog/how-to-scrape-walmart-data) uses requests and BeautifulSoup and shows the CAPTCHA page you'll meet first. Both then recommend their paid services for handling blocks.
- **A headless browser.** Playwright or Selenium gives you full control over the page. It's the better choice when you need interactions a ready-made tool doesn't cover, at the cost of running browsers and proxies yourself.

## FAQ

### Can you scrape Walmart prices by ZIP code?

Not with this Actor. Walmart can price by store and ZIP code, but the Actor sees the default online location Walmart picks for each request. If you need store-level prices, this Actor isn't the right tool for that part of the job.

### How many products can you scrape from one Walmart search?

Walmart shows up to 25 pages of 40 products, so about 1,000 per search or category. To go beyond that, run several narrower searches in one input, for example by price range. The Actor removes duplicates across them.

### Can you scrape Walmart reviews?

Yes. Turn on `includeReviews` to add up to `maxReviews` reviews to each product row, or `onlyReviews` to save one row per review. The [Reviews for one product](https://scrape.ly/store/shelfbright/walmart-scraper/presets/only-reviews.md) preset shows the second mode. Each review row costs $0.002, and review text can contain personal data, so mind privacy law.

### Do you need a proxy to scrape Walmart?

Not your own. US datacenter addresses are included, and the run moves to residential addresses by itself if Walmart's bot check keeps appearing. You don't need a Walmart account either.

### How do you track Walmart prices over time?

Save the input as a task and run it on a schedule. Compare `price` and `wasPrice` per `usItemId` between runs, and read the results from the dataset API or send them to a webhook.

Scrape.ly Store Walmart Scraper Track Walmart prices, ratings, sellers and stock by keyword, category or product URL. $0.002 per product, with reviews as an option.

[Try it free](https://scrape.ly/store/shelfbright/walmart-scraper.md) [Browse the Store](https://scrape.ly/store.md)

About the author

[Shelfbright](https://scrape.ly/blog/author/shelfbright.md) Actor publisher on the Scrape.ly Store

Prices, stock and seller data from shops and marketplaces, from Amazon and AliExpress to Vinted and Leboncoin. For price trackers, catalogue teams and resellers. A Scrapely studio.

- [Website](https://scrape.ly/users/shelfbright.md)

Keep reading

## More in Tutorials

- [![Pixel-art robot with a terminal for a head pulling a place card out of a Google Maps pin standing on a folded map, with a crate of collected place cards beside it](https://scrape.ly/media/how-to-scrape-google-maps.png?w=750)](https://scrape.ly/blog/how-to-scrape-google-maps.md)
  ### [How to Scrape Google Maps: Places, Ratings, Phones and Websites](https://scrape.ly/blog/how-to-scrape-google-maps.md)
  [Scrape Google Maps places for any search term and city, with no code or with one API call. A real run, its output, its log and its exact cost, plus the limits and the legal side.](https://scrape.ly/blog/how-to-scrape-google-maps.md)
- [![Pixel-art robot with an orange >\_ on its terminal head pulls a parcel from a stack of cardboard boxes marked with the Amazon smile logo and loads it into a crate](https://scrape.ly/media/how-to-scrape-amazon.png?w=750)](https://scrape.ly/blog/how-to-scrape-amazon.md)
  ### [How to Scrape Amazon: Prices, ASINs and Ratings From Search or Product URLs](https://scrape.ly/blog/how-to-scrape-amazon.md)
  [Paste an Amazon search or product URL into a ready-made Actor and get one row per product with price, ASIN, rating and review count. This guide covers the no-code steps, the API, ZIP code pricing, a real run and its cost.](https://scrape.ly/blog/how-to-scrape-amazon.md)
- [![Pixel-art robot with a grey terminal head showing an orange >\_ pulls a search result card out of a browser window showing the Google G logo and drops it into a crate](https://scrape.ly/media/scrape-google-search-results.png?w=750)](https://scrape.ly/blog/scrape-google-search-results.md)
  ### [How to Scrape Google Search Results: Rankings, People Also Ask and Related Searches](https://scrape.ly/blog/scrape-google-search-results.md)
  [Scrape Google search results by query and country and get each results page as JSON: organic results with positions, People Also Ask and related searches. Run it without code or from Python, with a real run, the cost per page and Google's terms.](https://scrape.ly/blog/scrape-google-search-results.md)

## The internet is full of data. Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

[Get Started Free](https://my.scrape.ly/register) [Chat with Support](mailto:support@scrape.ly?subject=Question%20about%20Scrape.ly\&body=Hi%2C%20I%20have%20a%20question%20about%20Scrape.ly.)

No credit card. No setup calls.
