Walmart Listings Scraper avatar

Walmart Listings Scraper

Pricing

from $2.99 / 1,000 product listings

Go to Apify Store
Walmart Listings Scraper

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

w3crawler

Maintained by Community

Actor 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?

GroupFields
IdentityitemId, name, url, listingUrl, rank
Commerceprice, originalPrice, unitPrice, currency, availabilityStatus, sellerName
Contentdescription, category, brand, images, flag, isSponsored
Provenancesource, sourceUrl, market, sourceTransport, extractionMethod, provenance, scrapedAt
Record staterecordType, 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

  1. Open the Input tab and enter one or more public Walmart search or category URLs.
  2. Set maxItems for the global number of unique listings to emit.
  3. Use timeoutMs, a transparent userAgent, or ordinary Apify Proxy only when needed.
  4. Start the run and inspect the dataset plus the OUTPUT key-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.
  • urls and startUrls: compatibility aliases for searchUrls.
  • url: compatibility alias for one URL.
  • maxItems or maxResults: global output limit from 1 to 500; maxItems takes 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.