Walmart Scraper avatar

Walmart Scraper

Pricing

Pay per event

Go to Apify Store
Walmart Scraper

Walmart Scraper

Scrape Walmart products by keyword, URL, or item ID. Get prices, discounts, variants, ratings with full star breakdown, seller and return info, deal and sponsored flags, fulfillment options, and reviews. Price-change tracking and MAP detection built in. No API key required.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Unfenced Group

Unfenced Group

Maintained by Community

Actor stats

1

Bookmarked

11

Total users

5

Monthly active users

9 days ago

Last modified

Share

Walmart Scraper

Extract product data from Walmart.com and Walmart.ca at scale: prices, deal badges, sellers, variants, ratings, review distribution, return policy, fulfillment options, and full descriptions. Built-in price-change tracking, MAP violation detection, bulk item-ID mode, and customer reviews. Search by keyword, direct URL, or item ID. No API key required.


Why this scraper?

🔍 Three discovery modes

Search finds products by keyword. Bulk fetches a list of item IDs directly for the fastest possible runs. Monitor tracks a fixed set of products and returns only the ones that changed since the last run.

💵 Complete pricing

Current price, original "was" price, calculated discount and discount percentage, and per-unit price for grocery items. Sort search results by price and filter by a minimum and maximum price.

🎨 Full variant data

Every colour, size, and configuration is returned with its own item ID, price, availability, and image, plus a compact list of all available options.

⭐ Ratings and review distribution

Average rating, total review count, and the full one-to-five-star breakdown for each product. Optionally pull individual customer reviews with text, rating, verified-purchase flag, and helpful votes.

🏷️ Deal and demand signals

Rollback, Clearance, Special Buy, Best Seller, and Sponsored flags, so you can spot promotions and paid placements at a glance.

🚚 Fulfillment and seller detail

Pickup, delivery, shipping, and free-shipping availability per product. Seller name, first-party flag, and — for marketplace sellers — seller rating and review count. Return policy included.

📉 Price change tracking and MAP enforcement

Each run compares price and availability against last-known values and tags every item with a change status. Supply your MAP prices and any product priced below its minimum is flagged automatically.

📍 ZIP-code geo pricing

Walmart prices and availability vary by location. Enter a US ZIP code to scrape exactly what a buyer there sees.


Input parameters

FieldTypeDefaultDescription
modestring"search"search (keyword), bulk (item ID list), or monitor (change tracking).
keywordsarray[]Search terms. Each keyword runs independently.
startUrlsarray[]Specific Walmart product (/ip/...) or search page URLs.
itemIdsarray[]Walmart numeric item IDs for bulk mode. Fastest input method.
domainstring"walmart.com"walmart.com (USD) or walmart.ca (CAD).
maxResultsinteger5Maximum products to return across all inputs.
sortstring"best_match"Sort search results: best_match, price_low, price_high, best_seller, new, or rating_high.
minPriceinteger(empty)Only return products priced at or above this value.
maxPriceinteger(empty)Only return products priced at or below this value.
fetchDetailsbooleanfalseFetch each product's detail page for variants, description, unit price, model, UPC, review distribution, seller rating, and return policy. Always on in bulk and monitor modes.
zipCodestring""US ZIP code for geo-targeted pricing (e.g. "10001", "90210").
outputOnlyChangesbooleanfalseEmit only items that changed since the last run. Requires history from previous runs.
mapPricesobject{}MAP per item ID: { "1004249195": 49.99 }. Items below are flagged mapViolation: true.
includeReviewsbooleanfalseFetch customer reviews (saved as separate items). Billed at $0.50 per 1,000 reviews.
maxReviewsinteger20Maximum reviews per product when includeReviews is on.
skipRepostsbooleanfalseSkip products already returned in previous runs (cross-run dedup).

Output schema

Always present (every product)

