Walmart Listings Scraper
Pricing
from $2.99 / 1,000 product listings
Walmart Listings Scraper
Extract public Walmart category and search product listings, including names, prices, sponsorship flags, brands, images, ratings, seller, availability, badges and URLs when visibly available.
Pricing
from $2.99 / 1,000 product listings
Rating
0.0
(0)
Developer
w3crawler
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
What does Walmart Listings Scraper do?
Walmart Listings Scraper extracts product cards from public Walmart Canada and Walmart US search or category pages. It normalizes product identity, names, URLs, current and original prices, currency, brand, images, ratings, review counts, seller, availability, badges, sponsorship, source transport, and provenance. Invalid or missing URLs, access boundaries, oversized responses, redirects, unavailable pages, and empty public result pages are reported in run logs and OUTPUT, not as dataset rows.
The Actor uses ordinary public requests with a transparent user agent. A bounded browser-rendered retry is used only after a successful public response contains no parseable listings. It does not log in, solve CAPTCHAs, bypass access controls, or fabricate products.
Why use Walmart Listings Scraper?
Use it for catalog snapshots, price monitoring, competitive research, assortment checks, and downstream product matching. Results are deduplicated by item identity or canonical product URL, capped by a global maxItems limit, and retain the source page that produced each row.
What data can Walmart Listings Scraper extract?
| Group | Fields |
|---|---|
| Identity | itemId, name, url, listingUrl, rank |
| Commerce | price, originalPrice, unitPrice, currency, availabilityStatus, sellerName |
| Content | description, category, brand, images, flag, isSponsored |
| Provenance | source, sourceUrl, market, sourceTransport, extractionMethod, provenance, scrapedAt |
| Record state | recordType, status, dataAvailable, sourceBlocked, httpStatus |
Optional fields are omitted when the public page does not expose them. Dataset rows contain source-backed listings only.
How to scrape Walmart listings
- Open the Input tab and enter one or more public Walmart search or category URLs.
- Set
maxItemsfor the global number of unique listings to emit. - Use
timeoutMs, a transparentuserAgent, or ordinary Apify Proxy only when needed. - Start the run and inspect the dataset plus the
OUTPUTkey-value record.
The Actor accepts Walmart.com and Walmart.ca HTTPS URLs. It does not follow redirects to other hosts. Direct HTTP is attempted first; a Playwright fallback is limited to a successful response with no parseable product records.
How much will it cost to scrape Walmart listings?
Apify bills the run according to the account and pricing configuration shown in the Console. Cost depends on the number of URLs, response sizes, optional browser fallbacks, proxy/container resources, and stored rows. Start with one URL and a small maxItems; keep timeoutMs bounded and avoid supplying duplicate URLs.
Input
Supported settings:
searchUrls: array of public Walmart search/category URL strings.urlsandstartUrls: compatibility aliases forsearchUrls.url: compatibility alias for one URL.maxItemsormaxResults: global output limit from 1 to 500;maxItemstakes precedence and defaults to 100.timeoutMs: direct or rendered request timeout from 5,000 to 120,000 milliseconds; defaults to 30,000.userAgent: optional transparent user-agent string, up to 300 characters.proxyConfiguration: optional standard Apify Proxy configuration; proxy use does not bypass an access boundary.
One search page
{"searchUrls": ["https://www.walmart.ca/en/search?q=wireless+keyboard"],"maxItems": 3,"timeoutMs": 30000}
Multiple categories and aliases
{"startUrls": ["https://www.walmart.ca/en/search?q=wireless+keyboard","https://www.walmart.ca/en/search?q=usb+mouse"],"maxResults": 10,"userAgent": "ExampleListingsClient/1.0 (+https://apify.com/)","proxyConfiguration": { "useApifyProxy": false }}
Output
You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
Listing row
{"recordType": "listing","status": "success","dataAvailable": true,"source": "walmart_public_search","provenance": {"requestedUrl": "https://www.walmart.ca/en/search?q=wireless+keyboard","listingUrl": "https://www.walmart.ca/en/search?q=wireless+keyboard","market": "CA","rank": 1,"itemId": "EXAMPLE123","extractionMethod": "next_data_search_item"},"sourceTransport": "got_scraping_direct","extractionMethod": "next_data_search_item","market": "CA","sourceBlocked": false,"sourceUrl": "https://www.walmart.ca/en/search?q=wireless+keyboard","listingUrl": "https://www.walmart.ca/en/search?q=wireless+keyboard","rank": 1,"itemId": "EXAMPLE123","name": "Example wireless keyboard","price": 29.99,"originalPrice": 39.99,"currency": "CAD","availabilityStatus": "In stock","sellerName": "Example Seller","images": ["https://www.walmart.ca/example-image.jpg"],"url": "https://www.walmart.ca/en/ip/example-wireless-keyboard/EXAMPLE123","scrapedAt": "2026-09-08T12:00:00.000Z"}
The OUTPUT key-value record includes run status, source-backed record count, source-issue count, URL counts, browser fallback count, blocked count, field coverage counts, and completion time. Errors are kept in logs or run metadata.
Tips and advanced options
Start with one Canada URL because its public page currently exposes structured listing state. Use sourceUrl, listingUrl, market, rank, and itemId together when joining results. A successful public response with zero parsed rows may trigger one browser-rendered retry; repeated access challenges do not. Treat missing optional values as source-dependent rather than as zero or false.
FAQ, support, and responsible use
If a request produces no dataset row, inspect the run logs and OUTPUT status, source-issue count, httpStatus, and sourceBlocked. A reachable response with no listing record is distinguished from an access boundary in the run logs and summary. For support, use the Actor Issues tab or API tab and include the run ID, sanitized input shape, and OUTPUT summary.
This Actor is not affiliated with Walmart. It extracts only public page data and does not access private user information, authenticate, solve CAPTCHAs, or bypass access controls. Follow Walmart's terms, robots guidance, rate limits, applicable law, and privacy obligations.
Local verification
Run npm test, npm run lint, npm run schema, apify run --purge --input-file qa-input-279.json, and npm run validate. Live source behavior can change; unavailable public pages are reported in run status and logs without adding non-listing rows to the dataset.