Walmart Product Scraper
Pricing
from $1.00 / 1,000 results
Walmart Product Scraper
Reads Walmart.com product pages by item ID or /ip/ URL and returns one row per item: numeric price, was-price, brand, star rating, review count, availability status, the marketplace seller behind the buy box and the main image. Values come from Walmart's own item record, not display strings.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
String
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Walmart Product Scraper — price, stock, ratings and seller by item ID
This Actor scrapes Walmart.com product pages by item ID or product URL and returns one row per item:
a numeric price, plus wasPrice, rating, reviewCount, availability, sellerName,
brand and the main image. Every value is read out of the item record Walmart's own storefront
renders from, so prices, ratings and stock arrive as typed values rather than display strings.
No Walmart account, API key or cookies are used — the Walmart Product Scraper reads what a logged-out visitor sees on the product page. One row per item, about 3.3 seconds per product page at the measured median.
What it returns
| Field | Type | Notes |
|---|---|---|
itemId | string | Walmart's US item ID — stable, use it to join or de-duplicate |
title | string | |
brand | string | |
price | number | 2.36, not "$2.36" |
priceText | string | The formatted price as shown, e.g. $2.36 |
wasPrice | number | The pre-markdown price, and only while it is genuinely higher than price |
currency | string | USD |
rating | number | Average stars out of 5 |
reviewCount | number | Exact review count |
availability | string | Walmart's own status, e.g. IN_STOCK, OUT_OF_STOCK; UNKNOWN if the record states none |
sellerName | string | The storefront the buyer sees — Walmart.com for Walmart's own items, otherwise the marketplace seller |
imageUrl | string | The main product image |
productUrl | string | Walmart's canonical URL for the item |
sourceUrl, collectedAt | string | Provenance for every row |
A wasPrice stays on Walmart's record after a promotion ends, so this Actor reports it only when it
actually exceeds what the item sells for today. A stale one is returned as null rather than as a
discount that no longer exists.
Input
{"products": ["10450114", "https://www.walmart.com/ip/10450114"],"maxItems": 1000}
| Field | Description |
|---|---|
products | Walmart item IDs or full walmart.com product URLs. Required, 1–300. |
maxItems | Cap on dataset items. Default 1000. Free plans stop at 250 requests and 250 results — see below. |
concurrency | Items fetched in parallel. Default 2, maximum 5. |
A Walmart item is addressed by its numeric item ID, which is the last path segment of a /ip/
URL — https://www.walmart.com/ip/Great-Value-Whole-Milk-Gallon/10450114 is item 10450114. The
bare ID and the full URL resolve to the same page and are fetched once, so a mixed list is never
billed twice for one item.
A URL on another host, or a walmart.com URL that is not an item page — a /browse/ shelf, a seller
storefront — is rejected before it costs a fetch and is reported under failures.
How it reads the page
Walmart server-renders the whole item record into its Next.js page data, and the Walmart Product
Scraper reads the row out of that object rather than out of the rendered markup. That record carries
prices, ratings and stock as typed values, which is why price, wasPrice, rating and
reviewCount come back as numbers with no display strings to clean up.
Use cases
- Price and rollback monitoring across a catalogue of Walmart items
- Stock checks on items you resell or source
- Marketplace-seller intelligence — which third-party seller holds the buy box
- Enriching a product feed with brand, rating and review count
- Feeding a repricing or competitive-pricing dashboard on a schedule
Frequently asked questions
Do I need a Walmart account, API key or cookies to scrape Walmart products? No. The Walmart Product Scraper reads only the public product page a logged-out visitor sees.
What is a Walmart item ID? The numeric identifier at the end of a Walmart product URL, for
example 10450114 in walmart.com/ip/Great-Value-Whole-Milk-Gallon/10450114. Pass it bare or pass
the whole URL — both work.
Can this Actor search Walmart or crawl a category? No. You supply the items; this Actor does not do discovery, so it never spends fetches on pages you did not ask for.
Does it return third-party marketplace sellers? Yes. sellerName is the storefront name shown on
the item — Walmart.com for Walmart's own inventory, or the marketplace seller's name.
How many rows does one item produce? One. The Walmart Product Scraper fetches one product page per item and emits one row from it.
What happens to an item ID that no longer exists? That target is recorded under failures in the
run's SUMMARY key, with Walmart's own error reason where it gives one, and the rest of the batch
still returns.
Limitations
Product pages on walmart.com (US) only. This Actor does not return review text, variant matrices,
specification tables, per-store shelf inventory, or the full offer list behind the buy box, and it
does not search or crawl categories. Values reflect what Walmart showed at collection time, stamped
in collectedAt.
Free plan limit
Runs started from an Apify free plan stop at 250 requests and 250 results, and the run
reports that it reached the limit. Any paid plan runs the full input and maxItems you set.
The limit exists because this Actor fetches through our own infrastructure, which Apify does not cover for free-plan runs. It binds on requests as well as results so that a large input list cannot spend those fetches for rows the run will not return.