FieldTypeDescription
itemIdstringWalmart numeric item ID.
titlestringFull product title.
urlstringCanonical product URL.
pricenumber|nullCurrent price (null if out of stock or not offered).
listPricenumber|nullOriginal "was" price before discount.
discountnumber|nullAbsolute discount from list price (null when not discounted).
discountPctnumber|nullDiscount as a percentage (null when not discounted).
currencystring"USD" or "CAD".
availabilitystring|nullAvailability status as reported by Walmart.
inStockboolean|nullTrue when the item is in stock.
brandstring|nullProduct brand.
ratingnumber|nullAverage customer rating (0–5).
reviewCountinteger|nullTotal review count.
imagestring|nullPrimary image URL.
sellerNamestring|nullSeller display name.
sellerIdstring|nullWalmart seller ID (null for first-party items).
isFirstPartybooleanTrue when sold directly by Walmart.
fulfillmentstring|nullPrimary fulfillment type.
offersPickupbooleanStore pickup available.
offersDeliverybooleanLocal delivery available.
offersShippingbooleanShipping available.
freeShippingbooleanFree shipping offered.
dealBadgestring|nullBadge text (Rollback, Clearance, etc.).
isRollbackbooleanRollback badge present.
isClearancebooleanClearance badge present.
isSpecialBuybooleanSpecial Buy badge present.
isBestSellerbooleanBest Seller badge present.
isSponsoredbooleanPaid/sponsored placement in search results.
domainstringWalmart domain scraped.
zipCodestring|nullZIP used for geo pricing.
changeStatusstringNEW, PRICE_DROP, PRICE_RISE, RESTOCKED, OUT_OF_STOCK, or UNCHANGED.
prevPricenumber|nullPrice from the previous run (null on first run).
prevAvailabilitystring|nullAvailability from the previous run.
priceChangenumber|nullPrice change versus previous run.
priceChangePctnumber|nullPercentage price change versus previous run.
mapViolationbooleanTrue when price is below the supplied MAP.
mapPricenumber|nullThe MAP you supplied for this item.
belowMapBynumber|nullHow far below MAP the current price is.
sourcestringWalmart domain.
scrapedAtstringISO 8601 timestamp.
contentHashstring16-character hash for change detection.

With fetchDetails: true (and in bulk/monitor mode)

FieldTypeDescription
modelstring|nullManufacturer model number.
upcstring|nullUPC barcode.
pricePerUnitstring|nullUnit price for grocery items (e.g. "44.1 ¢/oz"; null for non-grocery).
categoriesarrayFull category breadcrumb path.
descriptionHtmlstring|nullRaw HTML description.
descriptionTextstring|nullPlain-text description.
descriptionMarkdownstring|nullDescription converted to Markdown.
variantsarray|nullEach variant: itemId, type, name, price, listPrice, availability, inStock, image, currency.
variantOptionsarray|nullAvailable options grouped by attribute, e.g. [{ "name": "Color", "values": ["Black","Blue"] }].
imagesarrayAll product image URLs.
ratingDistributionobject|nullStar breakdown: { one, two, three, four, five } counts.
sellerAverageRatingnumber|nullMarketplace seller rating (null for first-party).
sellerReviewCountinteger|nullMarketplace seller review count (null for first-party).
returnPolicyobject|null{ returnable, freeReturns, returnWindow, text }.

Review items (includeReviews: true)

Saved as separate items with "_type": "review".

FieldTypeDescription
_typestringAlways "review".
reviewIdstring|nullPlatform review ID.
itemIdstringParent product item ID.
ratingnumber|nullStar rating (1–5).
titlestring|nullReview headline.
textstring|nullReview body.
authorNamestring|nullReviewer display name.
isVerifiedPurchasebooleanVerified Purchaser badge.
helpfulVotesintegerHelpful vote count.
submissionDatestring|nullSubmission date.

Example product (search with fetchDetails: true)

