Walmart Product Scraper avatar

Walmart Product Scraper

Pricing

$2.00 / 1,000 products

Go to Apify Store
Walmart Product Scraper

Walmart Product Scraper

Paste any Walmart product link or item ID and get the full product as clean data: title, price in USD, brand, rating, seller, every image, description, specifications and variants with price and availability.

Pricing

$2.00 / 1,000 products

Rating

0.0

(0)

Developer

Hamza

Hamza

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Categories

Share

Paste any Walmart product link or item number and get the full product back as clean, structured data — title, price in USD, brand, customer rating and review count, seller, every image, long description, specifications, available variants such as color or size with their own price and availability, fulfillment options and stock status. One input row becomes one enriched product record, so you can turn a list of links from a spreadsheet, a competitor report or a category export into a dataset ready to filter and pivot. Built for anyone who needs Walmart's product pages as data: retailers enriching a catalog, analysts tracking price and availability, sourcing teams validating a shortlist, and brands watching how their listings read to shoppers.

What you can do with it

  • Turn a link or an ID into a full record — paste https://www.walmart.com/ip/12345678 or just 12345678 and get back price, images, specs, description and seller in one row. Mix links and bare IDs in the same list.
  • Capture every variant — when a product comes in multiple colors, sizes or pack counts each option is returned with its own price and availability so you can map the full offer without opening the page.
  • Track what a shopper actually sees — title, brand, category breadcrumb, rating, review count, all images, fulfillment badges and whether the item is in stock are returned exactly as Walmart shows them right now.
  • Keep a clean list honest — products that are no longer available are still returned with listingStatus: UNAVAILABLE so a removed listing is never silently dropped and your row count always matches your input count.
  • Run a list on a schedule — re-run the same set hourly or daily and compare each fresh dataset to the last to spot price moves, stock flips and new variants.
  • Feed any workflow — every record carries its canonical product URL and item ID, so you can join it to a search export, a price tracker or a catalog of your own.

What you get

One row per product. Abridged sample of a single enriched product:

{
"itemId": "12345678",
"title": "Apple AirPods Pro (2nd Generation) Wireless Earbuds",
"price": { "amount": 189.99, "currency": "USD" },
"originalPrice": { "amount": 249.99, "currency": "USD" },
"onSale": true,
"brand": "Apple",
"categoryBreadcrumb": ["Electronics", "Headphones", "Earbuds"],
"rating": 4.7,
"reviewCount": 18342,
"seller": { "name": "Walmart.com", "rating": 4.5 },
"images": [
"https://i5.walmartimages.com/seo/image-abc123.jpeg",
"https://i5.walmartimages.com/seo/image-def456.jpeg"
],
"description": "Active Noise Cancellation reduces unwanted background noise. Adaptive Transparency lets outside sounds in while reducing loud environmental noise…",
"specifications": {
"Connectivity": "Bluetooth 5.3",
"Battery Life": "Up to 6 hours"
},
"variants": [
{
"variantId": "111",
"title": "White — Standard",
"price": { "amount": 189.99, "currency": "USD" },
"availability": "IN_STOCK",
"itemId": "12345678",
"url": "https://www.walmart.com/ip/12345678"
}
],
"fulfillmentOptions": ["Free shipping", "Pickup"],
"availability": "IN_STOCK",
"url": "https://www.walmart.com/ip/12345678",
"listingStatus": "ACTIVE",
"scrapedAt": "2026-08-28T12:00:00.000Z"
}

A product shown at a discount carries both price (what the shopper pays) and originalPrice (the struck-through was-price) with onSale: true. When there is no discount originalPrice is null and onSale is false. A removed or no-longer-available listing is still returned, with listingStatus: UNAVAILABLE, availability: OUT_OF_STOCK and the fields Walmart no longer renders left empty rather than guessed. Every monetary figure is in USD — Walmart is a US-only marketplace.

Input reference

SettingTypeDefaultWhat it does
Product pages or item IDslist of texthttps://www.walmart.com/ip/12345678Walmart product pages to scrape. Paste full links such as https://www.walmart.com/ip/Apple-AirPods-Pro-2nd-Generation/12345678 or https://www.walmart.com/ip/12345678, or just the item number like 12345678. Mix links and IDs in the same list. Each entry returns one product record. Required. Maximum 5,000 entries per run.
Include review summarytrue/falsefalseAdd the product's rating and review count to each record. Useful when you need the average rating and total review volume alongside the other details.
Include variantstrue/falsetrueCollect available variants such as size, color or pack options when a product has them. Each variant's price and availability is included.
Parallel workwhole number5How many product pages to fetch at the same time. Maximum 10.

Output fields

