Walmart Product & Reviews Scraper
Pricing
from $0.80 / 1,000 results
Walmart Product & Reviews Scraper
Scrape Walmart products and customer reviews with structured data including product titles, prices, ratings, review counts, availability, product URLs, and review details for e-commerce research, price monitoring, and competitor analysis.
Pricing
from $0.80 / 1,000 results
Rating
0.0
(0)
Developer
MrDoe
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Walmart Product & Reviews Scraper do?
Walmart Product & Reviews Scraper extracts data from Walmart.com - product search results, full category listings, deep product details, every third-party seller offer, and paginated customer reviews - anonymously, no login, no Walmart account, no API key. Five operations live in one actor: pick one per run, hand it a single item or a batch, and get clean, flat rows back.
Why use this Actor?
- Price tracking - schedule
productDetailsorsearchon a cron and diff consecutive runs to catch price drops, rollbacks, and restocks. - Competitor/catalog mapping -
productsByCategorygives you a full category listing (price, rating, seller) for assortment and share-of-shelf analysis. - Buy-box / marketplace intelligence -
productOffersreturns every third-party seller's offer for a product as its own row (seller, price, shipping, WFS, return policy) - see exactly who's undercutting you. - Voice-of-customer research -
productReviewsreturns full review text, rating, verified-purchase status, and helpful-vote counts, paginated. - Batch, one start fee - pass a list of product IDs, search queries, or category IDs and one run covers all of them.
How to use it
- Pick an Operation: Product Search, Products by Category, Product Details, Product Offers, or Product Reviews.
- Fill the matching field:
- Search →
query(e.g.coffee maker) orqueriesfor a batch. - Products by Category →
categoryId(e.g.3944= Electronics, or3951= Laptops) orcategoryIdsfor a batch. You can paste the bare leaf ID or the full underscore-joined breadcrumb path - see Category ID format below. - Product Details / Offers / Reviews →
productIdorproductIdsfor a batch.
- Search →
- Optionally set
domain(us/ca),sortBy, price filters, or the review-specific fields. - Click Start.
Batch fields (queries/categoryIds/productIds) win over their singular counterparts when filled; duplicates and blanks are dropped automatically.
There is no page cap - search, productsByCategory, and productReviews always paginate through to the site's own last reported page for each item. Batch a lot of items and this can produce a very large run; that's intentional, not a bug. Use maxItems (see below) if you want to bound total spend instead.
Input
| Field | Type | Description |
|---|---|---|
operation | string (required) | One of: search, productsByCategory, productDetails, productOffers, productReviews. |
query / queries | string / array | Search keyword(s). Used by search. |
categoryId / categoryIds | string / array | Walmart category ID(s). Used by productsByCategory. |
productId / productIds | string / array | Numeric usItemId or alphanumeric product ID(s). Used by productDetails, productOffers, productReviews. |
domain | string | us (walmart.com) or ca (walmart.ca). Defaults to us. |
sortBy | string | best_match, price_low, price_high, best_seller, top_rated. Applies to search/productsByCategory. |
minPrice / maxPrice | integer | Price filters. Applies to search/productsByCategory. |
storeId / state | string | Localize availability/shipping. Applies to search/productsByCategory. |
reviewSort | string | relevancy, recent, rating_high_low, rating_low_high. Applies to productReviews. |
reviewRating | integer | Bias results toward this star rating (1-5). Applies to productReviews - see the caveat below. |
reviewLimit | integer | Reviews per page (default 10, max 50). |
maxItems | integer | Caps total result rows across the whole run (all queries/categories/products combined). The first 10 rows in a run are always free - see Pricing. Blank = no cap. |
proxyConfiguration | object | A residential proxy is strongly recommended - Walmart's bot defenses flag high-volume traffic from one IP. |
Category ID format
Top-level departments are a single number (3944 = Electronics, 4044 = Home). Sub-categories are documented via a full underscore-joined breadcrumb path (3944_1089430_3951 = Electronics › Computers, Laptops and Tablets › Laptops), which you can paste as-is - the Actor extracts just the last (leaf) segment for the actual request, since that's what Walmart's category pages actually key off of.
Find a category's ID by opening any product in it via productDetails and reading the categories[] array in the output - each entry's URL ends in one number; the leaf category's number is what you want.
Output
One flat row per item. Search/category rows carry product fields; offer rows carry seller fields; review rows carry review fields. Every row has _operation (which mode produced it) and status (success or error) so you can split/filter a mixed export.
Product row example:
{"_operation": "productDetails","productId": "4SZSM8SXAAJT","usItemId": "609040889","productTitle": "Restored MacBook Air 13.3\" Laptop - Apple M1 chip - 8GB Memory - 256GB SSD - Space Gray","brand": "Apple","model": "MGN63LL/A","upc": "194252048955","price": 399,"listPrice": null,"currency": "USD","rating": 4.2,"reviewCount": 6442,"ratingBreakdown": { "five": 4727, "four": 428, "three": 196, "two": 141, "one": 950 },"availability": "In stock","outOfStock": false,"seller": "Nebsys Corp","sellerType": "EXTERNAL","returnReturnable": true,"returnFree": true,"returnWindowDays": 30,"categories": [{ "name": "Electronics" }, { "name": "Laptops" }],"specifications": [{ "name": "Processor", "value": "Apple M1" }],"images": ["https://i5.walmartimages.com/..."],"productUrl": "https://www.walmart.com/ip/.../609040889","status": "success"}
Offer row example (one per seller):
{"_operation": "productOffers","productId": "3406383181","offerId": "A6E0AF9655D24A1098AF19C794FB4BB1","sellerName": "Walmart.com","sellerType": "INTERNAL","price": 49.97,"priceDisplay": "$49.97","wfsEnabled": false,"freeShipping": true,"returnReturnable": true,"returnWindowDays": 90,"inStock": true,"status": "success"}
Review row example:
{"_operation": "productReviews","productId": "609040889","reviewId": "423325961","reviewTitle": "Great machine for the price","reviewRating": 5,"reviewBody": "Very light, fast and easy to setup...","reviewAuthor": "zae357","verifiedPurchase": true,"status": "success"}
Every row also spreads the raw upstream Walmart fields alongside the curated ones (curated fields always win on any name collision), so nothing is lost if you need something not in the curated set above.
Pricing
This Actor uses pay-per-event pricing - one small run-start charge, then a per-row charge for each operation (search/category/product-detail/offer/review result). See the Pricing tab for current rates. The first 10 result rows in a run are always free, regardless of how many items you batch in; every row after that is charged normally. Failed lookups land as status: "error" rows and are never charged. There's no page cap, so use maxItems (and batch size) to bound spend on a given run.
Limitations
- Only the numbers/text Walmart shows to an anonymous, logged-out visitor are available - no seller-account-only data.
reviewRatingbiases results toward that star rating but isn't a strict hard filter in every case - pairing it with an explicitreviewSortis more reliable (see code comments for what was live-verified).- Walmart's page schema drifts over time (already observed once during development - a price field moved from a flat string to a nested
priceLinesstructure); the extraction code is written defensively with multiple fallback paths, but very large future redesigns may need an update.
FAQ
Does Walmart have a public API? Not one that covers open product search, full category listings, per-seller offers, or customer reviews without seller/partner approval. This Actor gets you the same data anonymously, no approval process.
Do I need a Walmart account or API key? No - it runs entirely against Walmart's public, logged-out web pages.
Which marketplaces are supported? walmart.com (domain: "us") and walmart.ca (domain: "ca").
A run returns 0 results with no error - why? For productsByCategory, this is almost always the category ID pointing at a top-level department "hub" page (curated modules, no plain product grid) rather than a real leaf category - try a more specific sub-category ID. For search/productReviews, an unusually narrow filter combination can also legitimately return nothing.
Disclaimer
This Actor is an independent tool, not affiliated with or endorsed by Walmart Inc. It only accesses data Walmart serves publicly to anonymous visitors. Use it in compliance with Walmart's Terms of Service and applicable law in your jurisdiction. Found a bug or have a feature request? Use the Issues tab on this Actor's page.