Walmart Search Scraper: Prices, Rank, Ratings & Sellers avatar

Walmart Search Scraper: Prices, Rank, Ratings & Sellers

Pricing

from $0.70 / 1,000 results

Go to Apify Store
Walmart Search Scraper: Prices, Rank, Ratings & Sellers

Walmart Search Scraper: Prices, Rank, Ratings & Sellers

Walmart search scraper for any keyword or category URL. Get search rank, item ID, price, was price, rating, reviews, seller, stock, Rollback and Best seller badges, '100+ bought since yesterday' signals and delivery dates. $1 per 1,000 results. Export CSV/JSON or use the API.

Pricing

from $0.70 / 1,000 results

Rating

0.0

(0)

Developer

ASide Data

ASide Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

What is Walmart Search Scraper?

Walmart Search Scraper extracts Walmart search results for any keyword, walmart.com search URL or category (/browse/...) URL. For every result you get the search rank (position), Walmart item ID, title, price and was price, price range for items with options, unit price, rating, number of reviews, seller (Walmart.com or a marketplace seller), stock status, Rollback / Best seller / Deal badges, the "500+ bought since yesterday" and "In 100+ people's carts" demand signals, and delivery and pickup dates.

Use it for Walmart keyword rank tracking, product research, competitor and price monitoring, marketplace seller research and market sizing. Run it in Apify Console, on a schedule, or from Python, JavaScript, Make, Zapier, n8n or an AI agent (MCP).

Why this Walmart search scraper

  • 💸 $1.00 per 1,000 results. Results without a price are free. Blocked pages are free and retried automatically.
  • 🏆 Exact rank across pages. Pages of one search are read in order, so position continues from page to page (1…52 on page 1, 53…102 on page 2). Carousels that Walmart mixes into the results ("Top deals", "4 stars and above") are left out, so the rank is the rank of the real result grid.
  • 📈 Demand signals as numbers: whenever Walmart shows them, "500+ bought since yesterday" → boughtSinceYesterdayMin: 500 and "In 100+ people's carts" → inCartsMin: 100.
  • ♻️ Condition of refurbished and used items: condition is "Restored: Like New", "Open Box", "Pre-Owned: Good"… so you can separate new and second-hand offers.
  • 🏪 Seller data: sellerName, sellerId and soldByWalmart show whether Walmart or a marketplace seller sells the item — useful for marketplace and competitor research.
  • 🔎 Filters built in: sort by price, best sellers, rating or newest, and set a minimum and maximum price — or paste any walmart.com URL with the filters you already use.
  • ⚡ Fast and light: plain HTTP, no browser. About 40–55 results per page, up to 25 pages per search.

What Walmart search data can you extract?

GroupFields
SearchsearchTerm, page, position, positionOnPage, organicPositionOnPage, sponsored, totalResults, searchUrl
ProductusItemId, productId, url, title, image, category
Priceprice, wasPrice, priceMin, priceMax, unitPrice, currency
Reputation & demandrating, reviewsCount, boughtSinceYesterdayMin, inCartsMin
Badges & labelsbadge (Rollback, Best seller, Deal, Popular pick, Overall pick…), labels (Low stock, Save with Walmart plus…)
Seller & stocksellerName, sellerId, soldByWalmart, availability, inStock, condition (Restored, Open Box, Pre-Owned)
Fulfillmentfulfillment (shipping / pickup / delivery promises), deliveryDate, pickupDate, storeId, location
Runcomplete, scrapedAt

How to scrape Walmart search results

  1. Click Try for free and open the Actor input.
  2. Enter one or more Search keywords or URLs — e.g. coffee maker, a walmart.com search URL, or a category URL such as walmart.com/browse/electronics/tvs/3944_1060825_447913.
  3. Choose Pages per search (1–25) and, optionally, Sort by and a Min / Max price.
  4. Click Start and download the results as JSON, CSV or Excel, or read them via the API.

Input example

{
"searchTerms": ["lego", "https://www.walmart.com/browse/home/coffee-makers/4044_90548_90546_1115306_5438660"],
"maxPagesPerSearch": 3,
"sort": "bestsellers",
"minPrice": 20,
"maxPrice": 50
}

Output example