{
"itemId": "256397692",
"title": "Hanes Men's Beefy-T Heavyweight Cotton T-Shirt",
"url": "https://www.walmart.com/ip/Hanes-Mens-Beefy-T/256397692",
"price": 15.00,
"listPrice": 20.00,
"discount": 5.00,
"discountPct": 25.0,
"currency": "USD",
"availability": "IN_STOCK",
"inStock": true,
"brand": "Hanes",
"model": "5180",
"upc": "075338110738",
"rating": 4.6,
"reviewCount": 1240,
"ratingDistribution": { "one": 5, "two": 0, "three": 4, "four": 14, "five": 102 },
"sellerName": "Walmart.com",
"isFirstParty": true,
"offersPickup": true,
"offersDelivery": true,
"offersShipping": true,
"freeShipping": true,
"isBestSeller": true,
"isSponsored": false,
"categories": ["Clothing", "Mens Clothing", "Mens Shirts", "Mens T-Shirts"],
"variantOptions": [
{ "name": "Color", "values": ["Black", "Navy", "White"] },
{ "name": "Clothing Size", "values": ["S", "M", "L", "XL", "2XL"] }
],
"variants": [
{ "itemId": "15343651004", "type": "Color / Clothing Size", "name": "Black / L", "price": 15.00, "availability": "IN_STOCK", "inStock": true }
],
"returnPolicy": { "returnable": true, "freeReturns": true, "returnWindow": 90, "text": "Free 90-day returns" },
"changeStatus": "PRICE_DROP",
"prevPrice": 18.00,
"priceChange": -3.00,
"priceChangePct": -16.67,
"mapViolation": false,
"scrapedAt": "2026-07-10T08:36:00.000Z",
"contentHash": "a3f8b21c9d4e7f01"
}

Examples

Keyword search with full detail and geo pricing:

{ "keywords": ["coffee maker"], "maxResults": 50, "fetchDetails": true, "zipCode": "10001" }

Price-sorted search with a price range:

{ "keywords": ["laptop"], "sort": "price_low", "minPrice": 300, "maxPrice": 800, "maxResults": 40 }

Bulk mode — fastest way to check known products:

{ "itemIds": ["1004249195", "846561863", "5095233663"], "fetchDetails": true, "domain": "walmart.com" }

Daily price-drop monitor (scheduled run):

{ "keywords": ["keurig", "nespresso"], "mode": "monitor", "outputOnlyChanges": true, "maxResults": 500, "fetchDetails": true }

💰 Pricing

$3.00 per 1,000 products — you only pay for products successfully returned. Failed retries are never charged.

Reviews add-on: $0.50 per 1,000 reviews when includeReviews is enabled.

ProductsCostReviews (20 each)
100~$0.30+~$1.00
1,000~$3.00+~$10.00
10,000~$30.00+~$100.00

Flat-rate Walmart data services charge $49–$199/month regardless of usage. Use the Max results cap to control your spend exactly.


Performance

RunTypical time
50 products, bulk mode2–4 min
50 products, search + fetchDetails4–6 min
200 products, search + fetchDetails15–20 min
1,000 products, monitor + outputOnlyChanges20–40 min

Known limitations

  • Detail-only fields (variants, description, unit price, model, UPC, review distribution, seller rating, return policy) require fetchDetails: true. Bulk and monitor modes always fetch details.
  • pricePerUnit is only present for grocery and consumable items that Walmart prices per unit; it is null for everything else.
  • sellerAverageRating and sellerReviewCount are only present for third-party marketplace sellers, not first-party Walmart items.
  • outputOnlyChanges returns zero items on the first run, since every item is new. It is useful from the second run onwards.
  • ZIP targeting is US-only; walmart.ca ignores zipCode.
  • walmart.com.mx is not currently supported.

Technical details

  • Sources: walmart.com (USD), walmart.ca (CAD).
  • Memory: 512 MB.
  • Price history store: KeyValueStore walmart-price-history (up to 200K items tracked).
  • Retry: automatic retry on network errors with exponential backoff.

Other scrapers in our marketplaces and retail collection:


Need a custom scraper?

Unfenced Group builds Apify actors for any website — for free.

If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.

Get in touch: www.unfencedgroup.nl