# Walmart Scraper: Products, Prices, Sellers and Reviews

> Walmart scraper: get products, prices, stock, seller offers or reviews from Walmart.com by search term, category link or item ID. No login or API key.

URL: https://cliqtomedia.com/actors/walmart-scraper/

Category: E-commerce & prices · Status: live on Apify Store · Apify page: https://apify.com/cliqtomedia/walmart-scraper?fpr=cliqto

Add search terms, category links or Walmart item IDs. You get rows with products, prices, stock, seller offers or customer reviews from Walmart.com. No login or API key.

## How to use it: 3 steps

1. **Make a free Apify account.** Apify is the cloud platform where our tools run. The free plan gives you $5 of usage every month, no credit card needed. You pay Apify, not us.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `air fryer` in Search terms. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Add search terms, category links, or Walmart item IDs and get rows with products, prices, stock, seller offers, or customer reviews from Walmart.com. No Walmart login or API key is needed, and the prefilled run of 10 products costs about $0.03 on the Free plan.

- Search results: products for your search terms.
- Category products: products from Walmart browse links.
- Product details: full product data for links or item IDs, with brand, UPC, specifications, variants, and images.
- Customer reviews: review text, stars, date, verified purchase, and helpful votes.
- Seller offers: every seller listed for a product, with price, condition, shipping, and returns.

### Good for

- You need Walmart.com prices and stock as a table or through an API.
- You want to compare the same product in two stores.
- You want to see which sellers offer a product and at what price.
- You want reviews for product research.
- You want a scheduled price check that returns only changes.

### Not a good fit

- You need another country's Walmart site. The Actor reads only walmart.com in the US.
- You need data from a signed-in account, such as orders or your Marketplace listings.

## Price

Pay per event. Apify bills you, not us.

| What you pay for | Price | When |
|---|---|---|
| Start fee | $0.0012 | Charged once per run. This tool uses 1 GB of memory or less by default; more memory costs more. |
| Search product | $0.00279 (from $0.001953 on paid Apify plans) | One unique product from a search or category list. |
| Product details | $0.00279 (from $0.001953 on paid Apify plans) | One product or variant opened for full details. |
| Customer review | $0.00027 (from $0.000189 on paid Apify plans) | One unique customer review saved to the dataset. |
| Seller offer | $0.00279 (from $0.001953 on paid Apify plans) | One marketplace seller offer saved to the dataset. |
| New or changed product | $0.0009 (from $0.00063 on paid Apify plans) | One new or changed product saved when change tracking is on. |
| Walmart data check | $0.00045 (from $0.000315 on paid Apify plans) | One product or offer lookup, or one search, category, or review page checked. Includes pages without matching results. |
| Change tracking check | $0.0009 (from $0.00063 on paid Apify plans) | One page or product checked against the saved history. Includes checks without changes. |

- One result: about $0.004.
- 1,000 results: about $2.79.
- Every day 100 results, for 30 days: about $8.41 a month.

Free to try: the Apify free plan gives you $5 of usage every month, no credit card needed.

Prices checked on 8 November 2026. Current price: https://apify.com/cliqtomedia/walmart-scraper?fpr=cliqto

## Questions

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

No. The tool reads public pages. You only need an Apify account.

### Can I get the price in a specific store?

Yes. Add postalCode, storeId or state. The same product can cost different amounts in two stores.

### Why are some fields null?

Walmart did not give the value on the page that was read. Search rows have no UPC or description.

### Why are there fewer rows than `maxItems`?

Walmart shows a limited number of pages for each search. A filter, the spending limit, or a page limit can also stop a run. `stopReason` in `RUN_SUMMARY` shows which limit ended it. If it is empty, the list ended.

### How fresh is the data?

The Actor reads the live page during the run. `fetchedAt` shows when. Walmart can change prices and stock at any time.

### Is it legal to collect this data?

The Actor reads public pages and does not save reviewer names or profiles. Check the Walmart terms and the laws in your country for your use. This is not legal advice.

## Data fields