{
"usItemId": "41004055",
"productId": "46HW0X8VGSHX",
"url": "https://www.walmart.com/ip/LEGO-Classic-Medium-Creative-Brick-Box/41004055",
"title": "LEGO Classic Medium Creative Brick Box , Toy Set with Train, Car, Tiger, Birthday Gift for Kids 4+, 10696",
"price": 21.42,
"wasPrice": 34.99,
"priceMin": null,
"priceMax": null,
"unitPrice": null,
"currency": "USD",
"rating": 4.7,
"reviewsCount": 8752,
"sellerName": "Walmart.com",
"sellerId": "F55CDC31AB754BB68FE0B39041159D63",
"soldByWalmart": true,
"availability": "IN_STOCK",
"inStock": true,
"badge": "500+ bought since yesterday",
"boughtSinceYesterdayMin": 500,
"inCartsMin": null,
"labels": ["Save with Walmart plus", "Low stock"],
"fulfillment": ["Express Delivery as soon as 13 mins", "Shipping, arrives tomorrow", "Pickup tomorrow"],
"deliveryDate": "2026-10-12T13:00:00.000Z",
"pickupDate": "2026-10-12T14:00:00.000Z",
"sponsored": false,
"image": "https://i5.walmartimages.com/seo/LEGO-Classic-Medium-Creative-Brick-Box-Toy-Set-with-Train-Car-Tiger-Birthday-Gift-for-Kids-4-10696_3496d60e-2f36-4d17-833f-5e7dfdf04383.3386a1f10b27ed0f7671dc9b446eee3b.jpeg",
"category": "Toys > Building Sets & Blocks > LEGO > All LEGO Sets",
"searchTerm": "lego",
"page": 1,
"position": 2,
"positionOnPage": 2,
"organicPositionOnPage": 2,
"totalResults": 6184,
"storeId": "3081",
"location": "Sacramento, CA 95829",
"complete": true,
"searchUrl": "https://www.walmart.com/search?q=lego&sort=best_seller",
"scrapedAt": "2026-10-12T09:00:00+00:00"
}

How much does it cost to scrape Walmart search results?

$1.00 per 1,000 results on the Free plan. Lower prices apply on higher Apify plans (see the pricing panel). Results without a price (for example items that only show "Options from…" with no price yet) are saved but not charged, and blocked pages are free. Set Max results in total or a maximum total charge to cap any run.

You scrapeYou pay (Free plan)
1 keyword × 1 page (~40–55 results)~$0.04–$0.06
10 keywords × 5 pages~$2.00–$2.75
10,000 results$10.00

Walmart rank tracking, explained

Walmart mixes several blocks into a search page: the main result grid, sponsored products inside the grid, and carousels such as "Top deals" or "4 stars and above". This Actor keeps only the main result grid (the products Walmart lists as the results of your search) and numbers them in the order shoppers see them:

  • position — overall rank across all pages of the search, including sponsored placements.
  • positionOnPage — rank on the current page.
  • organicPositionOnPage — rank among non-sponsored results on the page (null for sponsored ones).

Turn off Include sponsored results to save organic results only — the organic rank stays the same.

Use cases

  • Walmart keyword rank tracking — schedule a daily run and follow where your items rank for each keyword.
  • Product research — sort by best sellers and compare price, rating, reviews and "bought since yesterday".
  • Competitor and price monitoring — watch Rollbacks, was prices and new entrants (sort by newest) in your niche.
  • Marketplace seller research — find which third-party sellers win the results for a keyword with sellerName and soldByWalmart.
  • Retail arbitrage and deal finding — combine Max price, sort by price and wasPrice to spot deep discounts.
  • Cross-marketplace comparison — run the same keywords with Amazon Search Scraper and compare price and rank side by side.

Use the Walmart search API

Python (apify-client):

from apify_client import ApifyClient
client = ApifyClient("<YOUR_APIFY_TOKEN>")
run = client.actor("jaaylee/walmart-search-scraper").call(
run_input={"searchTerms": ["coffee maker"], "maxPagesPerSearch": 2, "sort": "bestsellers"}
)
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["position"], item["usItemId"], item["price"], item["boughtSinceYesterdayMin"])

Track the rank of your own Walmart items for a keyword:

MY_ITEMS = {"41004055", "5254334127"}
ranks = {i["usItemId"]: i["position"] for i in client.dataset(run["defaultDatasetId"]).iterate_items()
if i["usItemId"] in MY_ITEMS}
print(ranks) # {'41004055': 2, ...}

Find the cheapest marketplace sellers for a product type:

items = list(client.dataset(run["defaultDatasetId"]).iterate_items())
third_party = sorted((i for i in items if i["soldByWalmart"] is False and i["price"]), key=lambda i: i["price"])
for i in third_party[:10]:
print(i["price"], i["sellerName"], i["title"][:60])

