Macy's Scraper — Products, Prices, SKUs & News
Extract Macy's product data — prices, variants, SKU/UPC barcodes, images, ratings & reviews — plus Macy's Inc. news, from search, category, trending, and product URLs. No browser, Akamai-proof.
Key Features
Four surfaces in one actor — product search, category, trending, and Macy's Inc. news
Beats Akamai Bot Manager without a browser by using Macy's own mobile & website JSON APIs
Per-SKU UPC barcodes with color, size, availability, and price for every purchasable variant
Prices as integer cents plus localized formatted strings — no floating-point rounding
Full review intelligence — star histogram, recommend counts, and secondary fit/size ratings
All shades and sizes grouped under one product record, not one row per variant
Clean canonical URLs only — internal API endpoints and client keys never leak into output
One normalized schema across search, category, trending, and product-detail results
Use Cases
- Department-store price and promotion monitoring at SKU level
- Competitive analysis — Macy's vs Nordstrom, Ulta, or brand DTC pricing
- Catalog matching across retailers via per-variant UPC barcodes
- Review and rating intelligence for brands sold at Macy's
- Retail news monitoring — Macy's Inc. press releases and earnings announcements
Input Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
scrapeType | string | Yes | Surface to scrape: search, category, trending, news, or all (default: search). |
query | string | No | Keyword for product search, e.g. women shoes. |
startUrls | array | No | Macy's product/category URLs or Macy's Inc. news URLs. |
categoryIds | array | No | Macy's category IDs (e.g. 5449). Category URLs are preferred when known. |
trendingUrls | array | No | Trending, bestseller, or curated listing URLs. |
newsUrls | array | No | Macy's Inc. news listing or article URLs. |
includeProductDetails | boolean | No | Enrich listing items with full product detail — variants, SKUs, galleries (default: true). |
maxPages | number | No | Max pagination depth per listing/news source. |
maxResults | number | No | Cap on output records. 0 = no cap. |
proxy | object | Yes | Apify Proxy or custom proxy URLs. Residential, country US recommended. |
Output Example
1{
2 "type": "product",
3 "source": {
4 "id": "12345678",
5 "canonicalUrl": "https://www.macys.com/shop/product/calvin-klein-womens-sheath-dress?ID=12345678",
6 "retailer": "macys",
7 "currency": "USD"
8 },
9 "title": "Women's Sleeveless Sheath Dress",
10 "brand": "Calvin Klein",
11 "categories": ["Women", "Dresses", "Work Dresses"],
12 "price": {
13 "sale": 5999,
14 "list": 9800,
15 "currentFormatted": "$59.99",
16 "stockStatus": "InStock"
17 },
18 "stats": { "rating": 4.6, "reviewCount": 9, "ratingPercentage": 92 },
19 "options": [
20 { "type": "Color", "values": [{ "id": "1", "name": "Black" }] },
21 { "type": "Size", "values": [{ "id": "10", "name": "M" }, { "id": "12", "name": "L" }] }
22 ],
23 "variants": [
24 {
25 "id": "987654",
26 "sku": "192837465012",
27 "options": ["Black", "M"],
28 "price": { "stockStatus": "InStock" },
29 "extraInfo": { "upc": "192837465012" }
30 }
31 ],
32 "medias": [{ "type": "Image", "url": "https://slimages.macysassets.com/is/image/MCY/products/.../main.jpg" }]
33}
Pricing
Pay-per-event — you’re billed only for items actually saved:
| Event | Price | What it covers |
|---|---|---|
| Product scraped | $0.006 | One product with full detail — variants, SKUs/UPCs, prices, images, ratings |
| Article scraped | $0.002 | One Macy’s Inc. news article — title, author, date, body, images |
Volume discounts apply automatically on higher Apify plans (down to $0.0045 per product). A 1,000-product crawl is ~$6.00 at list price.
Tips
- Use residential US proxies. The product-detail endpoint is intermittently rate-limited; residential session rotation gets through cleanly, while datacenter IPs see more 403s.
- Keep concurrency modest.
maxConcurrencyof 2–3 is the sweet spot — higher values raise rate-limit hits without improving throughput. - Prefer category URLs over bare IDs. The URL carries the category path the API expects; a bare ID may resolve to a broader or empty result set.
- Turn off
includeProductDetailsfor a fast listing-level sweep (name, brand, listing price, image, rating) when you don’t need variants or descriptions.
Frequently Asked Questions
How does it get past Akamai without a browser?
Are prices in dollars or cents?
How are variants and UPCs handled?
Can I scrape products and news in one run?
Related Tools
Sephora Scraper (Global)
Scrape any Sephora storefront — 21 markets, one actor.
Learn moreBoohoo Scraper
Scrape Boohoo product data across 7 regional stores.
Learn moreFarfetch Scraper
Scrape luxury fashion products from Farfetch with multi-currency support.
Learn more