How to use it: 3 steps
- Make a free Apify accountApify 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.
- Paste your input and press StartNo code needed: you fill in a form (the input). It already has a working example. For example:
air fryerin Search terms. Each start is one run. - Download the resultsWhen 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.
This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.
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.
Who uses it
Price trackers
Check prices and stock on a schedule and keep only changes.
Marketplace sellers
See which sellers offer a product and at what price.
Product researchers
Read customer reviews for product research.
Price
Pay per event: you pay for each result the tool saves, plus a small start fee for each run. The price includes Apify platform costs. Apify bills you, not us. Prices below are for the Apify free plan.
| 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. |
Examples
- 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. That is enough for about 1,700 results.
Prices checked on 8 November 2026. See the current price on Apify.
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.
Details
Step by step on Apify
- In Data to collect, leave Search results.
- In Search terms, keep
air fryeror add your own words. - In Maximum results, keep
10. - Click Start.
- When the run ends, go to the Output tab. Check
title,price,rating,seller, andinStock.
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 for better results
- 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 and good to know
- 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
includeDetailsuses 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 withINVALID_RESOURCES - Attempts: up to 4 for each link
For developers
Sample result
One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.
{
"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. You need your Apify API token from Apify Console → Settings → API & Integrations.
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)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"]}'# 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)The cURL call waits for the results, up to 300 seconds. For longer runs, start a run (/runs) and get the results with a webhook or by checking the run. Apify API docs. LlamaIndex, MCP for AI agents and the JavaScript client: AI agents & MCP.
Data fields (40)
| Field | Type | Meaning |
|---|---|---|
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 (25)
The main fields of the input form. With the API you send them as JSON.
| Setting | Name in the API | Type | Example value |
|---|---|---|---|
| Data to collect | mode | string | "search" |
| Search terms | queries | array | ["air fryer"] |
| Product links or item IDs | productUrls | array | |
| Category links | categoryUrls | array | |
| Maximum results | maxItems | integer | 10 |
| Maximum pages per input | maxPages | integer | 50 |
| First page | startPage | integer | 1 |
| Product order | sort | string | "best_match" |
| Minimum price | minPrice | number | |
| Maximum price | maxPrice | number | |
| Product filters | facet | string | |
| Open each product | includeDetails | boolean | false |
| Open product variants | includeVariants | boolean | false |
| Review order | reviewSort | string | "relevancy" |
| Add reviews to products | includeReviews | boolean | false |
| Reviews per product | maxReviews | integer | 10 |
| Review stars | reviewRating | integer | |
| Verified purchases only | verifiedOnly | boolean | false |
| Reviews from date | reviewsAfter | string | |
| Requested US ZIP code | postalCode | string | |
| Requested Walmart store | storeId | string | |
| Requested US state | state | string | |
| Only new or changed results | onlyChanges | boolean | false |
| History name | stateName | string | "default" |
| Fields to compare | monitorFields | array | ["price", "wasPrice", "inStock", "rating", "reviewsCount"] |
Use cases with this tool
Each guide shows all the steps and the other tools.



