Walmart Data Scraper — Search & Product Pages avatar

Walmart Data Scraper — Search & Product Pages

Pricing

from $1.15 / 1,000 results

Go to Apify Store
Walmart Data Scraper — Search & Product Pages

Walmart Data Scraper — Search & Product Pages

Both halves of Walmart in one Actor. Search by keyword to export the products a term returns, or paste product links to read those pages in full. Pick the mode, fill in that section, and every row comes back as the same structured record.

Pricing

from $1.15 / 1,000 results

Rating

5.0

(1)

Developer

The Netaji

The Netaji

Maintained by Community

Actor stats

2

Bookmarked

36

Total users

1

Monthly active users

14 days ago

Last modified

Share

Walmart Data Scraper

Both halves of Walmart in one Actor. Search by keyword to export the products a term returns, or paste product links to read those pages in full. scraperType picks the mode; fill in that mode's section and leave the other empty.

{
"scraperType": "productsSearch",
"keyword": "coffee maker",
"maxItems": 100,
"enrichProductDetails": false
}
{
"scraperType": "productDetail",
"product_urls": [
"https://www.walmart.com/ip/Mainstays-Black-12-Cup-Drip-Coffee-Maker/5162907971"
]
}

Choosing a mode

productsSearch runs a keyword search and saves the products it returns. productDetail reads product pages you already have links for. Both write the same record shape, so a run of either drops into the same spreadsheet or database column-for-column — the difference is which fields are populated, described below.

Accepted input

scraperType is required and is the first thing to set.

For productsSearch: keyword is the term to search for. enrichProductDetails adds the full product page to every search row, which is where brand, model, upc, currency, return_policy and variants come from; it makes one extra request per product and defaults to false.

For productDetail: product_urls takes one or more product page links in their full /ip/<name>/<id> form. A bare item ID is not accepted — Walmart's anti-bot gate rejects a link assembled from one, so an input that looked like it should work would fail upstream for a reason you could not see.

maxItems applies to both modes and bounds how many products are saved. It defaults to 100; 0 disables the bound.

Each mode raises a clear error if its own identifier is missing, so a run started in the wrong mode tells you which field it wanted rather than returning nothing.

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 a search 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.

What each mode fills in

Search rows carry the fields above. brand is present but frequently null on a search row even where the product page records one, and product carries the complete listing record for anything not broken out into its own field.

Product pages additionally carry brand filled in, plus model, upc, currency, return_policy, variants, and product_detail — the complete product page record. Enabling enrichProductDetails on a search run adds exactly these to every row.

Upgrading from 3.x

Version 4 is a rewrite. Earlier versions drove a browser inside the Actor; the work now runs on dedicated infrastructure, which is why this release is faster and no longer needs the memory a browser did.

The input changed shape: 3.x took one mode's fields flat, and 4.0 asks for scraperType first. A saved task carrying a 3.x input will not name a mode, so set scraperType on it once. Nothing else about the input moved — keyword, product_urls, maxItems and enrichProductDetails all mean what they meant.