Walmart Products Scraper
Pricing
from $0.30 / 1,000 result extracteds
Walmart Products Scraper
Scrape Walmart product search results, prices, ratings, availability, brands, sellers, and URLs.
Pricing
from $0.30 / 1,000 result extracteds
Rating
0.0
(0)
Developer
Fetch Cat
Maintained by CommunityActor stats
0
Bookmarked
21
Total users
7
Monthly active users
27 minutes ago
Last modified
Categories
Features
Share
Export public Walmart US search listings with product identifiers, asking prices, available ratings and counts, availability text, seller and brand labels, images and fulfillment hints. Start with keywords or supported Walmart search URLs, then use source-linked records for separate assortment and price research. This Actor does not collect full product details or review text.
Quick start
Choose a specific keyword and a small result and page cap. The existing example searches air fryers and wireless headphones with explicit connection settings:
{"searchQueries": ["air fryer", "wireless headphones"],"maxResults": 50,"pageLimit": 2,"sort": "best_match","includeSponsored": true,"maxRequestRetries": 5,"requestDelayMs": 500,"connectionMode": "automatic"}
Prefer a video guide? This short Apify walkthrough shows you how to set up and run an Actor. It uses a different Actor, but the setup steps are the same.
Ready-to-run examples
Choose an example to start with a small, preconfigured input.
- Export Walmart Product Search Results to CSV — Collect a one-page LEGO search sample for export from the run dataset.
- Export Organic Walmart Search Results — Exclude sponsored protein-bar listings from a bounded search sample.
- Export Walmart Assortment by Keyword — Collect patio-chair and outdoor-table listings under one shared result cap.
What you get
One saved product listing row with IDs, URL, query, export position and available search-card attributes. RUN_SUMMARY reports saved totals, retries, skipped duplicates and sponsored rows, source failures and parser coverage. Source fields can be missing, and position reflects the saved export rather than a separately verified absolute search rank.
Who is it for?
- Ecommerce researchers reviewing source-linked asking prices and availability labels.
- Assortment teams comparing observed brands, sellers and fulfillment hints in keyword samples.
- Marketplace analysts separating sponsored and organic listing observations.
- Data developers storing product identifiers and collection times for their own recurring reports.
How you can use the data
- Review an air-fryer sample. Use the existing query and retain productId, productUrl, price, wasPrice and collection time. Compare displayed offers without treating a comparison price as proof of a realized discount or completed sale.
- Inspect two keyword assortments. Use the existing air fryer and wireless headphones inputs under one shared saved-result cap. Keep query, brand and seller labels with each row, allowing the earlier source to use the cap rather than assuming equally sized samples.
- Separate sponsored observations. Choose whether to include sponsored listings and keep isSponsored beside saved rows. Export position changes with filtering and deduplication, so it must not be relabeled as an absolute organic search rank.
- Keep your own recurring catalog observations. Reuse a known search URL or consistent keywords and store product IDs, price, availability and scrapedAt in your destination. Changes can reflect location, source experiments or access conditions, and notifications and longitudinal comparisons are downstream work.
Input settings
| Setting | JSON key | What to enter |
|---|---|---|
| Search queries | searchQueries | Walmart keywords or product phrases. |
| Search URLs | searchUrls | Optional direct Walmart search result URLs. |
| Maximum results | maxResults | Maximum product rows to save. |
| Page limit | pageLimit | Maximum result pages to request. |
| Sort | sort | Sort order such as best_match, price_low, price_high, best_seller, rating_high, or new. |
| Include sponsored | includeSponsored | Whether to include sponsored results. |
| Retries per page | maxRequestRetries | Retry ceiling. Default 10; Automatic uses one ordinary datacenter fallback, then a managed Unblocker fallback that may retry once only after a timeout or brief temporary failure, within this ceiling and the original deadline; 0 disables fallback. Direct makes one attempt. Explicit saved proxy overrides retain their retry policy. |
| Request timeout | requestTimeoutSecs | Direct/legacy attempt timeout, default 30 seconds. Automatic direct access is capped at eight seconds and the ordinary datacenter fallback uses this value; managed Unblocker reserves at least sixty seconds within the same four-minute run limit. |
| Delay between pages | requestDelayMs | Polite delay between successful page requests. Default 500 ms. |
| Connection | connectionMode | automatic tries an anonymous browser-compatible HTTP request directly, then one ordinary Apify datacenter request, then at most one Apify Unblocker request, without browser fanout. Requests are sequential so cost and deadline limits can stop new work promptly. direct uses no proxy or paid fallback. Explicit saved proxy settings take precedence. |
When neither keywords nor search URLs are supplied, the source uses the documented iphone query with a small default cap. The current default is twenty rows and one keyword-search page. Explicit search URLs refer to their supplied result page rather than automatically applying keyword pagination to every URL.
Output data
The existing illustrative row shows shape rather than a current offer:
{"query": "air fryer","position": 1,"title": "Example 6 Quart Air Fryer","productUrl": "https://www.walmart.com/ip/example/123456789","productId": "123456789","usItemId": "123456789","price": 79.99,"currency": "USD","wasPrice": 99.99,"rating": 4.6,"reviewCount": 1250,"availability": "In stock","sellerName": "Walmart.com","brand": "Example Brand","imageUrl": "https://i5.walmartimages.com/...","isSponsored": false,"fulfillment": ["Pickup", "Delivery"],"scrapedAt": "2026-07-03T10:00:00.000Z"}
| Field | Description |
|---|---|
query, position | Search query and sequential position in the saved export, not an independent absolute Walmart search rank. |
title, productUrl, productId, usItemId | Product identity and links. |
price, currency, wasPrice | Current and comparison price fields. |
rating, reviewCount | Public rating and review count when available. |
availability, fulfillment | Stock and delivery or pickup labels. |
sellerName, sellerId, brand, isSponsored | Seller name and identifier when available, brand, and ad status. |
imageUrl, scrapedAt | Product image and scrape timestamp. |
Download your results
Open your run's dataset, choose Export and select JSON, CSV or Excel. JSON keeps nested fields together. CSV and Excel are useful when you want to review the records in a spreadsheet.
See Apify's download and export guide for the available formats and field options.
Pricing
A start event is charged once when a run begins, including a run that produces no products.
A result event is charged for each Walmart product row successfully saved to the dataset. Failed requests, retries, duplicates, filtered sponsored products, and RUN_SUMMARY records do not trigger a product-result charge.
See the live Apify Pricing tab for current event rates and tier details. Platform usage for compute, storage, managed proxy traffic (including Unblocker), or data transfer may be billed separately.
Tips for best results
- Use specific product phrases. Broad samples can mix unrelated offers.
- Keep first searches small. Use a low page cap before expanding an assortment export.
- Retain sponsorship and query context. Saved position is export order rather than guaranteed source rank.
- Inspect connection and retry outcomes. Automatic uses one direct attempt, one ordinary datacenter attempt, one managed fallback and at most one fresh managed retry after a timeout or brief temporary failure, if the retry ceiling and original deadline allow it. Explicit saved proxy settings remain active. No route guarantees Walmart access.
- Read RUN_SUMMARY. Check retries, parser fallback, failed pages, duplicates, sponsored filtering and saved totals before using a sample.
- Keep source times with prices. Repeat exports support your own comparisons rather than a complete offer history.
Limits and caveats
- The actor exports Walmart search listing data. It does not scrape full product-detail pages or reviews.
- It currently supports public Walmart US (
walmart.com) result pages. Walmart Canada uses a different delivery path and is not advertised as supported. - Walmart can personalize results by location, availability, experiments, and anti-bot behavior.
- Some products may not expose seller, brand, was-price, rating, or fulfillment fields.
- Large searches can return fewer products than requested if Walmart has fewer available results.
- Pagination stops early when Walmart returns an empty page or only products already seen, preventing duplicate loops and unnecessary proxy use.
Recognized no-match searches, unavailable pages and completed searches with no usable products succeed with an empty dataset and reasons in RUN_SUMMARY. A challenge or unrecognized page is not treated as a no-match search. If a requested source fails, the run fails truthfully while useful products from other sources remain available in the dataset. Essential dataset, summary-storage, charging or setup failures still fail the run, even after earlier output.
Use at most 100 combined search sources per run. Processing is limited to four minutes independently of the platform timeout. Automatic direct attempts are capped at eight seconds; the ordinary datacenter attempt uses the request timeout; managed Unblocker attempts reserve at least sixty seconds within that same shared deadline. The independent processing limit remains a failure if extraction is unfinished. A customer-set max cost or short platform timeout instead stops gracefully, preserves saved results and records limitStop in RUN_SUMMARY; a stopped run is not a completed search. Very small limits may stop before extraction or the custom start charge. Restarted or resurrected runs cannot continue extraction. Start a new run instead.
Connection settings do not guarantee Walmart access. See input-field help for the supported choices, costs and saved-settings precedence.
The currency field falls back to USD when no source currency is present. Other offer values can be unavailable. Availability labels, wasPrice and ratings are public listing signals rather than checkout guarantees, seller verification or independent product assessments.
Privacy and data handling
This Actor runs with Apify limited permissions and only processes data needed for the documented run. It uses search/listing inputs and public product, marketplace, or listing records to produce the output dataset and sends requests to public Walmart Products pages/endpoints. Results are stored in Apify run storage for your account. FetchCat does not use your inputs or outputs for advertising, does not use them for model training, and does not retain them outside the Apify run except for transient support debugging when you explicitly share run details. You are responsible for using the Actor lawfully, respecting the target site's terms, and avoiding unnecessary personal or sensitive data in inputs.
Automation and integrations
Save your settings for next time
Once you have an input that works for you, save it as an Apify task. This keeps your settings together so you can use them again without filling in the form from scratch.
Run on a schedule
Need fresh results regularly? You can schedule the Actor or a saved task to run at a time that suits you.
Each scheduled run collects the data again. If you want to compare results or highlight changes, add that step in your own workflow.
Send results to your other tools
Use n8n, Make or Zapier to connect this scraper to the rest of your workflow. For example, you could pass its results to an AI assistant or add records to a spreadsheet. Follow the Apify integration guides for your chosen tool.
For a custom connection, an Apify webhook can notify your app when a run finishes or fails. Your app can then fetch the results or handle the failure.
API usage
Want to collect this data from your own app or automation? The examples below send input to the scraper and show how to collect its results.
The Node.js and Python examples wait for the run to finish before reading its results. The cURL example starts the run and returns its details. Wait for that run to finish, then use its defaultDatasetId to fetch the results.
For setup instructions, see Apify's JavaScript client guide, Python client guide and Actor runs API reference.
cURL
curl "https://api.apify.com/v2/acts/fetch_cat~walmart-products-scraper/runs?token=$APIFY_TOKEN" \-H "Content-Type: application/json" \-d '{"searchQueries": ["air fryer"],"maxResults": 50,"sort": "best_match"}'
Node.js
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('fetch_cat/walmart-products-scraper').call({searchQueries: ['air fryer'],maxResults: 50,sort: 'best_match',});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Python
import osfrom apify_client import ApifyClientclient = ApifyClient(os.environ['APIFY_TOKEN'])run = client.actor('fetch_cat/walmart-products-scraper').call(run_input={'searchQueries': ['air fryer'],'maxResults': 50,'sort': 'best_match',})items = client.dataset(run['defaultDatasetId']).list_items().itemsprint(items)
MCP and AI agents
You can ask your AI assistant to collect data with Walmart Products Scraper and help you work with the results. The scraper returns the data, and your assistant can then summarize it, compare records or prepare notes.
Connect your assistant through the Apify MCP server. MCP gives your assistant a way to find this scraper, run it and read the results. Follow the official setup and sign-in guide for your app.
Easier setup with an Apify plugin
If you use a supported coding assistant, the official Apify plugin can set up the connection for you. It connects your assistant to Apify and includes instructions for common tasks. Follow the guide for your particular app.
Use Apify AI in Console
Prefer to keep everything in Apify? Open Apify AI in Console and ask it to find Fetch Cat's Walmart Products Scraper. You can describe the data you want and ask questions about the results.
Apify AI is currently in beta. It asks for confirmation before starting an Actor, and normal run charges apply.
Choose your assistant
- Claude and Claude Code (Anthropic): Apify setup guide.
- ChatGPT and Codex (OpenAI): Apify setup guides.
- Grok Bot (xAI): Apify plugin guide.
- Gemini CLI (Google): MCP server setup guide. Use the server URL below with the HTTP configuration supported by Gemini CLI.
Connect just this scraper
To keep your setup focused on this scraper, add this server configuration to a compatible MCP client:
{"mcpServers": {"apify": {"url": "https://mcp.apify.com?tools=fetch_cat/walmart-products-scraper"}}}
Sign in to Apify when your client asks. If your client uses a Bearer token instead, follow its setup guide and keep the token in its secure configuration. Configuration formats vary by app, so use the linked guide if your client needs a different format.
Use Apify's general server
Already connected to the general Apify MCP server at https://mcp.apify.com? You can use it to find this scraper without adding another server. Ask your assistant to use Walmart Products Scraper by Fetch Cat, or give it the identifier fetch_cat/walmart-products-scraper.
Your assistant can check the available settings and retrieve the results from the returned run. If the run is still working, it should follow that run rather than start it again. Both connection options use Apify's hosted service.
Example requests
- “Use Fetch Cat’s Walmart Products Scraper to collect up to 5 air fryer listings with a one-page cap and best-match order. Keep IDs, source links, displayed prices and availability without promising checkout stock or actual discounts.”
- “Collect up to 5 wireless headphones listings with sponsored rows excluded and a one-page cap. Keep query and export position without presenting that position as absolute organic search rank.”
- “Retrieve up to 5 listings across air fryer and wireless headphones searches under one shared result cap and one page per keyword. Keep seller, brand and available rating context without assuming equally sized samples or collecting full review text.”
Normal Apify charges apply. Check the live Pricing tab before asking your assistant to run a larger batch.
Pay with x402
If your AI agent has a funded wallet, it can pay for Apify usage through x402. This experimental option lets an agent use Apify without a conventional account.
Apify AGI provides a prepaid API token with a spending cap after payment. Your agent can use that token to run this scraper through the Apify API or an authenticated MCP connection.
Some MCP setups also support paying for each request directly. That is a different payment option, so check the official guide for its availability.
Follow the official guide for wallet setup, supported payment options and current terms. Apify handles the payments. Keep wallet keys and payment tokens in your agent's secure configuration.
Other ways for agents to pay
Apify also supports MPP for prepaid access through AGI and Skyfire for eligible Actors. If your agent already uses one of these, see the agentic payment guide to choose the right setup.
FAQ
Can I export Walmart products to CSV or Excel?
Yes. Download the Apify dataset as CSV, Excel, JSON, XML, RSS, or through the Dataset API.
Does it include reviews?
No. It exports listing-level review counts and ratings, not full review text.
Can I monitor prices every day?
Yes. Use an Apify schedule with the same input.
Why are some fields empty?
Walmart does not expose every field for every listing.
Why did Walmart return no data or block a page?
Check RUN_SUMMARY to distinguish a completed empty search from access or extraction failures. Start with a specific query and a small page cap. The default Automatic connection strategy does not guarantee access.
Related Actors
- AliExpress Products Scraper — Collect public AliExpress product records and available listing details.
- Shopify Products Scraper — Collect publicly exposed Shopify product catalog records and available variants.
- Google Shopping Results Scraper — Collect public Google Shopping product listings with available prices and merchant links.
- Target Reviews Scraper — Collect available public Target product review text and ratings.
- Poshmark Sold Listings Scraper — Collect public sold-listing records and available item or price information from Poshmark.
Support and feedback
For custom additions or integrations, email hello@fetchcat.dev.
Found an error or have a feature request? Open an issue with the run URL, a non-sensitive input example and what you expected.
Need help sharing it? See Apify’s guide to sharing a run when reporting an issue. Sharing a run can give the developer access to its input, logs and results, so use a run that contains no sensitive data. Please leave out API tokens, passwords, cookies, private documents and personal data. Use a public sample URL or a redacted example instead.
Tried this scraper? We'd love to hear how it worked for you. Leave a review to help others choose the right tool and help us improve it. Your feedback means a lot to us.
Made with care for curious people, AI agents and the possibilities in data. ♥