Walmart Products & Reviews Scraper - No Login
Pricing
from $1.95 / 1,000 search products
Walmart Products & Reviews Scraper - No Login
Collect Walmart products, prices, stock, seller offers and customer reviews to track prices and compare stores by ZIP code. Use search terms, category links or item IDs. No login or API key.
Pricing
from $1.95 / 1,000 search products
Rating
0.0
(0)
Developer
Cliqto Media
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
9 hours ago
Last modified
Categories
Features
Share
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.
Use it to track prices, compare stores by ZIP code, check marketplace sellers, and study reviews. The prefilled search air fryer finished in under a minute in all our test runs.

Table of contents
- What it does
- How it works
- Quick start
- Use cases
- Input
- Output
- Pricing
- Limits
- API, export and integrations
- Troubleshooting
- FAQ
- Related Actors
- Support
What it does
The Actor reads public pages of Walmart.com in the United States. Choose one mode for each run:
- 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.
You can also read prices and stock for one store by ZIP code, store number, or state. Turn on change tracking to get only new or changed rows in later runs.
The Actor does not save reviewer names or profiles. It does not buy, add to cart, or sign in.
Good fit
- 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.
How it works
- You choose a mode and add search terms, links, or item IDs.
- The Actor opens the public Walmart pages and reads the data each page shows. If you set a location, it first checks the store on Walmart.
- You get rows in a dataset. Open them as a table, export them, or read them by API.
Quick start
-
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.
The first run returns 10 rows like the one in Output example. To use your own data, change the search term or pick another mode.
Use cases
| Buyer job | Input path | Output entity | Key fields | Next integration |
|---|---|---|---|---|
| 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 |
Input
Input fields
An empty form in search mode uses the search term air fryer. The other modes need a link or item ID and stop with a clear error without one. List fields take up to 100 entries of up to 2000 characters. Duplicates are removed.
| Field | Plain name | Type | Required | Default / prefill | Allowed values | Effect | Example | Recommendation |
|---|---|---|---|---|---|---|---|---|
mode | Data to collect | string | No | search | search, category, product, reviews, offers | Sets what the run collects | reviews | Use one mode per run |
queries | Search terms | string list | In search mode, if you send an empty list | air fryer | Any words | Searches Walmart.com | robot vacuum | Use the words a shopper uses |
productUrls | Product links or item IDs | string list | In product, reviews, offers | none | walmart.com product links or numeric IDs | Sets the products to read | 1438286796 | Item IDs are shorter |
categoryUrls | Category links | string list | In category | none | walmart.com /browse/ links | Sets the categories to read | https://www.walmart.com/browse/home/4044 | Copy the link from Walmart |
maxItems | Maximum results | integer | No | 10 | 1 to 1000 | Limits rows in the run | 100 | Start small |
maxPages | Maximum pages per input | integer | No | 50 | 1 to 100 | Limits pages for each input | 5 | Use a low value with review filters |
startPage | First page | integer | No | 1 | 1 to 100 | Skips earlier pages | 3 | Leave at 1 for the first run |
sort | Product order | string | No | best_match | best_match, best_seller, price_low, price_high, customer_rating, new | Orders search and category lists | price_low | Use it with a price range |
minPrice, maxPrice | Minimum and maximum price | number | No | none | 0 to 1000000, US dollars | Filters search and category lists | 25, 150 | Minimum cannot be above maximum |
facet | Product filters | string | No | none | Walmart filter string, up to 1000 characters | Filters search and category lists | brand:Gourmia | Test with maxItems: 10 first |
includeDetails | Open each product | boolean | No | false | true, false | Adds description, UPC, specifications, and variants | true | Each product uses one request |
includeVariants | Open product variants | boolean | No | false | true, false | Reads linked variants in product mode | true | Variants count toward maxItems |
reviewSort | Review order | string | No | relevancy | relevancy, submission-desc, submission-asc, rating-desc, rating-asc, helpful-desc | Orders reviews | submission-desc | Use newest first with reviewsAfter |
includeReviews | Add reviews to products | boolean | No | false | true, false | Adds review rows in product mode | true | Reviews have their own price |
maxReviews | Reviews per product | integer | No | 10 | 1 to 1000 | Limits reviews for each product with includeReviews | 20 | Keep it small for many products |
reviewRating | Review stars | integer | No | none | 1 to 5 | Keeps one star rating | 1 | Lower maxPages first |
verifiedOnly | Verified purchases only | boolean | No | false | true, false | Keeps verified reviews | true | Lower maxPages first |
reviewsAfter | Reviews from date | string | No | none | YYYY-MM-DD | Keeps reviews from this date | 2026-01-01 | Use with reviewSort: submission-desc and low maxPages |
postalCode | Requested US ZIP code | string | No | none | Five digits | Finds a nearby store | 10001 | Check location in the result |
storeId | Requested Walmart store | string | No | none | Store number, up to 8 digits | Reads this store | 3520 | Use it to compare exact stores |
state | Requested US state | string | No | none | Two letters | Limits the store to one state | NY | Add a ZIP for a specific area |
onlyChanges | Only new or changed results | boolean | No | false | true, false | Returns only new or changed rows in later runs | true | Use with a schedule |
stateName | History name | string | No | default | Lowercase letters, digits, hyphens, up to 40 characters | Separates histories | air-fryer-prices | Use one name per task |
monitorFields | Fields to compare | string list | No | price, wasPrice, inStock, rating, reviewsCount | Output field names | Sets which changes return a row | price | Keep the list short |
proxyConfiguration | Proxy | object | No | Apify datacenter proxy | Apify proxy or your URLs | Sets the connection | {"useApifyProxy": true} | Keep the default. Our tests and prices are based on it. Other groups can be slower, and Unblocker failed in our test |
deliveryConnector | Send results to | string | No | none | Your MCP connector | Posts a short summary after the run | See Send results to Slack or Notion | Optional |
deliveryTarget | Notion page or channel | string | No | none | Notion page link or Slack channel ID | Sets where the summary goes | See Send results to Slack or Notion | Optional |
Interacting settings
| When | Input A | Input B | Effective behavior | Example | Cost/result effect |
|---|---|---|---|---|---|
| Search or category with a store | postalCode, storeId, or state | queries or categoryUrls | The Actor opens each product for store data | queries: ["milk"], storeId: "3520" | Rows use the product detail price, and each product uses one more request |
| Price filter with a store | minPrice, maxPrice | storeId | Filters use the store price after the product opens | maxPrice: 5, storeId: "3520" | Checked pages are charged even if no price matches |
| ZIP and store | postalCode | storeId | The store must be among Walmart's nearby stores for the ZIP | 10001, 3520 | Otherwise the run stops with LOCATION_MISMATCH |
| Location in other modes | postalCode, storeId, state | mode: reviews or offers | The run stops before it reads products | mode: offers, postalCode: "10001" | LOCATION_UNSUPPORTED_MODE, start fee only |
| Review filters | reviewRating, verifiedOnly, reviewsAfter | maxPages | The filter runs after a page opens | reviewsAfter: "2026-01-01", maxPages: 5 | Each checked page is charged, also without matches |
| Change tracking | onlyChanges | stateName | Compares with the earlier run of the same name and store | stateName: "air-fryer-prices" | Each checked page uses the change tracking price, and unchanged rows are free |
| Product mode with reviews | includeReviews | maxReviews | Adds reviews to each product | maxReviews: 20 | Reviews do not count toward maxItems |
Input examples
Prefilled search
{"mode": "search","queries": ["air fryer"],"maxItems": 10}
Expected behavior: the Actor reads one search page. Expected output: 10 product rows. Cost note: about $0.03 on the Free plan.
Store price by ZIP code
{"mode": "product","productUrls": ["1438286796"],"postalCode": "10001","maxItems": 1}
Expected behavior: the Actor finds a store near ZIP 10001 and checks it on Walmart. Expected output: one product row, with location.requestedPostalCode set to 10001 and the ZIP of the store in location.postalCode. In our test, the store was in Secaucus, NJ. Cost note: about $0.005 on the Free plan.
Seller offers
{"mode": "offers","productUrls": ["1438286796"],"maxItems": 10}
Expected behavior: the Actor reads the seller list of one product. Expected output: one row per seller. Limit: the seller list has no store location. Cost note: three offers cost about $0.01 on the Free plan.
Recent reviews
{"mode": "reviews","productUrls": ["1438286796"],"reviewSort": "submission-desc","reviewsAfter": "2026-01-01","maxItems": 50,"maxPages": 10}
Expected behavior: the Actor reads up to 10 pages, newest first. Expected output: up to 50 reviews from 2026 on. Limit: a page has about 10 reviews, and checked pages are charged even with no match.
Price tracking
{"mode": "search","queries": ["air fryer"],"maxItems": 50,"onlyChanges": true,"stateName": "air-fryer-prices"}
Expected behavior: the first run returns all rows. Later runs return only new or changed rows. Limit: change tracking needs the same stateName and the same store in each run.
Output
The dataset has one row per product, offer, or review. recordType tells which one it is. null means Walmart did not give this value on the page the Actor read. Search rows have fewer fields. Product mode, includeDetails, or a store location fill in more.
Output fields
| Field | Meaning | Type | Can be empty? | Example / enum | Source / notes |
|---|---|---|---|---|---|
recordType | Kind of row | string | No | product, review, offer, status | All modes |
status | Row result | string | No | complete, not_found, error | not_found and error rows are free |
errorCode, input | Why one input failed, and which one | string | Yes | SOURCE_HTTP_ERROR, air fryer | Only on error rows |
itemId | Walmart item ID | string | Yes | 5144605607 | All modes |
title | Product name or review title | string | Yes | Ninja Air Fryer Pro XL 5-Qt | All modes |
price, wasPrice, unitPrice | Current, earlier, and per-unit price | number | Yes | 79.97 | US dollars when shown |
currency | Currency of the price | string | Yes | USD | From Walmart |
rating, reviewsCount | Average rating or review stars, and rating count | number | Yes | 4.6, 7740 | Stars for review rows |
seller, sellerId, sellerType | Seller name, ID, and type | string | Yes | Walmart.com, INTERNAL | Type on offer rows |
inStock, availability | Stock status | boolean, string | Yes | true, IN_STOCK | null if unknown |
fulfillmentType, fulfillment | Main type and the pickup, delivery, and shipping options that carry data | string, array | Yes | STORE | Aisle and dates in store runs when shown. storeId is null for shipping from a warehouse |
position | Rank among the cards read for one search term or category link, sponsored cards included | number | Yes | 1 | Counts from 1 and 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, bestSeller | Paid placement and Best seller badge | boolean | Yes | true, false | From the search card |
freeShipping | Free shipping shown on the card or offer | boolean | Yes | true | null if the card has no shipping text |
shippingArrival | Arrival text on a search or category card | string | Yes | tomorrow, in 3+ days, Mon, Nov 9 | Walmart's words, read at run time |
twoDayShipping | The card promises arrival within two days | boolean | Yes | true | Worked out from shippingArrival; null if the card has no shipping text |
shippingAvailable, pickupAvailable, deliveryAvailable | Which ways to get the item are shown | boolean | Yes | true, false | From the offer, the product page, or the card text |
location | City, ZIP, state, and store reported by Walmart | object | Yes | {"city": "Secaucus", "state": "NJ", "storeId": "3520", "requestedPostalCode": "10001"} | See FAQ |
url, images | Page link and image links | string, array | Yes | https://www.walmart.com/ip/1438286796 | All modes |
brand, model, upc, manufacturerProductId | Product identifiers | string | Yes | Gourmia, GTF2440, 810002864285 | Details and store rows |
description, shortDescription | Product text | string | Yes | Plain text | Details and store rows |
specifications, categories, variants, variantProducts | Attributes, category names, variant choices, and linked variants | array | Yes | {"name": "Brand", "value": "Gourmia"} | Details rows |
additionalOfferCount, orderMinLimit, orderLimit, offerId, badges, ratingCounts, buyBoxSuppression, subscriptionEligible | Other product facts | mixed | Yes | 2, 37 | When shown |
offers | Other offers embedded on the product page | array | Yes | [] | Use offers mode for the seller list |
condition, shippingPrice, freeShipping, shippingDeliveryDate, shipsTo | Offer condition and shipping | mixed | Yes | New, true, Sacramento, 95829 | Offer rows |
soldByWalmart, fulfilledByWalmart, catalogSellerId, sellerUrl, sellerRating, sellerReviewCount | Seller facts | mixed | Yes | true | Offer rows when shown |
shippingAvailable, pickupAvailable, deliveryAvailable, returnPolicy | Ways to get the offer, and its return rules | boolean, object | Yes | {"returnable": true, "days": 90} | Offer rows |
reviewId, reviewReferenceId | Review IDs | string | Yes | 431304431 | Review rows |
text, date, language | Review text, date, and locale | string | Yes | 2026-07-06T00:00:00.000Z, en_US | Midnight when only a date is shown |
verifiedPurchase, recommended, helpfulVotes, unhelpfulVotes | Review signals | mixed | Yes | true, 0 | Review rows |
fulfilledBy, reviewAspects, productOptions | Who fulfilled the order, labeled aspects, and variant choices | mixed | Yes | Walmart | Review rows |
reviewSummary, totalReviewCount, reviewsWithTextCount, productRating | Facts about all reviews of the product | mixed | Yes | 14399, 4.4 | Review rows |
changeType, previousValues | New or changed row, with earlier values | string, object | Yes | changed, {"price": 89.97} | Only with onlyChanges |
query | Search term that found the row | string | Yes | air fryer | Search mode |
source, fetchedAt | Source site and time of collection in UTC | string | No | https://www.walmart.com | All modes |
Scope limits: the Actor does not save reviewer names or profiles. Filters and change tracking work on the values above.
Output entities and surfaces
| Situation | Dataset/API/KVS/live view | Result shape | User action |
|---|---|---|---|
| Normal item | Dataset and Output tab, RUN_SUMMARY record | Rows with status: complete | Use the data |
| Domain-empty (no product, no result) | Dataset may have a not_found row, RUN_SUMMARY has status: not_found | No paid rows | Check the term or ID |
| Partial (page limit, spending limit, or time limit) | Saved rows stay in the dataset, RUN_SUMMARY has status: partial and stopReason | Run ends as SUCCEEDED | Raise the limit and run again |
| Technical failure (Walmart blocks or changes a page) | Saved rows stay, RUN_SUMMARY has stopReason | With saved rows, SUCCEEDED with status: partial. With none, FAILED | Try again later, and see Troubleshooting |
Output example
{"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"}
Send results to Slack or Notion
Pick your connector in the optional deliveryConnector field. After the run saves its data, the Actor posts a short summary there, with up to 25 rows and a link to the full dataset. Put a Notion page link or a Slack channel ID in deliveryTarget. In Notion, every run is added on top of that one page. A delivery error never fails the run, and delivery costs nothing extra. Connect your services once in Apify Console → MCP connectors.
Use case → fields
| Use case | Fields to read |
|---|---|
| Price tracking | itemId, price, wasPrice, changeType, previousValues, fetchedAt |
| Store comparison | itemId, price, inStock, fulfillment, location |
| Search rank | query, position, sponsored, bestSeller, price |
| Seller check | seller, sellerType, price, condition, freeShipping, returnPolicy |
| Review research | rating, text, date, verifiedPurchase, helpfulVotes, reviewSummary |
| Catalog list | title, brand, model, upc, specifications, images |
Pricing
Pricing unit
Each run costs one start fee, then you pay per row and per checked page. Platform usage (proxy and compute) is included in these prices.
| Event | Free | Bronze | Silver | Gold and up |
|---|---|---|---|---|
Run start (apify-actor-start) | $0.0012 | $0.0012 | $0.0012 | $0.0012 |
Search or category product (search-product) | $0.00279 | $0.002511 | $0.002232 | $0.001953 |
Product with details or store data (product-detail) | $0.00279 | $0.002511 | $0.002232 | $0.001953 |
Seller offer (offer) | $0.00279 | $0.002511 | $0.002232 | $0.001953 |
Review (review) | $0.00027 | $0.000243 | $0.000216 | $0.000189 |
New or changed product (changed-product) | $0.0009 | $0.00081 | $0.00072 | $0.00063 |
Checked page (data-check) | $0.00045 | $0.000405 | $0.00036 | $0.000315 |
Checked page with change tracking (monitor-page) | $0.0009 | $0.00081 | $0.00072 | $0.00063 |
- A search with no products costs the start fee and one checked page. Walmart was asked and answered.
- With a review filter or price filter, checked pages are charged even if no row matches.
- With change tracking, unchanged rows are free. Checked pages use
monitor-pageinstead ofdata-check. - A
not_foundorerrorstatus row is free. - In a partial or failed run, you pay for rows saved and pages checked before the stop. Errors from Walmart have no row charge.
- The start fee scales with run memory (per GB). The default 256 MB run pays one start event.
- In Console, the default spending limit is $0.20 per run, about 70 products on the Free plan. Raise Maximum cost per run in the run options for bigger runs. In an API run, the platform sets the limit, so pass
maxTotalChargeUsdyourself.
Cost examples
Free plan prices. Rows and pages come from our test runs.
| Scenario | Input scope | Expected item/event count | Base charge | Optional charge | Stop/cap behavior |
|---|---|---|---|---|---|
| Prefilled search | 1 term, maxItems: 10 | 10 products, 1 page | $0.02955 | none | Ends at 10 rows |
| Bigger search | 1 term, maxItems: 100 | 100 products, 3 pages | $0.28155 | none | Needs a spending limit above $0.29 |
| Largest search we tested | 2 terms, maxItems: 700 | 700 products, 19 pages | $1.96275 | none | Ends at 700 rows, needs a spending limit above $1.97 |
| One product in one store | 1 ID, storeId | 1 product, 2 checks | $0.00489 | none | Ends at 1 row |
| Seller offers | 1 ID | 2 offers, 1 check | $0.00723 | none | Ends when the list ends |
| Reviews | 1 ID, maxItems: 1000, maxPages: 100 | 999 reviews, 100 pages | $0.31593 | none | Ends as partial with PAGE_LIMIT, needs a spending limit above $0.32 |
| Review filter with no match | 1 ID, maxPages: 10 | 0 reviews, 10 pages | $0.0057 | none | Ends as partial with PAGE_LIMIT |
| Search with no results | 1 term | 0 products, 1 page | $0.00165 | none | Ends as not_found |
| Price check with no change | 1 term, onlyChanges | 0 rows, 1 page | $0.0021 | none | Ends with no rows |
| Price check with one change | 1 term, maxItems: 1, onlyChanges | 1 changed product, 1 page | $0.003 | none | Returns changed rows |
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
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 60 seconds, the run stops with
DEADLINE. A run timeout under about 60 seconds can stop at once withINVALID_RESOURCES. - Attempts: up to 6 for each page link and up to 4 for each seller-offers or store-lookup request.
- Location: reviews and seller offers do not take a store location. Without a location, Walmart picks one. Our tests got Sacramento, CA.
- Change tracking history: up to 20,000 records or 4 MB per history name and store.
- Inputs: up to 100 per list field.
API, export and integrations
- API: start a run and read rows with the Apify API.
- Export: save rows from the dataset in JSON, CSV, Excel, or HTML.
- Scheduling: use Apify schedules for regular price checks with
onlyChanges. - Webhooks: use Apify webhooks to get a call when a run ends.
- SDK and MCP: use the Apify SDKs or the MCP server below.
Use with AI agents (MCP)
Connect this Actor to an AI agent with this MCP server URL:
https://mcp.apify.com?tools=cliqtomedia/walmart-scraper
Minimal input, the same as the prefilled search:
{"queries": ["air fryer"],"maxItems": 10}
The agent gets rows with title, price, rating, seller, and inStock. This call took under a minute in our test runs and costs about $0.03 on the Free plan. Limits: 1000 rows per run and a $0.20 default spending limit.
Troubleshooting
The run has no rows
- Symptom: the dataset is empty or has one
not_foundrow. - Likely reason: Walmart has no result for the term, or the item ID does not exist.
- Check: open the term or ID on walmart.com.
- Action: change the term or ID, and run with
maxItems: 10.
The run stopped with CHARGE_LIMIT
- Symptom: fewer rows than
maxItems, withstatus: partial. - Likely reason: the run reached its spending limit. The default is $0.20.
- Check:
stopReasoninRUN_SUMMARY. - Action: raise Maximum cost per run and run again. Rows already saved stay in the dataset.
The run stopped with PAGE_LIMIT
- Symptom: few rows or no rows, with
status: partial. - Likely reason: a review or price filter did not match within
maxPages. - Check:
checkedPagesinRUN_SUMMARY. - Action: change the filter or raise
maxPages. Each page has a charge.
One input failed and the others went on
- Symptom: a free row with
status: error, andstopReason: INPUT_ERRORSinRUN_SUMMARY. If every input failed, the run ends asFAILEDwith the first code. - Likely reason: the code in
errorCodesays why.SOURCE_HTTP_ERROR,SOURCE_API_ERROR, andSOURCE_ERRORmean Walmart answered with an error.SOURCE_TIMEOUTandSOURCE_NETWORK_ERRORmean no usable answer came.SOURCE_FORMATmeans the page had no expected data.REDIRECT_LIMITmeans too many redirects,PAGE_TOO_LARGEmeans a page over 6 MB, andPAGINATION_STALLEDmeans a list stopped giving new pages. - Check:
inputin the row, andfailedInputsinRUN_SUMMARY. - Action: run that input again later. If it repeats, send us the run ID on the Issues tab.
The run stopped with SOURCE_BLOCKED
- Symptom: the remaining inputs were not read, and they are listed in
unprocessed. With saved rows, the run ends asSUCCEEDEDwithstatus: partial. With none, it ends asFAILED. - Likely reason: Walmart refused the connection, so more requests would not help.
- Check:
blockedandretriesinRUN_SUMMARY. - Action: run again later. If it repeats, send us the run ID on the Issues tab.
The run stopped with REQUEST_LIMIT, BYTE_LIMIT, DEADLINE, or CANCELLED
- Symptom: fewer rows than
maxItems. With saved rows, the run ends asSUCCEEDEDwithstatus: partial. With none, it ends asFAILED. - Likely reason: the run reached a limit from Limits.
CANCELLEDmeans the run was aborted. - Check:
requests,bytes, andstopReasoninRUN_SUMMARY. - Action: split the input into smaller runs. For
DEADLINE, also raise the run timeout.
The run failed with LOCATION_MISMATCH or LOCATION_NOT_FOUND
- Symptom: the run stops. With no saved rows, it ends as
FAILED. - Likely reason: the store number does not exist, it is not near the ZIP, or Walmart served another store. No wrong price is saved.
- Check: the ZIP, store number, and state.
- Action: use only one of them first, then add the others.
The run failed before it read any page
- Symptom: an error code that starts with
INVALID_, or ends with_REQUIRED, orLOCATION_UNSUPPORTED_MODE.INVALID_RESOURCESmeans the run timeout is too short. - Likely reason: the input has a wrong value, or the mode needs another field.
- Check: Input fields and the run timeout.
- Action: fix the field or the timeout. The run pays only the start fee.
Change tracking returned all rows again
- Symptom: rows are not filtered, and
stateWarninginRUN_SUMMARYhas a value such asSTATE_UNAVAILABLE,STATE_READ_FAILED, orSTATE_WRITE_FAILED. - Likely reason: the Actor could not open or save the history. All rows return and are charged.
- Check:
stateWarningandstateName. - Action: run again, or use a new
stateName. A new name starts a new history.
FAQ
Do I need a Walmart account or API key?
No. The Actor 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 Actor checks that Walmart served this store before it saves the row. In our test, the same milk product cost $2.65 in one store and $4.40 in another. For a ZIP, Walmart can pick a store in a neighboring state. location.requestedPostalCode shows your ZIP, and location.postalCode shows the store ZIP. With only a state, the Actor uses the first city in Walmart's directory.
Why are some fields null?
Walmart did not give this value on the page the Actor read. Search rows have no UPC or description. Turn on includeDetails or use product mode to get them.
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.
What does a run cost if nothing is found?
The start fee and one checked page, about $0.002 on the Free plan.
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.
Related Actors
- Google Shopping Scraper: product prices and stores from Google Shopping.
- Shopify Store Products Export: products from any Shopify store.
- AliExpress Scraper: AliExpress products, prices, and reviews.
- eBay Sold Listings Scraper: sold prices and dates from eBay.
Support
Use the Issues tab on this Actor page. Send the run ID, the input mode, and the error text if it has no private data. Never send tokens, cookies, or private data.

