Walmart Product Scraper
Pricing
from $2.00 / 1,000 product scrapeds
Walmart Product Scraper
Scrape Walmart.com products by keyword or product URL: item ID, name, price, was-price, savings, rating, reviews, seller, deal badges, and image. Export as JSON, CSV, or Excel.
Pricing
from $2.00 / 1,000 product scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Walmart Product Scraper
Scrape Walmart.com products by keyword or product URL and get clean, structured data — item IDs, prices, was-prices, savings, ratings, reviews, sellers, deal badges, and images — with no Walmart API key and no browser automation.
| Search Walmart by keyword or paste product URLs, sort by best match, price, rating, best seller, or newest, page through results automatically, and get 16 structured fields per product — price, was-price, savings, on-sale flag, rating, review count, seller, fulfillment type, deal badge, image, and sponsored flag — ready for JSON, CSV, or Excel. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Use the Apify actor "parsebird/walmart-product-scraper" via the ApifyClient. Example (Python): from apify_client import ApifyClient; client = ApifyClient("<APIFY_TOKEN>"); run = client.actor("parsebird/walmart-product-scraper").call(run_input={"searchQueries": ["laptop"], "productUrls": [], "maxProductsPerSearch": 100, "maxSearchPages": 5, "sort": "best_match", "maxRequestRetries": 5}); items = list(client.dataset(run["defaultDatasetId"]).iterate_items()). Key inputs: searchQueries (array of keywords; each runs a separate search; a Walmart search URL also works), productUrls (array of https://www.walmart.com/ip/... URLs for direct product details; normalized and de-duplicated by item ID), maxProductsPerSearch (integer, default 100), maxSearchPages (integer, default 5, ~40 products per page), sort (one of best_match, best_seller, price_low, price_high, rating_high, new), maxRequestRetries (integer, default 5), proxyConfiguration (defaults to Apify Proxy US residential, which is required). Output fields per product: usItemId, name, price, priceString, wasPrice, savings, onSale, rating, reviewCount, seller, fulfillmentType, flag, thumbnail, url, isSponsored, scrapedAt. Full API spec: https://apify.com/parsebird/walmart-product-scraper/api. Get an API token at https://console.apify.com/settings/integrations.
What does Walmart Product Scraper do?
Walmart Product Scraper extracts product data from Walmart.com the same way the Walmart website loads it — from Walmart's own embedded product data — so you get structured fields instead of text scraped off a rendered page. It is a lightweight Walmart API alternative: no reverse-engineering, no headless browser, no login.
🔎 Two input modes — add a list of search keywords (each keyword runs its own Walmart search), or paste Walmart product URLs (https://www.walmart.com/ip/...) for direct product details and price monitoring. You can mix both in one run.
↕️ Sort control — order search results by best match, best seller, price low-to-high, price high-to-low, rating, or newest, matching Walmart's own sort options.
📄 Automatic pagination — set a maxProductsPerSearch target and the Walmart scraper pages through results (about 40 products per page) on its own, de-duplicating listings and stopping at Walmart's search ceiling of roughly 1,000 products per keyword.
💲 Price and deal data — current price, "was" price, savings text, an onSale flag, and the deal badge Walmart shows on the card (Rollback, Best seller, Clearance, 100+ bought since yesterday, and similar).
⭐ Ratings and seller info — average star rating, review count, seller name (Walmart.com or a marketplace seller), and fulfillment type.
📷 Direct links — a clean product URL and a product image URL for every item, plus a usItemId you can use as a stable key.
☁️ Runs on Apify — schedule recurring runs, call it from the API, connect it to integrations (Make, Zapier, n8n, Google Sheets, Slack), and export as JSON, CSV, Excel, or XML.
What data can you extract from Walmart.com?
| Field | Description |
|---|---|
usItemId | Walmart item identifier — a stable key for the product |
name | Product name as shown on the Walmart listing |
price | Current price as a number, e.g. 23.78 |
priceString | Formatted current price, e.g. $23.78 |
wasPrice | Original price before discount, when the item is on sale |
savings | Savings text, e.g. SAVE $5.60 |
onSale | Whether the product is currently discounted |
rating | Average star rating from 0 to 5 |
reviewCount | Number of customer reviews |
seller | Seller name, e.g. Walmart.com or a marketplace seller |
fulfillmentType | Delivery / fulfillment method reported by Walmart |
flag | Deal badge, e.g. Rollback, Best seller, 100+ bought since yesterday |
thumbnail | Product image URL |
url | Direct link to the Walmart product page |
isSponsored | Whether the listing is a sponsored (paid) placement |
scrapedAt | ISO 8601 timestamp when the data was extracted |
See the Output example below for the full record shape. Download results in JSON, CSV, Excel, or XML.
How to scrape Walmart.com product data
- Click Try for free / Start to open the Walmart Product Scraper.
- Add one or more Search keywords (for example
laptop), or paste Product URLs such ashttps://www.walmart.com/ip/JLab-Go-Air-Pop-Bluetooth-Earbuds/17828556665. - Pick a Sort by order and set Max products per search and Max search pages.
- Keep the default Proxy configuration (Apify Proxy, US residential) — it is required to reach Walmart.
- Press Start. Watch the run log; results stream into the dataset as they are collected.
- Open the Storage tab and export as JSON, CSV, Excel, or XML, or pull them from the API.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
searchQueries | array | Yes* | ["laptop"] | Keywords to search on Walmart. Each keyword runs a separate search. A Walmart search URL also works. |
productUrls | array | Yes* | [] | Walmart.com product URLs for direct product details and price monitoring. URLs are normalized and duplicate item IDs are fetched once. |
maxProductsPerSearch | integer | No | 100 | Maximum number of products to return for each keyword. |
maxSearchPages | integer | No | 5 | Maximum number of search result pages per keyword. Each page has about 40 products. |
sort | string | No | best_match | Sort order: best_match, best_seller, price_low, price_high, rating_high, new. |
maxRequestRetries | integer | No | 5 | Retry attempts for failed or blocked requests. Higher values improve reliability. |
proxyConfiguration | object | No | US residential | Apify Proxy settings. US residential proxies are the default and are required. |
* Provide at least one entry in searchQueries or productUrls.
Input examples
Basic keyword search — collect up to 10 products for one Walmart search term:
{"searchQueries": ["laptop"],"productUrls": [],"maxProductsPerSearch": 10,"maxSearchPages": 1,"sort": "best_match","maxRequestRetries": 5}
Multiple keywords, cheapest first:
{"searchQueries": ["air fryer", "coffee maker", "robot vacuum"],"maxProductsPerSearch": 100,"maxSearchPages": 5,"sort": "price_low"}
Price monitoring for a fixed set of products:
{"productUrls": ["https://www.walmart.com/ip/JLab-Go-Air-Pop-Bluetooth-Earbuds/17828556665","https://www.walmart.com/ip/13-inch-MacBook-Neo/19682700559"]}
Output example
{"usItemId": "17828556665","name": "JLab Go Air Pop Bluetooth Earbuds, True Wireless with Charging Case","price": 23.78,"priceString": "$23.78","wasPrice": "$29.38","savings": "SAVE $5.60","onSale": true,"rating": 4.5,"reviewCount": 34286,"seller": "Walmart.com","fulfillmentType": "FC","flag": "500+ bought since yesterday","thumbnail": "https://i5.walmartimages.com/seo/JLab-Go-Air-Pop-True-Wireless-Bluetooth-Earbuds.jpeg","url": "https://www.walmart.com/ip/JLab-Go-Air-Pop-Bluetooth-Earbuds/17828556665","isSponsored": false,"scrapedAt": "2026-03-03T01:40:32.821Z"}
Use cases
- 💰 Price monitoring — track Walmart prices, rollbacks, and "was" prices for a fixed list of product URLs on a schedule.
- 📊 Competitor and market research — pull a full category's assortment, sellers, and price bands from Walmart search.
- 🧭 Assortment and rank tracking — watch which products rank for a keyword and how sponsored placements shift over time.
- 🛍️ Catalog and feed building — collect names, images, item IDs, and product URLs to seed a product database.
- ⭐ Review-signal analysis — combine
ratingandreviewCountto find top-rated products in a niche. - 🤖 AI and RAG pipelines — feed structured Walmart product data to agents and LLM workflows via the Apify API or MCP.
How it works
- The actor takes each keyword in
searchQueries(or the search term from a pasted Walmart search URL) and queries Walmart.com's search results page by page. - Every Walmart product URL in
productUrlsis normalized to its item ID, de-duplicated, and fetched once for direct product details. - Requests are routed through Apify Proxy US residential IPs, which are required to reach Walmart.
- Each product is normalized into a flat 16-field record, and sponsored duplicates of organic listings are removed by item ID.
- Records stream into the dataset as they are collected, so partial results are always available.
- Pagination stops when
maxProductsPerSearchis reached,maxSearchPagesis hit, or Walmart runs out of results (its search returns roughly 1,000 products per keyword).
How much does it cost to scrape Walmart.com?
This actor uses pay-per-result pricing through a single event, product-scraped, charged once per product saved to the dataset.
| Plan tier | Price per 1,000 products |
|---|---|
| Free | $4.00 |
| Bronze | $3.50 |
| Silver | $3.00 |
| Gold | $2.00 |
Collecting 1,000 Walmart products costs about $2.00–$4.00 depending on your Apify plan, plus a small amount of Apify Proxy and compute usage. Your Apify plan's monthly usage credits apply. Example: maxProductsPerSearch: 100 for two keywords costs roughly $0.40–$0.80.
FAQ
Do I need a Walmart API key or a Walmart account? No. The actor reads Walmart.com's public product data. There is nothing to authenticate.
Why is a proxy required?
Walmart.com blocks datacenter traffic and is US-only. Apify Proxy US residential IPs are set as the default proxyConfiguration and are required. Runs without a proxy will fail.
How many products can I get per keyword?
Walmart's search returns roughly 1,000 products (about 25 pages of 40) for a given keyword, regardless of the total it reports. Use narrower keywords or a different sort to reach different slices of a large category.
Can I scrape a Walmart category page?
Use a keyword that matches the category, or paste a Walmart search URL. Direct product URLs from any category go in productUrls.
Are sponsored products included?
Yes. Sponsored listings are kept and flagged with isSponsored: true. When the same item appears as both a sponsored and an organic result, it is saved once.
How fresh is the data?
Every record carries a scrapedAt timestamp and reflects Walmart's live listing at the moment of the request. Schedule the actor to keep a price history.
Can I schedule recurring runs? Yes. Use Apify Schedules to run the Walmart scraper hourly, daily, or weekly, and send results to integrations like Google Sheets, Make, Zapier, or a webhook.
How do I call it from code?
Python:
from apify_client import ApifyClientclient = ApifyClient("<APIFY_TOKEN>")run = client.actor("parsebird/walmart-product-scraper").call(run_input={"searchQueries": ["laptop"],"maxProductsPerSearch": 100,"maxSearchPages": 5,"sort": "best_match",})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item["name"], item.get("priceString"))
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<APIFY_TOKEN>' });const run = await client.actor('parsebird/walmart-product-scraper').call({searchQueries: ['laptop'],maxProductsPerSearch: 100,maxSearchPages: 5,sort: 'best_match',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Something looks wrong or missing. Open an issue on the Issues tab with the input you used. Feedback is welcome and helps keep the Walmart Product Scraper reliable.
Is it legal to scrape Walmart.com?
Web scraping of publicly available data is legal in most jurisdictions, including the US and EU, when you do not collect personal data or bypass authentication. This actor only reads public Walmart.com product listings — no login, no personal data. You are responsible for how you use the collected data, including compliance with Walmart's Terms of Service, applicable laws (GDPR, CCPA), and copyright. See Apify's guide to the legality of web scraping for background.
Related Apify actors
- Target Product Scraper — product listings from Target.com search
- Trendyol Product Scraper — products, reviews, and Q&A from Trendyol
- AliExpress Scraper — AliExpress product and pricing data
- Shopify Products Scraper — full product catalogs from any Shopify store
- Hepsiburada Scraper — Hepsiburada products, reviews, and Q&A
Browse the full ParseBird actor collection for more e-commerce and marketplace scrapers.