- `recordType` (string): Product, review, or status row.
- `status` (string): Complete data, a product that was not found, or an input that failed.
- `itemId` (string): Numeric Walmart item ID.
- `title` (string): Product name or review title.
- `price` (number): Current product price in US dollars, when shown.
- `wasPrice` (number): Previous price, when shown.
- `currency` (string): Currency reported with the price.
- `unitPrice` (number): Price per unit, when shown.
- `rating` (number): Product average rating or review stars.
- `reviewsCount` (number): Product rating and review count.
- `seller` (string): Seller display name, when available.
- `sellerId` (string): Walmart seller identifier.
- `inStock` (boolean): True for in stock, false for out of stock, null if unknown.
- `availability` (string): Availability label from Walmart.
- `location` (object): City, ZIP, state and store reported by Walmart. For store-specific results, the ZIP entered by the user is recorded separately.
- `url` (string): Source product or review page.
- `images` (array): Image URLs shown by Walmart.
- `brand` (string): Product brand.
- `model` (string): Product model.
- `upc` (string): Product UPC, when shown.
- `description` (string): Product description as plain text.
- `shortDescription` (string): Short product description as plain text.
- `specifications` (array): Product attributes as name and value pairs.
- `categories` (array): Category names from the product page.
- `variants` (array): Variant names and choices.
- `variantProducts` (array): Linked variants with item IDs, URLs, prices, and availability.
- `offers` (array): Other offers embedded on the product page, if present.
- `fulfillment` (array): Pickup, delivery and shipping options that carry data, including availability, aisle, order limits and dates when shown. Store ID is null for shipping from a warehouse.
- `position` (integer): Rank of the card among those read for one search term or category link, counted from 1 and including sponsored cards. Numbering restarts for each term or link. A product shown twice keeps its first rank, so numbers can skip. Null for rows opened from an item link.
- `sponsored` (boolean): True when the search card is marked as sponsored. Null when the row did not come from a card.
- `bestSeller` (boolean): True when Walmart shows a Best seller badge on this item. Null when the page has no badge data.
- `shippingArrival` (string): Arrival text from the search or category card, such as tomorrow, in 3+ days or Mon, Nov 9. Null when the card has none.
- `twoDayShipping` (boolean): True when the card promises arrival within two days, worked out from shippingArrival. Null when the card has no shipping text.
- `errorCode` (string): On a free status row with status error: why this one input failed. The run moves on to the next input.
- `input` (string): On a free status row with status error: the search term, link or item ID that failed.
- `query` (string): Search term that found this product.
- `source` (string): Walmart.com source origin.
- `fetchedAt` (string): Time the data was collected, in UTC.
- `reviewId` (string): Walmart review ID.
- `text` (string): Customer review text.

## Input settings

