Zappos Product & Price Scraper avatar

Zappos Product & Price Scraper

Pricing

from $3.00 / 1,000 results

Go to Apify Store
Zappos Product & Price Scraper

Zappos Product & Price Scraper

Scrape live shoe, apparel, and accessory listings from Zappos.com - search by keyword, browse by brand or category, or look up full product detail (price, MSRP, rating, images) by URL. No login required.

Pricing

from $3.00 / 1,000 results

Rating

0.0

(0)

Developer

Crawler Bros

Crawler Bros

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Scrape live shoe, apparel, and accessory listings from Zappos.com — search by keyword, browse by brand or category, or pull full product detail (price, MSRP, rating, images) straight from a product URL. No login, no cookies, no paid proxy required.

What this actor does

  • Search by keyword — free-text search across Zappos' full catalog (shoes, clothing, bags, accessories, eyewear).
  • Browse by brand — pick from 160+ known brands (Nike, adidas, UGG, Dr. Martens, Birkenstock, and more) or type a custom brand name.
  • Browse by category — Boots, Sneakers & Athletic Shoes, Sandals, Heels, Hiking, and 8 more shoe categories.
  • Product detail by URL — paste one or more Zappos product page URLs to get the full detail record (description, MSRP, availability, gallery images, rating breakdown).
  • Filters — gender, department, color, shoe width, price range, minimum rating, on-sale only, and client-side sort (Zappos' own sort parameters are unreliable, so this actor re-sorts fetched results deterministically).
  • Color and width filters narrow the actual Zappos result set (not a post-fetch guess) — the actor chains the requested color/width facet onto the search, brand, or category listing before paginating, the same way Zappos' own filter sidebar does.
  • Empty fields are always omitted — every record only contains data actually found on the page.

Output per product

Search / browse modes:

  • productId, styleId, colorId
  • productName, brandName, color, styleColor, productType
  • price, originalPrice, percentOff, onSale, isNew
  • productRating, reviewRating, reviewCount
  • stockOnHand, inStock
  • gender[], badges[]
  • productUrl, imageUrl, swatchImageUrl
  • availableColors[] — other colorways of the same style (colorName, colorId, price, onSale, productUrl), when Zappos exposes them
  • recordType: "product", scrapedAt

Product detail mode (adds):

  • sku, category, description
  • priceCurrency, availability, itemCondition, bestRating
  • brandUrl — link to the brand's own Zappos page
  • recentReviewRatings[] — individual customer rating scores pulled from the page's review markup
  • imageUrls[] (full gallery)

Input

FieldTypeDefaultDescription
modestringsearchsearch / browseByBrand / browseByCategory / productDetail
searchQuerystringrunning shoesFree-text query (mode=search)
brandselectNikeBrand to browse (mode=browseByBrand); choose "Other" + brandOther for anything not listed
brandOtherstringCustom brand name when brand = "Other"
categoryselectBootsShoe category to browse (mode=browseByCategory)
productUrlsarrayZappos product page URLs, or bare numeric product IDs (mode=productDetail)
genderselectAnyAny / Women / Men / Girls / Boys
departmentselectAnyAny / Shoes / Clothing / Accessories / Bags / Beauty / Jewelry / Sporting Goods
colorselectAny18 stable Zappos color families, or Other + colorOther for anything not listed
colorOtherstringCustom color name when color = "Other"
widthselectAnyNarrow / Medium / Wide / Extra Wide / Extra-Extra Wide — applies the width family matching gender
minPrice / maxPriceintegerUSD price range
minRatingintegerMinimum product rating (1-5)
onSaleOnlybooleanfalseOnly products currently discounted
sortByselectrelevancerelevance / priceLowToHigh / priceHighToLow / ratingHighToLow / mostReviewed / newest
maxItemsinteger20Hard cap on emitted records (1-500)

Example: search with filters

{
"mode": "search",
"searchQuery": "leather boots",
"gender": "Women",
"minPrice": 50,
"maxPrice": 200,
"onSaleOnly": true,
"sortBy": "priceLowToHigh",
"maxItems": 50
}

Example: browse a brand

{
"mode": "browseByBrand",
"brand": "HOKA",
"gender": "Men",
"width": "Wide",
"maxItems": 100
}
{
"mode": "search",
"searchQuery": "sneakers",
"color": "Black",
"department": "Shoes",
"maxItems": 50
}

Example: product detail by URL

{
"mode": "productDetail",
"productUrls": [
"https://www.zappos.com/p/on-kids-cloud-play-little-kid-zephyr-white/product/9894346/color/1055772"
]
}

FAQs

Does this actor need a Zappos account or cookies? No. All data is read from Zappos' public search, browse, and product pages.

Why does sortBy say Zappos' own sort is unreliable? Zappos' ?s= sort query parameter does not reliably reorder server-side results, so this actor fetches the full result set and re-sorts it deterministically in code.

What if my brand isn't in the dropdown? Set brand to Other and put the exact brand name in brandOther. The same pattern applies to color + colorOther.

How does the width filter know which sizing family to use? Zappos scopes shoe widths by gender (Women, Men, Kids). Set gender alongside width for a precise match; if gender is left at Any, the actor checks the Women's width family first, then Men's, then Kids'.

Why did I get 0 results? Either the keyword/brand/category/color/width combination has no matching Zappos facet, or your price/rating filters excluded every match. The run's status message explains which case applies.