FieldTypeDescription
itemIdtextWalmart's item number for the product.
titletextProduct title as shown to shoppers. null on unavailable listings.
priceobjectThe price as { amount, currency }, always in USD. amount is null when no price is shown.
originalPriceobjectThe struck-through was-price when a discount is shown; null otherwise. Always in USD.
onSaletrue/falseWhether the product is currently discounted (originalPrice above price).
brandtextBrand name when shown on the page.
categoryBreadcrumblist of textCategory trail from the site's breadcrumb (for example ["Electronics","Headphones"]).
ratingnumberAverage customer rating (0–5, one decimal) when shown.
reviewCountnumberNumber of customer reviews when shown.
sellerobjectSeller as { name, rating }. name is "Walmart.com" for Walmart-sold items; marketplace sellers show their display name.
imageslist of textAll product image URLs found on the page.
descriptiontextLong description / product story as plain text, when the page carries one.
specificationsobjectKey-value specifications (for example {"Connectivity":"Bluetooth 5.3"}) extracted from the specs and features sections.
variantslist of objectsAvailable variants when the product has them. Each entry has variantId, title, optional axes such as color/size, price, availability and url. Empty when there are no variants or when includeVariants is off.
fulfillmentOptionslist of textFulfillment badges such as "Free shipping" or "Pickup" when shown.
availabilitytextStock status as IN_STOCK or OUT_OF_STOCK.
urltextCanonical link to the product page (https://www.walmart.com/ip/ITEM_ID).
listingStatustextACTIVE when the listing was found and parsed, UNAVAILABLE when the product is no longer available.
scrapedAttextWhen the row was collected (ISO timestamp).

Pricing

You pay per product row, with no monthly minimum.

What you are charged forPrice
Product — one product added to your dataset$2.00 per 1,000

The charge is a flat fee per row pushed to the dataset. A list of 500 products costs 500 × $0.002 = $1.00. A daily run of 100 products is about $0.20 per run, roughly $6 a month. Products that are no longer available are still returned as UNAVAILABLE rows and are charged the same as available ones because their page was still read and classified; only products that could not be read at all (and therefore produce no row) are not charged.

Worked example. Enriching 1,000 products costs 1,000 × $0.002 = $2.00. Enriching the same list daily for 30 days costs about $60 and produces 30 comparable snapshots you can diff for price and availability changes.

Limits & what this actor cannot do

  • Prices, ratings, stock, images and variants are a snapshot at the moment of collection and keep changing afterwards; Walmart may update any of them without notice.
  • A product that Walmart has removed is returned as listingStatus: UNAVAILABLE with availability: OUT_OF_STOCK and empty price/spec fields — the row is still produced so your input and output counts stay aligned.
  • Identical item IDs in the same run are read only once — the first occurrence produces the row and later duplicates are skipped with a warning.
  • There is a practical ceiling of 5,000 products per run. To process a larger catalog, split it into multiple runs.
  • Specifications are taken from the structured specs and features sections the page renders. Where a layout omits them that field comes back as an empty object rather than guessed.
  • Variants are returned only when the product's own page exposes them as selectable options. A listing that shows variants only as images or free text may carry a variants: [] until Walmart renders them structurally.
  • Prices come back in USD only; a figure is never re-labelled into a different currency.
  • Speed depends on the size of the job and on Walmart's own response times; no fixed throughput is promised.
  • Walmart's terms govern automated access. You are responsible for using the data lawfully and in line with the source site's terms, and for handling any personal data in line with applicable privacy law.

FAQ

Do I need a Walmart account? No. The actor reads only what Walmart shows the public on its product pages.

Does it need my login or password? No. There is nothing to connect and nothing to configure — paste the links or IDs and press start.

Which link shapes do you accept? Both https://www.walmart.com/ip/12345678 and https://www.walmart.com/ip/Some-Product-Name/12345678 work, plus any of those with query strings or fragments, and bare IDs like 12345678. The numeric ID is the only part that matters; the slug is ignored when fetching.

Can I mix links and IDs in the same list? Yes. Paste a spreadsheet column that has both — the actor extracts the item ID from each entry, dedupes the list, and reads each distinct product once.

What happens when a product is no longer available? It is still returned as a row with listingStatus: UNAVAILABLE and availability: OUT_OF_STOCK. That way a 100-row input always gives you 100 rows back and you can tell a removed listing from a failed read.

Are variants included? Yes when they are switchable on the product page (color, size, pack count and similar axes). Each variant carries its own price and availability and its own product link when Walmart exposes one. Turn Include variants off to skip that section.

Is the review rating part of the product record? Yes — rating and reviewCount are on every available product. Use Include review summary when you want to make that explicit in your workflow; the fields are still the shopper-visible average and total count.

How many products can I run at once? Up to 1,000 per run. Split a larger catalog into batches and run them back-to-back.

Can I schedule it? Yes. Schedule it hourly, daily or weekly from the Apify console, and each run writes a fresh dataset you can compare against the last — ideal for tracking price, stock and variant changes over time.

Is the data complete? It is complete for everything Walmart shows openly on the product page. Where a layout omits a field the actor leaves it empty rather than guessing, and it reports removed listings explicitly instead of dropping them.