Walmart Product & Price Scraper: Categories, UPC, Sellers avatar

Walmart Product & Price Scraper: Categories, UPC, Sellers

Pricing

from $2.20 / 1,000 products

Go to Apify Store
Walmart Product & Price Scraper: Categories, UPC, Sellers

Walmart Product & Price Scraper: Categories, UPC, Sellers

Scrape Walmart.com products from category, shop, brand and product links: price, was price, stock, rating, reviews, seller (Walmart or marketplace), category path and images, plus brand, UPC, specifications and variants from product pages. No login, no browser. Pay per product.

Pricing

from $2.20 / 1,000 products

Rating

0.0

(0)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

0

Monthly active users

12 hours ago

Last modified

Share

100 Walmart products in 23 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with over 140,000 runs across 170+ public actors. This actor ranks #2 for "walmart upc" in Apify Store search.

Why choose this actor?

  • A whole Walmart category in seconds. Paste a category link and get one row per product: price, was price, unit price, stock status, rating, review count, seller, category path, badges and variants. Our proof run read 100 coffee makers in 23 seconds from three category pages. No Walmart account, no API key, no cookies.
  • Walmart or a marketplace seller, on every row. seller_type says walmart or marketplace and seller_name names the store; in the proof run 40 of the 100 products were sold by Walmart and 60 by marketplace sellers. Product pages add the seller's registered business name and rating.
  • UPC, brand and specifications when you need them, at no extra price. Turn on product pages and each row also carries brand, UPC, model, part number, the specification table, the count of 1 to 5 star ratings and every variant with its own price and stock. The price per product is the same either way, and refused pages, removed products and duplicates are never charged.

Run it on Apify

Part of The Mine Works E-commerce and marketplaces family: Ozon.ru Scraper, ⭐ Amazon Reviews Scraper, Amazon Product Scraper, Carsales.com.au Scraper, Etsy Listings Scraper, AliExpress Scraper.

Try it in one minute

Paste this input and press Start. It returns 10 best selling coffee makers:

{
"categoryUrls": ["https://www.walmart.com/browse/home/coffee-shop/4044_90548_90546_1115306"],
"maxProductsPerCategory": 10,
"sort": "best_seller"
}

You can give Walmart products in these ways, and mix them in one run:

  • Category links (categoryUrls): https://www.walmart.com/browse/... lists, shop and deals pages (/shop/...), department pages (/cp/...) and brand pages (/brand/...). Filters and a sort order in a link are passed to Walmart unchanged.
  • Product links (productUrls): https://www.walmart.com/ip/Mae-Ploy-Sweet-Chili-Sauce-12-Oz/11045990, or the short form https://www.walmart.com/ip/11045990.
  • Item ids (productUrls): just the number at the end of a product link, such as 11045990.

A product link pasted among the category links, or a category link among the products, is moved to the right list. Search links (/search?q=...) are skipped with a warning, because Walmart's robots.txt closes them to crawlers; see the FAQ for how to cover a search term. Only walmart.com (United States) is supported.

Apify's free plan includes $5 of credit every month, which covers about 1,200 products at this actor's Free plan price.

Copy to your AI assistant

