Walmart Product Details — Independent avatar

Walmart Product Details — Independent

Pricing

from $2.90 / 1,000 product detail rows

Go to Apify Store
Walmart Product Details — Independent

Walmart Product Details — Independent

Extract Walmart.com US product details from direct product URLs: display prices, sellers, images, variants, UPCs and returns. Independent tool; search and category crawling are excluded from supported use.

Pricing

from $2.90 / 1,000 product detail rows

Rating

0.0

(0)

Developer

tingyou333 zhuang

tingyou333 zhuang

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

13 hours ago

Last modified

Categories

Share

Turn public Walmart.com US product URLs into structured product records with display prices, sellers, images, UPCs, aggregate ratings, return policies and inline variants. Use the results to enrich a catalog or compare dated public product observations.

Supported release scope: direct product details. Search, category discovery and automatic listing pagination are excluded. The input form still accepts those URL types, but their live collection attempts encountered source challenges. Use /ip/ product links for this release.

This is an independent tool, not a Walmart product, partner service or endorsed integration. Walmart names and source artwork identify the data source only.

Quickstart

Paste one or more US product URLs into Start URLs. Start with a small product limit and leave proxy use disabled:

{
"startUrls": [
{"url": "https://www.walmart.com/ip/BLANCA-NIEVES-Laundry-Detergent-70-54-Ounce/16935510"}
],
"maxProductsPerStartUrl": 1,
"enqueueProductVariants": true,
"useProxy": false,
"maxRuntimeSecs": 90
}

This exact input produced one product row with two inline variants in a private 256MB run. At a limit of 1, variants do not create extra rows and enqueuedVariantIds is empty. Raising the limit and enabling variants allows separately visited variants to become additional product rows; that traversal has passed a small local check, not broad cloud coverage.

Open the dataset's Product details, Source evidence, or Variant and policy data view. Export JSON to preserve nested objects; use the tabular views for a smaller catalog extract. Check the SUMMARY key-value record for limits, skipped duplicates and failures.

The input above is ready to copy. The selected real output fields below and Latest acceptance sample describe the dated observation; current prices and availability can change.

Supported inputs

InputType and defaultMeaning
startUrlsURL-object array; []Up to 100 distinct US product URLs, such as {"url":"https://www.walmart.com/ip/16935510"}. Runtime also accepts legacy URL strings. Empty input produces no product rows. Request headers, cookies, custom methods and remote request-list imports are not supported. Optional userData has no effect on collection or output.
maxProductsPerStartUrlInteger; 10, range 0–10000Maximum persisted rows per start URL, including separately visited variants. 0 removes this count limit; request, time and fee limits still apply.
enqueueProductVariantsBoolean; falseVisit discovered linked variants within remaining limits. Inline variantList is included regardless of this setting.
includeSourceProductBoolean; trueInclude the original public product block for detailed auditing.
maxConcurrencyInteger; 2, range 1–4Concurrent detail requests. Rows are saved in discovery order.
maxRequestsInteger; 150, range 1–1000Total target request-attempt limit, including redirects and retries.
requestTimeoutSecsInteger; 15, range 1–25Timeout per request.
maxRequestRetriesInteger; 1, range 0–2Retry transient network/timeouts and selected server errors. Challenges and 403 responses are not retried.
maxRuntimeSecsInteger; 90, range 1–95Collection deadline. Storage and shutdown also need time within the platform run limit.
requestIntervalSecsNumber; 0.25, range 0–5Minimum interval between request starts across concurrent requests, redirects and retries. 0 disables spacing.
dnsModesystem by default; optional google-dohPublic-IP validation remains enabled in either mode. The explicit DoH option can handle local DNS that maps public sites to reserved addresses; it keeps TLS hostname validation.
useProxyBoolean; falseOptional user-owned proxy. Configuration or connection failures are reported explicitly.
proxyConfigurationObject; disabledApify proxy groups/country or custom proxyUrls. An enabled configuration conflicts with explicit useProxy:false. Paid proxy operation has not been live-tested and may add fees.
maxPagesPerStartUrlInteger; 5, range 1–25Legacy listing-mode limit. Search/category/pagination are excluded from this release's supported scope.