- `mode` (string): Choose what to collect: search results, category products, product details, customer reviews, or seller offers. One mode per run. Default: Search results.
- `queries` (array): Words to search on Walmart.com, one per line, for example air fryer. Used in Search results mode. Up to 100 terms. Duplicate terms are removed. Default: air fryer.
- `productUrls` (array): Walmart.com product links or numeric item IDs, one per line, for example 1438286796. Required for Product details, Customer reviews, and Seller offers modes. Up to 100 entries. Duplicates are removed.
- `categoryUrls` (array): Walmart.com browse links, one per line, for example https://www.walmart.com/browse/home/4044. Required for Category products mode. Up to 100 links.
- `maxItems` (integer): Total products, seller offers, or reviews in this run, from 1 to 1000. Default: 10. Rows and checked pages have separate charges.
- `maxPages` (integer): Stop each search, category, or review list after this many pages, from 1 to 100. Default: 50. Each checked page has a scan charge, including empty results. A page limit may leave partial results.
- `startPage` (integer): Start search, category, or review lists at this page, from 1 to 100. Default: 1.
- `sort` (string): Order of search and category results. Default: Best match.
- `minPrice` (number): Lowest price in US dollars, for example 25. From 0 to 1000000. Applied to search and category results. Leave empty for no limit.
- `maxPrice` (number): Highest price in US dollars, for example 150. From 0 to 1000000. Applied to search and category results. Leave empty for no limit.
- `facet` (string): Walmart filter string for search or category lists, for example brand:Gourmia. Up to 1000 characters. Leave empty for no filter.
- `includeDetails` (boolean): Open product pages from search or category results to add descriptions, UPCs, specifications, and variants. Off by default. Slower than listing results and uses the product detail price.
- `includeVariants` (boolean): In Product details mode, also open linked variants. Off by default. All variants count toward Maximum results.
- `reviewSort` (string): Order of customer reviews. Default: Most relevant.
- `includeReviews` (boolean): In Product details mode, also collect reviews for each product. Off by default. Reviews are separate rows and use the review price.
- `maxReviews` (integer): Review limit for each product when Add reviews to products is on, from 1 to 1000. Default: 10.
- `reviewRating` (integer): Keep only reviews with this star rating, from 1 to 5. Leave empty for all ratings. More pages may be needed.
- `verifiedOnly` (boolean): Keep only reviews marked as a verified purchase. Off by default. More pages may be needed.
- `reviewsAfter` (string): Keep reviews dated on or after this date, in YYYY-MM-DD format, for example 2026-01-01. Leave empty for all dates. Each checked page is charged, also without matches, so use a low Maximum pages value.
- `postalCode` (string): Five-digit US ZIP code, for example 10001. The Actor finds a nearby store and opens each product for store-specific details. Not available for reviews and seller offers. Results show the ZIP you entered and the store ZIP, which can be in a neighboring state.
- `storeId` (string): Walmart store number, for example 3520. The Actor reads product details for this store. If you also enter a ZIP, the store must appear among Walmart’s nearby stores for that ZIP. Not available for reviews and seller offers.
- `state` (string): Two-letter US state, for example NY. Limits store selection to this state. If you enter only a state, the Actor uses the first city in Walmart’s directory and selects a store there. Not available for reviews and seller offers.
- `onlyChanges` (boolean): Compare with earlier results in the same named history. Off by default. The first run returns all results. Later runs return only new or changed rows. Each checked page has a scan charge, including runs without changes. Changed products use the changed product price, changed reviews use the review price.
- `stateName` (string): Use a separate name for each monitoring task, for example air-fryer-prices. Lowercase letters, digits, and hyphens, up to 40 characters. Default: default. Used only when Only new or changed results is on.
- `monitorFields` (array): Output field names to compare, one per line, for example price. Default: price, wasPrice, inStock, rating, reviewsCount. A row returns when one of them changes. New item IDs and review IDs always return.

## Step by step on Apify

1. In Data to collect, leave Search results.
2. In Search terms, keep `air fryer` or add your own words.
3. In Maximum results, keep `10`.
4. Click Start.
5. When the run ends, go to the Output tab. Check `title`, `price`, `rating`, `seller`, and `inStock`.

## Use cases

| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Track prices of a product group | `mode: search`, `queries`, `onlyChanges` | Changed products | `itemId`, `price`, `wasPrice`, `changeType`, `previousValues` | Schedule with a webhook or Slack summary |
| Compare prices and stock between stores | `mode: product`, `productUrls`, `storeId` or `postalCode`, one run per store | Store-specific product | `price`, `inStock`, `fulfillment`, `location` | Google Sheets or a database |
| Check marketplace sellers | `mode: offers`, `productUrls` | Seller offers | `seller`, `sellerType`, `price`, `condition`, `freeShipping`, `returnPolicy` | Export to CSV for a seller review |
| Study customer feedback | `mode: reviews`, `productUrls`, `reviewRating`, `reviewsAfter` | Reviews | `rating`, `text`, `date`, `verifiedPurchase`, `helpfulVotes` | Text analysis or an AI agent |
| Build a product catalog list | `mode: category` with `categoryUrls`, `includeDetails` | Detailed products | `title`, `brand`, `upc`, `specifications`, `images` | Your catalog or matching tool |

## Tips