themineworks/walmart-product-price-scraper on Apify. Returns Walmart.com products from category links or product links: price, was price, unit price, stock, rating, reviews, seller (Walmart or marketplace), category path, badges and variants, and with product pages brand, UPC, model, specifications and star counts. Call ApifyClient("TOKEN").actor("themineworks/walmart-product-price-scraper").call(run_input={"categoryUrls": ["https://www.walmart.com/browse/home/coffee-shop/4044_90548_90546_1115306"], "maxProductsPerCategory": 100, "sort": "best_seller"}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: categoryUrls (Walmart /browse/, /shop/, /cp/ or /brand/ links) or productUrls (product links or item ids). Optional: maxProductsPerCategory (default 100, 1 to 500, Walmart shows about 400 per list), fetchDetails (default false, opens each product page for brand, UPC and specifications), sort (best_match, best_seller, price_low, price_high, rating_high, new; default best_match), skipSponsored (default false). Include at least one category link when you send product links. Skip rows that have "_type": "info". Full spec: GET https://api.apify.com/v2/acts/themineworks~walmart-product-price-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations

Key features

  • Up to 45 fields per product, grouped as price (price, was price, unit price, price range, sale flag), stock, ratings, seller, category, product page details (brand, UPC, model, part number, description, specifications, star counts), images, variants, badges and list position.
  • About 40 products a category page, up to 10 pages per link. Walmart shows a visitor who is not signed in about 400 products per list; the actor reads them page after page up to your maxProductsPerCategory.
  • Up to 100 category links and 5,000 product links per run. The same category given twice is read once, and a product found through two links is delivered and charged once.
  • 6 sort orders (best_match, best_seller, price_low, price_high, rating_high, new), plus every filter Walmart puts in a link.
  • Sponsored products flagged: is_sponsored on each category row, or skipSponsored to leave them out.
  • Plain HTTP, no browser, 512 MB of memory. A run summary (status per category and product link, pages read, attempts, robots.txt state, charges) is saved as the OUTPUT record.

How to use it

Basic: one category

{
"categoryUrls": ["https://www.walmart.com/browse/home/coffee-shop/4044_90548_90546_1115306"],
"maxProductsPerCategory": 100,
"sort": "best_seller"
}

This is the input of our proof run: 100 products from 3 category pages in 23 seconds.

Several categories and products at once

{
"categoryUrls": [
"https://www.walmart.com/browse/electronics/tvs/3944_1060825_447913",
"https://www.walmart.com/cp/portable-grills/5936113"
],
"productUrls": [
"https://www.walmart.com/ip/Mae-Ploy-Sweet-Chili-Sauce-12-Oz/11045990",
"19143911917"
],
"maxProductsPerCategory": 200
}

Category links are read first, then the product links. maxProductsPerCategory counts per link.

Daily price and stock monitoring

Brands and sellers track their own and their competitors' prices. Put the products in productUrls and schedule the run daily (Apify Console, Schedules, Add schedule):

{
"productUrls": ["12516374178", "16903456907", "5091952167"]
}

Compare price, was_price and availability per us_item_id across days to see sales and stock outs. Product links work on their own; no category link is needed.

UPC and catalog matching

Catalog and data teams turn Walmart item ids into UPCs, brands, models and specifications, to match against their own catalog or another retailer's. Turn on product pages for a category:

{
"categoryUrls": ["https://www.walmart.com/cp/portable-grills/5936113"],
"maxProductsPerCategory": 50,
"fetchDetails": true
}

Join on upc. In our proof run with product pages, 6 of 8 products had a UPC (the two without were marketplace listings) and all 8 had brand, model and specifications.

Marketplace seller research

Find which products in a category Walmart sells itself and which third party sellers carry. Read a category sorted by best sellers and group by seller_type and seller_name:

{
"categoryUrls": ["https://www.walmart.com/browse/electronics/tvs/3944_1060825_447913"],
"maxProductsPerCategory": 400,
"sort": "best_seller",
"skipSponsored": true
}

Add "fetchDetails": true for each marketplace seller's registered business name, rating and rating count.

A whole category, past 400 products

Walmart shows about 400 products per list. Add the same category with two sort orders, or its subcategories; a product found twice is delivered once:

{
"categoryUrls": [
"https://www.walmart.com/browse/electronics/tvs/3944_1060825_447913?sort=price_low",
"https://www.walmart.com/browse/electronics/tvs/3944_1060825_447913?sort=price_high"
],
"maxProductsPerCategory": 500
}

Input parameters

ParameterTypeDefaultWhat it does
categoryUrlsarray of stringsnone (Console prefill: the TVs category)Category (/browse/), shop (/shop/), department (/cp/) and brand (/brand/) links, one per line. Filters and a sort in a link are kept. Up to 100 per run. startUrls is accepted too.
productUrlsarray of stringsnoneProduct links or bare item ids, one per line. Each is read from its product page. Up to 5,000 per run; the same product given twice is read once.
maxProductsPerCategoryinteger100 (Console prefill 40)Most products from each category link, 1 to 500, in Walmart's order. Walmart shows about 400 per list.
fetchDetailsbooleanfalseAlso open each category product's own page for brand, UPC, model, specifications, star counts, every image and every variant with its price. Slower: one more page per product.
sortstringbest_matchbest_match, best_seller, price_low, price_high, rating_high or new. A sort already in a link wins.
skipSponsoredbooleanfalseLeave out the sponsored products Walmart places among a category's products. When kept, they carry is_sponsored: true.

Give at least one category link or product link; a run with neither stops at once with a note and charges nothing for products.

What data do you get?

One row per product. Fields with no value are left out of the row instead of being sent as null.

Product

  • us_item_id (the number in the link), product_id (Walmart's catalog id), title, brand, product_type, url

Price and stock

  • price, was_price (the strike through price, when Walmart shows one), on_sale, unit_price (for example 29.8 ¢/fl oz), price_min and price_max (the range across options), currency (USD)
  • availability: IN_STOCK, OUT_OF_STOCK and Walmart's other stock statuses

Ratings

  • rating, review_count, and on product pages rating_breakdown (count of 1 to 5 star ratings)

Seller

  • seller_type (walmart or marketplace), seller_name, seller_id, offer_count (other offers for the product)
  • Product pages, marketplace sellers: seller_business_name (the registered business name), seller_rating, seller_review_count

Category

  • category_path (for example Home > Appliances > Kitchen Appliances > Coffee Shop > Keurig Coffee Makers), listing_name

Product page details (with fetchDetails, or for product links)

  • upc, model, manufacturer_part_number, short_description (plain text), specifications (a list of name and value)

Images, variants and badges

  • image, images (every image on product pages)
  • variant_count, variant_dimensions, variants (on category pages each variant's item id, name and link; on product pages also its options, price and availability)
  • badges (for example Best seller, Rollback, Overall pick)

List position and run context

  • is_sponsored, position, page (category rows)
  • details_fetched, details_error (whether the product page is in the row, and why not when it could not be opened)
  • source_type (category or product_url), input, scraped_at

Each run also ends with one row that has "_type": "info" and a short message. It is never billed; filter it out by _type.

Stable fields for automations

These fields were present in every one of the 110 product rows of our proof runs on 1 Oct 2026 (100 category rows, 5 with product pages, 5 from a mixed run), and their names will not change:

FieldWhat it holds
us_item_idWalmart item id, the number at the end of the product link
product_idWalmart's catalog product id
titleProduct name
availabilityStock status, for example IN_STOCK
ratingAverage star rating
review_countNumber of ratings
seller_typewalmart or marketplace
seller_nameWalmart.com or the marketplace store's name
seller_idWalmart's seller id
category_pathWalmart's category path
product_typeWalmart's product type, for example Drip Coffee Makers
imageMain product image
urlLink to the product on walmart.com
details_fetchedWhether the product page was read for this row
scraped_atWhen the row was read (ISO 8601)

price was in 107 of the 110 rows: three coffee makers had no price on the category page, and the field is left out rather than guessed. Category pages in our runs showed no brand; product pages showed it every time. was_price appears only when Walmart shows a strike through price (40 of the 100 category rows).

Output examples

Real rows from our proof runs on 1 Oct 2026, trimmed: long descriptions, specification lists, image lists and variant lists are cut.

A category row sold by Walmart, on Rollback (coffee makers, sorted by best sellers):

{
"us_item_id": "12516374178",
"product_id": "2ZRAMD27J84J",
"title": "Keurig K-Express Essentials Black Single-Serve K-Cup Pod Coffee Maker",
"price": 49.47,
"was_price": 54.97,
"currency": "USD",
"on_sale": true,
"availability": "IN_STOCK",
"rating": 4.4,
"review_count": 12732,
"seller_name": "Walmart.com",
"seller_id": "F55CDC31AB754BB68FE0B39041159D63",
"seller_type": "walmart",
"category_path": "Home > Appliances > Kitchen Appliances > Coffee Shop > Keurig Coffee Makers",
"product_type": "Single-Serve Brewers",
"image": "https://i5.walmartimages.com/seo/KEE-BLACK-GEN-2_70d03917-65f9-480f-8391-aade09ee61ca.c44d2b2f723cb1529a4c181faed76958.jpeg",
"variant_count": 4,
"variants": [
{ "us_item_id": "12516374178", "name": "Black", "url": "https://www.walmart.com/ip/KEUR-BRWR-K-EXPE-GEN2-BLACK/12516374178" },
{ "us_item_id": "17400009688", "name": "Red", "url": "https://www.walmart.com/ip/K-EXPRESS-RED-GEN2/17400009688" }
],
"badges": ["Rollback"],
"is_sponsored": false,
"url": "https://www.walmart.com/ip/KEE-BLACK-GEN-2/12516374178",
"details_fetched": false,
"position": 1,
"page": 1,
"listing_name": "Coffee & Espresso Makers",
"source_type": "category",
"input": "https://www.walmart.com/browse/home/coffee-shop/4044_90548_90546_1115306",
"scraped_at": "2026-10-01T13:36:55.435Z"
}

A category row from a marketplace seller, with a price range across colors (same run):

{
"us_item_id": "16903456907",
"title": "AIRMSEN 12-Cup Drip Coffee Maker with K Cup Combo, Programmable Coffee Machine with 1-4 Cup Setting, Single Serve or Coffee Pot, Auto Shut-off, Spill-Free Spout",
"price": 89.89,
"was_price": 178.99,
"price_min": 89.89,
"price_max": 99.89,
"on_sale": true,
"availability": "IN_STOCK",
"rating": 4.1,
"review_count": 1407,
"seller_name": "Airmsen Appliances",
"seller_type": "marketplace",
"category_path": "Home > Appliances > Kitchen Appliances > Coffee Shop > Coffee Makers",
"product_type": "Drip Coffee Makers",
"variant_count": 3,
"badges": ["Best seller"],
"position": 3,
"page": 1,
"source_type": "category"
}

A category row with its product page read (fetchDetails on, a department link that Walmart sent to its category list). The marketplace seller's registered business name and rating come from the product page:

{
"us_item_id": "846132139",
"product_id": "3RI8PBRX2AFP",
"title": "KingChii 456 sq. in Wood Pellet Smoker & Grill BBQ with Auto Temperature Control, Folding Legs for Outdoor Patio RV, Bronze",
"brand": "KingChii",
"price": 229.99,
"was_price": 495.99,
"on_sale": true,
"availability": "IN_STOCK",
"rating": 4,
"review_count": 2101,
"rating_breakdown": { "1": 323, "2": 100, "3": 137, "4": 230, "5": 1311 },
"seller_name": "KingChii",
"seller_business_name": "Guangzhou Kongshan Five Seasons Trading Co., Ltd.",
"seller_type": "marketplace",
"seller_rating": 4.13,
"seller_review_count": 1607,
"category_path": "Patio & Garden > Outdoor Cooking > Grills > Portable Grills > Tailgating Grills",
"product_type": "Pellet Grills",
"model": "HWPG 456B-WR",
"manufacturer_part_number": "HWPG 456B-WR",
"short_description": "A wood pellet grill can fit in most gardens, patios, balconies, and decks with ease. ...",
"specifications": [
{ "name": "Total cooking area", "value": "456 sq in" },
{ "name": "Weight", "value": "69.45 lb" },
{ "name": "Dimensions", "value": "37.00 x 35.00 x 18.00 in" }
],
"badges": ["In 50+ people's carts", "Deal", "Overall pick"],
"details_fetched": true,
"position": 3,
"listing_name": "Portable Grills for Outdoor Cooking",
"source_type": "category",
"input": "https://www.walmart.com/cp/portable-grills/5936113"
}

A product link, with UPC and each variant's own price:

{
"us_item_id": "11045990",
"product_id": "7EH3Y1QKVUYB",
"title": "Mae Ploy Sweet Chili Sauce, 12 Oz",
"brand": "Mae Ploy",
"price": 3.58,
"unit_price": "29.8 ¢/fl oz",
"currency": "USD",
"availability": "IN_STOCK",
"rating": 4.7,
"review_count": 1939,
"rating_breakdown": { "1": 72, "2": 29, "3": 60, "4": 145, "5": 1633 },
"seller_name": "Walmart.com",
"seller_type": "walmart",
"offer_count": 5,
"category_path": "Food > Seasonal Grocery > Lunar New Year Foods",
"product_type": "Hot Sauces",
"upc": "044738072311",
"model": "15242",
"specifications": [
{ "name": "Flavor", "value": "Sweet chilli" },
{ "name": "Size", "value": "12 fl oz" }
],
"variant_count": 2,
"variant_dimensions": [{ "name": "Pack Size", "values": ["Single", "2 Pack"] }],
"variants": [
{ "us_item_id": "11045990", "options": { "Pack Size": "Single" }, "price": 3.58, "availability": "IN_STOCK" },
{ "us_item_id": "5674252882", "options": { "Pack Size": "2 Pack" }, "price": 7.16, "availability": "IN_STOCK" }
],
"url": "https://www.walmart.com/ip/Mae-Ploy-Sweet-Chili-Sauce-12-Oz/11045990",
"details_fetched": true,
"source_type": "product_url",
"input": "https://www.walmart.com/ip/Mae-Ploy-Sweet-Chili-Sauce-12-Oz/11045990"
}

The info row that ends every run (never billed):

{
"_type": "info",
"delivered": 5,
"message": "5 products delivered. This row is informational: it is never billed.",
"scraped_at": "2026-10-01T13:39:34.768Z"
}

The run summary in the OUTPUT record lists a status for every category link (ok, no_products, not_found, robots_disallowed, blocked, duplicate, skipped or error) with its name, product count and pages read, and for every product link that failed, the reason.

Pricing

You pay per product delivered to your dataset, plus a flat $0.005 per run whatever memory you choose. Product pages cost nothing extra, and proxies are included.

EventFree planStarter (Bronze)Scale (Silver)Business (Gold) and above
Product (product-scraped), per product$0.004$0.0034$0.0028$0.0022
Same, per 1,000 products$4.00$3.40$2.80$2.20
Run start (run-start), once per run$0.005$0.005$0.005$0.005

The run start is our own flat event, charged once when the run starts. It is not Apify's per GB start fee, so it stays $0.005 at any memory size. No other pricing change is scheduled.

Never charged:

  • products whose page Walmart refused on every attempt;
  • removed products (Walmart answers 404 or shows no product);
  • links Walmart's robots.txt asks crawlers not to open, including search links;
  • the same product found twice in one run;
  • the info row at the end of the dataset, and the OUTPUT run summary.

If product pages are on and one cannot be opened, the product is still delivered and charged with what its category page shows, and details_error says why. To cap what a run can cost, set a maximum total charge in the run options; the actor stops before a product the budget cannot pay for. The Pricing tab always shows the rate for your own plan; if this table and the Pricing tab ever disagree, the Pricing tab is right.

FAQ

What does this actor read on Walmart?

Public Walmart.com pages, as a visitor who is not signed in sees them. Walmart builds each page from a block of JSON it embeds in the page, and the actor reads that JSON: the product grid and page count on category pages, the carousels on department and brand pages, and the full product record, specifications and rating counts on product pages. No HTML is scraped, so small layout changes do not break it.

How much does it cost to scrape 1,000 Walmart products?

1,000 times your plan's price per product, plus $0.005 for the run: $4.00 on the Free plan, $3.40 on Starter, $2.80 on Scale and $2.20 on Business and above. Product pages cost nothing extra.

About 400. Walmart's page count says up to 25 pages, but a visitor who is not signed in gets products on the first 10 pages only (about 40 each); pages 11 to 25 come back empty, so the actor stops at page 10. For a bigger category, add its subcategories, or the same link again with another sort order. A department or brand page that is not a category list (for example /cp/home/4044) gives the products in its carousels, usually 20 to 80.

Walmart's robots.txt asks crawlers not to open its search pages (Disallow: /search; we checked again on 1 Oct 2026), and this actor follows robots.txt. A search link is skipped with a warning and costs nothing. To cover a search term, open the matching category on walmart.com (the department menu, or the category links on any product page) and paste its /browse/ link, with the sort and filters you want. Every address, and every address Walmart redirects to, is checked against robots.txt, read fresh at the start of each run.

Walmart's bot protection refuses some requests. It refuses a product page that is the first thing a visitor asks for, so before its first product page each proxy session opens Walmart's home page once, as a shopper would. Sessions that get through are kept and reused, and every page gets several attempts (4 for a category page, 8 for a product page, the home page visit counting as one). In our tests on 1 Oct 2026, two runs with product links only read 6 of 6 products; the build before this change read 2 of 12 products in four such runs. A product still refused on every attempt is listed with its reason in the OUTPUT run summary and is not charged.

How fast is it?

Category pages are fast: 100 products from 3 pages took 23 seconds in our proof run, and on 29 Sep 2026 two categories read to the end (761 products, 22 pages) plus 5 product links took 111 seconds. Product pages add about 2 seconds a product: 5 category products with their product pages took 19 seconds, and runs of 3 product links on their own took 20 and 28 seconds. A run stops cleanly before its timeout (one hour by default) and keeps everything delivered so far; near the timeout, category rows are delivered without their product pages and details_error says so.

Do I need a Walmart account, an API key, cookies or a proxy?

No. The actor reads public pages without signing in, through Apify's datacenter proxies, which are included in the price.

Does it tell me whether Walmart or a third party sells the product?

Yes. seller_type is walmart or marketplace, and seller_name is Walmart.com or the seller's store name. With product pages you also get a marketplace seller's registered business name, rating and number of ratings.

Which store's prices do I get?

What a visitor without a saved location sees. In our testing Walmart used its store in Sacramento, California as the default. Grocery and in-store items can differ from store to store.

Why does a row have no price?

A few products show no price on the category page (3 of 100 in our proof run), and some department page carousels show none; the actor leaves the field out rather than guess. Product pages usually have it, and when the product page shows no price the category page's price is kept. Price fields always come from one page together, never a was price from one page and a price from another.

Walmart answers an unknown category id with an empty list, which the run summary reports as no_products and which costs nothing. Copy the link again from walmart.com; category links end in numbers joined by underscores, for example 3944_1060825_447913.

Which formats can I export, and can I schedule it?

JSON, CSV, Excel, XML, HTML table and RSS from the dataset page in Apify Console, or through the Apify API. To schedule, save your input as a task, then add a schedule in Apify Console under Schedules. Each scheduled run is billed like a manual one; the schedule itself costs nothing.

Can I use it from Claude, ChatGPT or another AI agent?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/walmart-product-price-scraper.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http walmart-product-price-scraper "https://mcp.apify.com/?tools=themineworks/walmart-product-price-scraper".

The actor collects only publicly visible product and seller information, never signs in, and follows Walmart's robots.txt. You are responsible for how you use the data, including Walmart's terms and data protection laws such as GDPR and CCPA. This actor is an independent tool and is not affiliated with Walmart Inc.; Walmart is a trademark of its owner.

Integrations

  • Google Sheets: send each run's products to a sheet with Apify's Google Sheets integration.
  • Make, Zapier and n8n: start runs and receive the rows in your workflows.
  • Webhooks: get a call when a run finishes, for example to post price drops to Slack.
  • API: start runs and read datasets from any language with the Apify API or the Python and JavaScript clients.
  • MCP clients: Claude, ChatGPT and other agents through Apify's MCP server.

More from The Mine Works

E-commerce and marketplaces

Social media and video

Leads and business directories

Marketing, SEO and reviews

LinkedIn

Real estate

Science, health and government data

Jobs and hiring

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a problem or need a field? Open an issue on the actor's Issues tab and we will answer there. For a new source or a custom build, email dmineworks@gmail.com.

Walmart Product & Price Scraper turns Walmart category and product links into rows of price, stock, seller, ratings and, when you want them, UPC and specifications, charged only for products delivered.