Products are deduplicated by usItemId across the run. A product encountered under multiple start URLs may be emitted only once. A limit is a maximum, not a guarantee of that many results. Source failures, missing detail data and limits can reduce the result count.

Output fields

A row is emitted only after full product detail data passes validation. Listing cards and error messages are not product rows.

FieldsType and semantics
itemType, type, productId, usItemId, name, urlIdentity strings. itemType is DetailProduct; productId is Walmart's internal ID, while usItemId is the US item number. type is the source class, such as VARIANT, and can be null.
brand, brandUrl, upc, model, manufacturerProductId, rhPath, ironbankCategory, genderSource identity/category strings or null. UPCs retain leading zeroes.
priceInfoExactly five nullable display strings: price, priceDisplay, priceRange, wasPrice, unitPrice. A price such as $14.43 is a string, not a numeric amount.
secondaryOfferPrice, offerId, offerType, availability, fulfillmentTypeSource offer display price, identity and status strings or null. Secondary offer price is not a full seller-offer list.
sellerId, sellerName, sellerAverageRating, sellerReviewCount, additionalOfferCount, transactableOfferCountSeller strings and numeric/count fields, nullable when the source omits them.
averageRating, numberOfReviews, ratingCountsNumeric rating, integer review count, and star-count object with keys 1–5. These are aggregates, not review text or a complete review corpus.
thumbnailUrl, allImages, shortDescription, description, longDescriptionImage URLs and source text/HTML. description can remain null while longDescription contains separate source HTML.
variantListArray or null. Each entry contains imageUrl, productId, usItemId, url, allImages, five-field priceInfo, subscriptionEligible, variants, buyBoxSuppression, and availabilityStatus. The selected product may appear in its own list.
enqueuedVariantIdsInternal product IDs admitted to the variant queue within the remaining count limit. An inline variant does not necessarily have a separately fetched row.
returnPolicyObject or null: returnable, freeReturns, returnWindow (value, unitType), returnPolicyText, holidayReturnEnabled.
hasCarePlans, buyBoxSuppression, isSponsored, subscriptionEligible, giftingEligibility, legalRestriction, shippingRestriction, suppressReviews, buyNowEligible, personalizable, showExploreOtherConditionsCTASource booleans or null. No missing restriction/eligibility flag is replaced with an invented false.
orderMinLimit, orderLimit, badges, badge, ebooksSource limits and optional content. Nonempty badge/ebooks forms have limited evidence; the example does not establish every possible shape.
images, imageInfo, category, specifications, fulfillmentOptions, variantCriteria, sourceProductAdditional source-backed fields. sourceProduct is omitted when disabled. Raw source objects retain details outside the normalized fields.
_provenanceSource URL, capture time, response SHA-256, market/language/currency, missing fields and warnings.

Missing values remain null; observed zero counts remain zero. A missing priceDisplay remains null even when price exists. A missing variants map and an empty map are distinguished as null versus []. Source HTML is returned as text, not executed.

The following excerpt comes from the complete real cloud output captured on 2026-09-26:

{
"itemType": "DetailProduct",
"type": "VARIANT",
"productId": "69L71KUFK8CM",
"usItemId": "16935510",
"priceInfo": {
"price": "$14.43",
"priceDisplay": "$14.43",
"priceRange": null,
"wasPrice": null,
"unitPrice": "20.5 ¢/oz"
},
"description": null,
"secondaryOfferPrice": "$14.42",
"returnPolicy": {
"returnable": true,
"freeReturns": true,
"returnWindow": {
"value": 90,
"unitType": "Day"
},
"returnPolicyText": "Free 90-day returns",
"holidayReturnEnabled": false
},
"enqueuedVariantIds": []
}