- Add a ZIP code, store ID or state to read prices for one store.
- Turn on includeDetails or use product mode to get UPC and description.
- One run saves up to 1000 rows. Raise the timeout for reviews of several products.

## Limits



- Source: walmart.com in the US only.
- Results: up to 1000 rows per run. We tested 700 products from two search terms and 999 reviews of one product over 100 pages. That review run took about 4 minutes, close to the default timeout, so raise the timeout for several products.
- Pages: up to 100 per input. A search page has about 40 products, and a review page has about 10 reviews.
- Requests: up to 160 per run. A search with a store location or `includeDetails` uses one request per product, so plan for up to about 150 products per run.
- Data size: up to 100 MB per run and 6 MB per page. A larger page fails only its own input with `PAGE_TOO_LARGE`.
- Category links: the Actor checks that a link is a walmart.com `/browse/` link. Walmart can answer a wrong category path with other products, so look at the first rows.
- Time: the Actor stops 40 seconds before the run timeout and keeps the rows it saved. The default timeout is 300 seconds. If no paid work starts in the first 20 seconds, the run stops with `DEADLINE`. A run timeout under about 60 seconds can stop at once with `INVALID_RESOURCES`.
- Attempts: up to 4 for each link.

## Sample result

```json
{
  "recordType": "product",
  "status": "complete",
  "itemId": "790267220",
  "title": "K-Express Essentials Single Serve Coffee Maker - Cloud White",
  "price": 71.9,
  "wasPrice": null,
  "currency": "USD",
  "rating": 4.4,
  "reviewsCount": 65053,
  "seller": "Que Buy",
  "inStock": true,
  "availability": "IN_STOCK",
  "fulfillmentType": "FC",
  "badges": ["Best seller"],
  "position": 16,
  "sponsored": false,
  "bestSeller": true,
  "freeShipping": true,
  "shippingArrival": "tomorrow",
  "twoDayShipping": true,
  "shippingAvailable": true,
  "pickupAvailable": false,
  "deliveryAvailable": false,
  "location": {
    "postalCode": "95829",
    "storeId": "3081",
    "state": "CA",
    "city": "Sacramento"
  },
  "query": "coffee maker",
  "source": "https://www.walmart.com"
}
```

## Use it from code

Actor ID: `cliqtomedia/walmart-scraper`

```python
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("cliqtomedia/walmart-scraper").call(run_input={
    "mode": "search",
    "queries": [
        "air fryer"
    ]
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)
```

```bash
curl -X POST "https://api.apify.com/v2/acts/cliqtomedia~walmart-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"mode": "search", "queries": ["air fryer"]}'
```

```python
# pip install langchain-apify
# set APIFY_TOKEN in your environment
from langchain_apify import ApifyActorsTool

tool = ApifyActorsTool("cliqtomedia/walmart-scraper")
result = tool.invoke({"run_input": {"mode": "search", "queries": ["air fryer"]}})
print(result)
```

run-sync waits up to 300 seconds; for longer runs start a run and use a webhook. LlamaIndex and MCP: https://cliqtomedia.com/actors/ai-agents/

## Use cases with this tool

- [Track prices in shops and marketplaces](https://cliqtomedia.com/actors/use-cases/price-monitoring/): Track prices and offers in shops and marketplaces. See changes before your customers do.

## Similar tools

- [Google Shopping Scraper - Prices, Stores & Offers, No Login](https://cliqtomedia.com/actors/google-shopping-scraper/)
- [Shopify Store Products Export - No Login, Any Store](https://cliqtomedia.com/actors/shopify-products-scraper/)
- [AliExpress Scraper: Products, Prices & Reviews, No Login](https://cliqtomedia.com/actors/aliexpress-scraper/)
- [eBay Sold Listings Scraper - Sold Prices & Dates](https://cliqtomedia.com/actors/ebay-sold-listings/)
- [Amazon Product Scraper: Prices, Reviews, BSR, No Login](https://cliqtomedia.com/actors/amazon-scraper/)
- [Coles, Woolworths & Aldi Price Scraper - No Login](https://cliqtomedia.com/actors/au-supermarket-prices/)