JavaScript / Node.js (apify-client):

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });
const run = await client.actor('jaaylee/walmart-search-scraper').call({
searchTerms: ['coffee maker'],
maxPagesPerSearch: 2,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((i) => console.log(i.position, i.usItemId, i.price, i.sellerName));

cURL (synchronous run that returns the results):

curl -X POST "https://api.apify.com/v2/acts/jaaylee~walmart-search-scraper/run-sync-get-dataset-items?token=<YOUR_APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"searchTerms": ["coffee maker"], "maxPagesPerSearch": 1}'

Export to CSV from the command line:

$curl "https://api.apify.com/v2/datasets/<DATASET_ID>/items?format=csv&view=overview&token=<YOUR_APIFY_TOKEN>" -o walmart.csv

Integrations: Google Sheets, Make, Zapier, n8n, webhooks and schedules

  • Schedules: run daily or hourly from Apify Console → Schedules for rank and price tracking.
  • Google Sheets: export each run to a sheet with the Apify Google Sheets integration.
  • Make, Zapier, n8n: start runs and read results with the official Apify apps and nodes.
  • Webhooks: get notified when a run finishes and process the results in your system.

Use with AI agents (MCP)

This Actor works with the Apify MCP server. An AI agent can find it with a query like "Walmart search", read its input schema and call it to fetch Walmart search results, prices and ranks for a keyword — for example to compare Walmart and Amazon prices in one conversation.

More scrapers by the same developer

  • Amazon Search Scraper — Amazon search results with rank, price, "bought in past month" and delivery dates for any US ZIP code.
  • Amazon ASIN Scraper — full Amazon product details by ASIN: price, BSR, stock, delivery date by ZIP, variants, specs, images.
  • Amazon Best Sellers Scraper — top 100 Best Sellers and New Releases for any Amazon category and subcategory.
  • AliExpress Search Scraper — AliExpress search results with rank, price, exact sold count, store and ship-from country in any currency.
  • Google Ads Transparency Scraper — every ad a brand or retailer runs on Google Search, Shopping and YouTube, from the Google Ads Transparency Center.

Tips for accurate Walmart search data

  • Keep the number of pages realistic. Most shoppers never go past page 2 or 3, so maxPagesPerSearch 1–3 is enough for rank tracking; use 10–25 pages for market sizing or to collect many items for a niche.
  • Use URLs for filters. Apply brand, department, rating or "Sold by Walmart" filters on walmart.com and paste the URL — the filters are kept and only the page number is set by the Actor.
  • Read boughtSinceYesterdayMin together with position. A product that ranks low but already sells "500+ since yesterday" is a strong competitor; a top-ranked product without demand signals may be sponsored.
  • Compare like with like. Prices and delivery promises can differ by location; keep the same settings between runs so your history stays comparable (see location in every result).
  • Cap the cost. Set Max results in total or a maximum charge per run; the Actor stops cleanly when it is reached and you only pay for results saved before that.
  • Monitor with failure alerts. For scheduled monitoring tasks, turn on Fail run on low data quality so that a run with mostly blocked pages shows up as failed and triggers your Apify notifications.

Limitations

  • Walmart.com (US) only.
  • Location: results are read as a guest shopper on Walmart's default location (currently Sacramento, CA 95829, store 3081), shown in location and storeId. Online prices are usually national, but store-dependent items (groceries, pickup and delivery promises) reflect that location. Choosing a ZIP code is on the roadmap.
  • Walmart shows at most 25 pages per search. Use more specific keywords or filters to reach more products.
  • brand is not part of Walmart search results; the full product page has it.
  • Demand signals ("bought since yesterday", "in people's carts") are shown by Walmart only for some items and at some times; the fields are null when Walmart does not show them.
  • CAPTCHAs ("Robot or human?") are never solved; blocked pages are retried on fresh sessions and, if still blocked, skipped for free.

FAQ

This Actor only reads publicly visible search pages without logging in and does not collect personal data. You are responsible for using the data in line with applicable laws and Walmart's terms. If in doubt, consult a lawyer.

How do I track my keyword rank on Walmart every day?

Save your keywords as a task in Apify Console and add a daily schedule. Each run returns the current position of every result, so you can chart the rank of your items (usItemId) over time.

How many results do I get per page?

Walmart shows about 40 to 55 results per page and up to 25 pages per search, depending on the query.

What is the difference between usItemId and productId?

usItemId is the number in the walmart.com product URL (/ip/.../41004055) and the ID most tools use. productId is Walmart's internal catalog ID for the product.

Can I scrape a Walmart category instead of a keyword?

Yes. Paste a category URL (walmart.com/browse/...) into Search keywords or URLs. Sort and price filters work the same way.

Why do some results have no price?

Some items show only options or "See price in cart" without a price in the results. They are saved for completeness but not charged.

Found a bug or need a field?

Open an issue on the Issues tab with the keyword and what you expected.