Limits and coverage

  • US direct product pages only for supported use. Search, category, sorting/filtering of listings and automatic listing pagination have not passed live acceptance and are excluded. Their controls remain in the input schema for compatibility; they are not a success claim.
  • English Walmart.com source data and source-reported USD are supported. No Canada/Mexico collection, language switching or currency conversion is provided.
  • Public price, seller, stock and returns can vary with time and the source's anonymous location/offer context. There is no postal-code/store input, inventory reservation, checkout quote, historical-price guarantee or complete offer coverage.
  • Source challenges, 403s and missing detail data stop with diagnostics. There is no login, personal-cookie import, CAPTCHA solving, account/cart access or hidden fallback dataset. The shipping runtime uses HTTP and does not include a browser.
  • Inline variant extraction passed the documented cloud sample. Separately visiting variants passed bounded local checks; completeness across all products or packs is not guaranteed.
  • The output is not a full competitor-parity claim. One recorded comparison covered 120 reference paths with no missing/type differences and one real secondaryOfferPrice value difference. Other products and nonempty optional branches need their own checks.
  • A private 256MB/120-second-cap run succeeded for the exact one-product example. This does not establish reliability, capacity or cost for larger workloads. The supported cases and unverified behavior are listed in this Limits and coverage section.

Pricing

The paid unit is one valid product detail row saved in the default dataset. Each separately saved variant or listing is another row. Inline arrays do not create extra row events. Failed requests, duplicate rows and diagnostic records do not create result events. A valid source record may have nullable optional fields; a row charge does not guarantee every field.

Apify planUSD per rowUSD per 1,000 rows
FREE0.0055.00
BRONZE0.00434.30
SILVER0.00363.60
GOLD0.00292.90
PLATINUM0.00292.90
DIAMOND0.00292.90

There is no startup event fee. FREE names the Apify subscription tier; it does not mean results are free. The Pricing tab shows the active rate before a run.

Apify platform compute, storage and transfer are charged separately, including for failed or empty runs. An explicitly enabled proxy can add provider fees. A row limit is not an all-inclusive dollar cap. Use small inputs first and inspect actual run usage. Historical owner test runs are not customer revenue or cost forecasts.

API example

The existing Actor ID is wOOw85fhlhPzQpx6p. Save the JSON from Quickstart as input.json in your current directory. Supply your token through APIFY_TOKEN; this command starts a charged run:

curl --request POST \
--url 'https://api.apify.com/v2/acts/wOOw85fhlhPzQpx6p/runs?memory=256&timeout=120' \
--header "Authorization: Bearer ${APIFY_TOKEN}" \
--header 'Content-Type: application/json' \
--data @input.json

Poll the returned run, read its SUMMARY record, then export the default dataset. Keep your token in secret storage; do not place it in a shared URL. Saved datasets can feed catalog enrichment, spreadsheets, or your existing Make/n8n workflow.

FAQ

Will this find products from a keyword or category? That mode is excluded from the supported release. Supply product URLs directly.

Why does cap=1 return no extra variant rows? The cap includes separately visited variants. The one parent row still contains the source's inline variants.

Does a null price mean free? No. Null means the source did not provide that field. Display strings retain currency formatting.

Can I download all customer reviews? No. Only rating/review aggregates are collected.

Where are errors? In SUMMARY, not product rows. PARTIAL, LIMITED, FAILED, and EMPTY distinguish incomplete or empty outcomes. An error-only run is not reported as a successful empty result.

Can I use my own proxy? Yes, explicitly. Configuration mechanics are tested; paid proxy operation has not been live-tested and may add fees.

Is the icon a Walmart endorsement? No. It identifies the source. This tool is independently maintained.

Latest acceptance sample

The quickstart input was checked in Apify Cloud on 2026-09-26 (UTC; run finished at 2026-09-26T18:30:52.552Z). It saved 1 valid rows. The output example on this page copies real source values from that dataset; it is a dated sample, not current inventory or a current quote.

One US product, item 16935510, returned a displayed $14.43 price and two inline variants. The cap of one permitted no extra variant rows. Search and category discovery are outside the supported scope. The legacy SUMMARY field pricingActivatedByThisCode=false describes the absence of manual charge calls; dataset rows are billed by the platform at the active Pricing-tab rate.