Macy's

Macy's regular or sale price (a range when options differ), stock, rating and review count, colours and image, by product id, about 75,000 products per credit. Search and category browsing too. Store pickup for one store as a paid extra.

Embed
Preview of the card
<a href="https://scrapelyserp.com/docs/macys-products"><img src="https://scrapelyserp.com/docs/_api/public/orgs/affc5b0f-d3c2-423a-8143-9d10db5736ae/spaces/981e6275-da3f-446c-82de-889f59c83b6f/pages/b4edf088-44b4-4bac-b29e-c12d75b136bc/social-card.svg?v=3e7ae33eec8b" alt="Macy's" width="600" height="315"></a>

Macy's regular or sale price (a range when options differ), stock, rating and review count, colours and image, by product id, about 75,000 products per credit. Search and category browsing too. Store pickup for one store as a paid extra.

At a glance

Property

Value

platform

macys

Item id

The number after ID= in the product link (…/shop/product/<name>?ID=26580087). A pasted link is reduced to its id for you. Search returns the same id. (26580087).

Marketplaces

Live: us.

Tiers

standard (the default), about 75,000 products per credit; pickup, about 55,000 products per credit, with store pickup for one store (both estimates until production traffic measures them)

Ids per call

300

Typical call

8–25 s for 300 ids

Search

GET /v1/structured/macys/search by keyword or by category, about 350,000 results per credit.

`price` is never a coupon price

price is Macy's regular price, or its sale price when the product is marked down. Coupon and promo-code prices are not given. A product with options at different prices (sizes, colours) has no single price: price is null and macys.priceRange is its lowest and highest. A range is not a discount, and a range where only some colours are on sale shows the whole range. Prices change during the day; ask again for a current one.

What stock means here

availability.inStock is Macy's own flag on the product, and macys.variants counts how many of its options (size and colour) Macy's lists as available. There are no unit counts. A product Macy's no longer sells has no price and inStock: false. A collection of products (a master listing that groups many styles, such as a shirt in 22 colours or a set of sheets) is judged by its product flag only: macys.variants is null for it, and it has no pickup.

Example

curl -X POST "https://api.scrapelyserp.com/v1/products" \
  -H "Authorization: Bearer $SCRAPELY_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "platform": "macys",
    "ids": [
      "26580087",
      "https://www.macys.com/shop/product/tommy-hilfiger-mens-regular-fit-heritage-oxford-shirt?ID=18618230"
    ]
  }'

Full reference → POST /v1/products

Macy's fields

Besides the common fields, each result carries a macys object.

Field

Description

price

Macy's regular price, or the sale price when marked down. null when the product has options at different prices, when it is a bundle Macy's prices in parts, and when Macy's no longer sells it.

macys.listPrice

Macy's regular price, when the product is on sale at one price. null otherwise.

macys.priceRange, saleLabel, onSale

The lowest and highest current price when options differ (then price is null), Macy's own sale label (Clearance, Last Act) and whether the product is marked down.

availability, macys.variants, lowStock

Macy's flag on the product, how many options are available out of how many, and Macy's own few-left flag.

macys.rating, reviewCount

Macy's own review average (0 to 5) and the number of reviews. Both are null when there are no reviews (the item is still ok); a rating is never 0.

macys.brand, colors

The brand and the colour names the product comes in.

seller

Set only when a marketplace seller sells the product (not Macy's itself).

url, images

The product page on Macy's and one picture. Macy's pages may refuse a script that fetches them; the link opens in a browser.

Not given

Coupon and promo-code prices, unit counts, and the price of a single size or colour.

macys/search also lists a category: send category with the number after id= in a Macy's category link, for example 20635 (men's dress shirts). Use query or category, not both.

Store pickup (paid extra)

Send tier: "pickup" with store, a Macy's store number such as 8 (Queens - Rego Park). Each result then has macys.pickup: the store's name and place, whether it offers pickup at all (storeOffersPickup), whether any option can be picked up there (available) and how many (variantsAvailable of variantsChecked). It is Macy's own pickup flag for each option, not a unit count, and it is not a promise for today: ask again close to the time.

A pickup call costs about a third more per product (about 55,000 per credit instead of about 75,000), because every option is checked at the store. Only a store number works: a ZIP code does not choose a store, and there is no ZIP lookup. A store number Macy's does not know makes every item unavailable and costs nothing. store is refused on the standard tier.

Statuses on Macy's

  • partial: Macy's answered without a title, or (pickup tier) the pickup answer failed after retries. The price and stock are still real. Ask again later.

  • not_found: Macy's has no such product id.

  • unavailable: no usable answer after retries, or a store number Macy's does not know. Not charged; ask again.

Updated