Macy's Scraper
Pricing
from $3.00 / 1,000 results
Macy's Scraper
Scrape Macy's (macys.com) - search products by keyword, browse department/category listings, or fetch full product detail (variants, prices, sizes, colors, images, ratings) by product ID. No login, cookies, or API key required.
Pricing
from $3.00 / 1,000 results
Rating
0.0
(0)
Developer
Crawler Bros
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
9 days ago
Last modified
Categories
Share
Scrape Macy's — search products by keyword, browse a department/category listing, or fetch full product detail (variants, prices, sizes, colors, images, ratings) by product ID. No login, cookies, proxy, or API key required.
What this actor does
- Three modes:
search(keyword),category(department/category browse),product(full detail by ID) - Sort orders: Featured, Price Low→High, Price High→Low, Top Rated, Best Sellers, New Arrivals
- Filters: min/max price, min rating, on-sale-only, brand contains, exclude sponsored/featured listings
- Full product detail: every color/size/SKU variant with its own price and stock status, description, category, images, aggregate rating
- Empty fields are omitted — every field in the output is real data, never
nullor placeholders
Output per product (search / category mode)
productId— Macy's numeric product IDtitle,brandurl— canonical product page URLimageUrlprice,currency,originalPrice,discountPercent(when on sale)ratingValue,reviewCountbadge— promotional tag shown on the listing tile (e.g.Clearance,Limited-Time Special,Today Only), when presentpromoBadge— loyalty/rewards promo text shown on the listing tile (e.g.$10 Star Money per $50), when presentisSponsored—trueif this is a paid-placement tile Macy's inserts into the listing grid out of the requested sort ordersourceMode,sourceQuery— which mode/query produced this recordsourceUrl— the listing page URL this record was found onrecordType: "product",scrapedAt
Output per product (product mode — full detail)
productId,title,brand,category,descriptionbreadcrumbs[]— full category navigation trail (e.g.["Women's Fashion, Shoes & Accessories", "Flats"]), more granular thancategoryfeatures[]— bulleted product detail specs from the page (material, closure type, fit, care instructions, style number), when presentimages[],imageUrl(first image)variants[]— each withsku,color,size,price,inStockcolors[],sizes[]— unique lists across all variantsminPrice,maxPrice,price(= minPrice),currencyoriginalPrice,discountPercent— pre-sale price and markdown %, when the product is discountedinStock— true if any variant is in stockratingValue,reviewCountratingDistribution[]— per-star review-count breakdown, each{stars, count}(5-star down to 1-star), when reviews existfitInsights[]— crowd-sourced fit ratings, each{aspect, rating}(e.g.{"aspect": "Runs narrow/runs wide", "rating": "Neutral"}), when enough reviews carry fit data (mostly footwear/apparel)reviews[]— (only whenincludeReviews=true) each withauthor,date,title,text,ratingValue,bestRatingurl,sourceUrl— canonical product page URLrecordType: "productDetail",scrapedAt
Input
| Field | Type | Default | Description |
|---|---|---|---|
mode | select | search | search / category / product |
searchQuery | string | womens dresses | Free-text keyword (mode=search) |
categoryPath | select/text | – | Department/category path (mode=category), e.g. womens-clothing, mens/shoes?id=55822, or paste any Macy's category URL |
productIds | array | – | Numeric product IDs or product page URLs (mode=product) |
sortBy | select | ORIGINAL | Sort order for search/category listings |
minPrice / maxPrice | integer | – | Price range filter (USD) |
minRating | integer | – | Minimum review rating (0–5) |
onSaleOnly | boolean | false | Only emit discounted products |
excludeSponsored | boolean | false | Drop paid-placement/"featured" tiles that ignore the requested sort order |
brand | string | – | Case-insensitive brand substring filter |
includeReviews | boolean | false | Include a reviews[] array (mode=product) |
maxItems | integer | 50 | Hard cap (1–1000) |
Example: search for running shoes under $100, top rated
{"mode": "search","searchQuery": "running shoes","sortBy": "TOP_RATED","maxPrice": 100,"maxItems": 50}
Example: browse men's shoes on sale
{"mode": "category","categoryPath": "mens/shoes?id=55822","onSaleOnly": true,"maxItems": 60}
Example: full product detail lookup
{"mode": "product","productIds": ["20663500", "https://www.macys.com/shop/product/easy-street-womens-fresh-slip-on-sneakers?ID=11081206"],"includeReviews": true}
Use cases
- Price monitoring — track sale prices and discount percentages over time
- Assortment research — pull a full department listing to analyze brand mix and pricing
- Product data enrichment — resolve a list of product IDs into full variant/SKU-level catalog data
- Competitive intelligence — compare pricing and availability across brands and categories
- Size/color availability tracking — monitor stock status per SKU for a watched product
FAQ
Do I need to log in or provide cookies? No — every mode works against Macy's public, unauthenticated pages.
What's the difference between search and category mode? search runs a free-text keyword query (like the site's search bar). category browses a fixed department/category listing (like clicking through the site's navigation menu).
Can I use a category URL that isn't in the dropdown? Yes — the dropdown lists common departments for convenience, but categoryPath accepts any macys.com/shop/... category path or full URL.
Why does product mode return more fields than search/category? Listing pages only expose a summary card. Product-detail mode fetches the individual product page, which contains the full JSON-LD dataset — every color/size variant, SKU, stock status, and description.
Are prices real-time? Yes — every run fetches Macy's live pages; prices, discounts, and stock status reflect what's on the site at scrape time.
What currency are prices in? USD — Macy's is a US retailer.
Is there a rate limit? The actor paces its requests to Macy's public pages so it stays reliable without needing a proxy.