Walmart Search Scraper — Products By Keyword avatar

Walmart Search Scraper — Products By Keyword

Pricing

from $2.55 / 1,000 results

Go to Apify Store
Walmart Search Scraper — Products By Keyword

Walmart Search Scraper — Products By Keyword

Search Walmart for any keyword and export the products it returns, each with its item ID and product page link. Turn on product details to add the full product page to every row.

Pricing

from $2.55 / 1,000 results

Rating

0.0

(0)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Walmart Search Scraper

The Actor searches Walmart for a keyword and saves the products it returns, each with its name, price, star rating and review count, the seller offering it, its stock state, and whether the row is a paid placement. Enabling enrichProductDetails adds the product page to every row, which is where the brand, model, UPC and return policy come from.

{
"keyword": "coffee maker",
"maxItems": 100,
"enrichProductDetails": false
}

Accepted input

keyword is required and is the term the search is run for. maxItems bounds the number of products saved and defaults to 100; a value of 0 disables the bound. enrichProductDetails defaults to false.

Result fields

item_id is Walmart's item identifier and url is the product page link. name, price, rating, and review_count describe the product; price_info holds every price Walmart publishes for it, including any was-price, savings, unit price, and subscription pricing, with fields that do not apply returned as empty strings rather than omitted.

seller_id and seller_name identify who is selling it. Walmart's own listings carry a seller ID like any marketplace seller's and report Walmart.com as the name, so first-party and third-party offers are distinguishable. availability is the stock state as Walmart displays it, fulfillment_title is its shipping summary, image_url and image_info cover the imagery, and category is the Walmart category path.

sponsored records whether the row is a paid placement. Walmart mixes sponsored listings into organic results, and they are kept rather than dropped so a run can count or filter them; a search that silently discarded them would misrepresent what the results page contains.

brand is present but frequently null on search rows even where the product page records one. product carries the complete listing record for anything not broken out into its own field.

With enrichProductDetails enabled each row additionally carries brand filled in, plus model, upc, currency, return_policy, variants, and product_detail.

{
"item_id": "5020183504",
"url": "https://www.walmart.com/ip/Beautiful-Slim-Espresso-Maker/5020183504",
"name": "Beautiful Slim Espresso Machine with 20-Bar Pressure, Black Sesame",
"price": 139,
"rating": 3.9,
"review_count": 2802,
"seller_name": "Walmart.com",
"availability": "In stock",
"sponsored": true,
"brand": null,
"price_info": { "linePrice": "$139.00", "wasPrice": "", "savingsAmt": 0 }
}

This is a trimmed, live-verified row. Note the null brand alongside a fully populated name and price; that combination is normal on this surface rather than a parsing failure.

url is not a convenience field. It is the only accepted input to a Walmart product page lookup, both for the Walmart Product Scraper and for this Actor's own enrichment step. A link rebuilt from item_id alone is refused: Walmart's anti-bot gate treats the shortened /ip/<id> shape differently from the real /ip/<name>/<id> one, so the assembled link fails where the genuine link succeeds.

Walmart publishes the link as a relative path. It is returned here as a full link, since a relative path is not clickable in an export and the product lookup accepts either form.

How far a search goes, and where it stops

The search is advanced by asking for a total number of products rather than by walking pages, and each run requests exactly the shortfall between what has been saved and maxItems. Walmart serves roughly 54 products per underlying page, so a higher figure costs proportionally more upstream work behind a single call. A single request returns at most 300 products.

Consecutive underlying pages overlap by a handful of promoted listings, so the run keeps every item_id it has already saved and yields each one only once. It stops when maxItems is reached, when Walmart reports no further results, or when two consecutive requests return nothing that has not already been saved. That last condition is what ends a run against a keyword whose results have been exhausted but which still reports more available.

What enrichment costs, and what it adds

Enrichment is one additional request per product and is charged per product as a separate event, billed only after the product page has been read successfully. A product whose page cannot be read keeps its search row unchanged and is not charged.

Where the page and the card disagree, the page wins on the fields it actually has a value for. Where the page has nothing, the card's value survives — which matters for price, because the card quotes it at the top level of the listing while the page quotes it under its own price info, and a page that omits it must not blank out a figure already collected.

Enriching a run of 1,000 products means 1,000 extra requests, which is why the setting is off by default.

For a known list of product links rather than a keyword search, the Walmart Product Scraper reads them directly and skips the search entirely. For the same job on other marketplaces, the eBay Category Products Scraper browses a whole eBay category, the Etsy Search Scraper searches Etsy by keyword, and the eBay Keyword Tool expands seed terms into the phrases shoppers search.