Discover/Macys API
live

Macys APImacys.com

Access Macy's product catalog via API. Search products, browse category trees, and fetch detailed pricing, sizing, availability, and imagery for any item.

Endpoint health
verified 6d ago
get_product_details
search_products
get_category_navigation
browse_category
4/4 passing latest checkself-healing
Endpoints
4
Updated
22d ago

What is the Macys API?

The Macy's API exposes 4 endpoints for querying the full Macy's product catalog, covering search, category navigation, category browsing, and product detail retrieval. The search_products endpoint returns up to 20 products per query with name, brand, description, pricing, colors, sizes, availability, and imagery. Together the endpoints give structured access to the same catalog data shoppers see on macys.com.

Try it

No input parameters required.

api.parse.bot/scraper/767f72c4-3498-4f8b-b11d-47cc123dc71b/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/767f72c4-3498-4f8b-b11d-47cc123dc71b/get_category_navigation' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace macys-com-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.

from parse_apis.macys_api import Macys, Product, NavigationCategory

client = Macys()

# Search for products by keyword
for product in client.products.search(query="handbags", limit=3):
    print(product.id, product.detail.name, product.detail.brand.name)
    print(product.pricing.price.tiered_price[0].values[0].formatted_value)
    print(product.availability.available)

# Browse category products to get IDs
for pid in client.products.browse(category_id="55352", pathname="/shop/jewelry-watches/jewelry/fashion-jewelry", limit=5):
    print(pid)

# Get navigation categories
nav = client.products.navigation()
for cat_id, category in nav.items():
    print(category.id, category.text, category.category_page_type)
    break
All endpoints · 4 totalmissing one? ·

Retrieve the site menu structure including all main departments and subcategories with associated category IDs. Returns a flat map of category objects keyed by category ID. Each category includes id, text, url, parent info, children (if any), and categoryPageType. Use this to discover valid category_id and pathname values for the browse_category endpoint.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "menu": "object mapping category IDs to category objects, each containing id, text, url, parent, children, and categoryPageType"
  },
  "sample": {
    "data": {
      "menu": {
        "69963": {
          "id": "69963",
          "url": "/shop/home/furniture-mattress/entryway?id=69963&cm_sp=mew_navigation_shop-_-home_furnituremattresses-_-69963_entryway",
          "text": "Entryway",
          "title": "Entryway",
          "value": "69963",
          "parent": {
            "id": "29391",
            "text": "Furniture & Mattresses"
          },
          "categoryPageType": "Browse"
        }
      }
    },
    "status": "success"
  }
}

About the Macys API

Category Navigation and Browsing

The get_category_navigation endpoint returns the full Macy's site menu as a flat map keyed by category ID. Each entry includes id, text, url, parent, children, and categoryPageType, giving you a traversable tree of every department and subcategory. Once you have a category ID and pathname from this map, you can pass both to browse_category to list products in that category. browse_category returns total (the full product count), an array of product_ids for the current page, and a facets array describing available filter dimensions — each facet includes name, displayName, and its possible values.

Product Search and Detail

The search_products endpoint accepts a query string and an optional page_index. Each result object in the product array carries id, detail (name, description, brand), structured pricing, imagery, availability, and traits including colors and sizes. For bulk or targeted lookups, get_product_details accepts a single product ID or a comma-separated list and returns the same rich fields plus flags within detail and shipping information. Batching multiple IDs in one call reduces round trips when you already have IDs from browse_category.

Combining Endpoints

A typical workflow chains get_category_navigationbrowse_categoryget_product_details. First retrieve category IDs and pathnames, then page through product IDs in a category, then batch-fetch full detail objects. Alternatively, search_products short-circuits navigation by returning full product data directly from a keyword, useful when you know what item you want but not its category path.

Reliability & maintenanceVerified

The Macys API is a managed, monitored endpoint for macys.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when macys.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.

This isn't an official macys.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.

Last verified
6d ago
Latest check
4/4 endpoints passing
Maintenance
Monitored & self-healing
Will this API break when the source site changes?+
It's built not to. Every endpoint is health-checked on a schedule with automated test probes. When the source site changes and a check fails, the API is automatically queued for repair and re-verified — that's the self-healing layer. Each API page shows when its endpoints were last verified. And because marketplace APIs are shared, any fix reaches everyone using it.
Is this an official API from the source site?+
No — Parse APIs are independent, managed REST wrappers over publicly available data. That is the point: where a site has no official API (or only a limited one), Parse gives you a maintained, monitored endpoint for that data and keeps it working as the site changes — so you get a stable contract over a source that never promised one.
Can I fix or extend this API myself if I need a new endpoint or field?+
Yes — and you don't have to wait on us. This API was generated by the Parse agent, which stays attached. Describe the change in plain English ("add an endpoint that returns reviews", "fix the price field") in the revise box on the API page or via the revise_api MCP tool, and the agent rebuilds it against the live site in minutes. Contributing the change back to the public API is free.
What happens if I call an endpoint that has an issue?+
Errors are machine-readable: a bad call returns a clean status with the list of available endpoints and a repair hint, so an agent (or you) can recover or trigger a fix instead of failing silently. Confirmed failures feed the automatic repair queue.
Common use cases
  • Build a price comparison tool using pricing fields from get_product_details across multiple product IDs
  • Populate a category-tree UI by parsing the children and parent fields from get_category_navigation
  • Track in-stock availability changes across a product list using the availability field in get_product_details
  • Generate a product feed filtered by size or color using traits from search_products
  • Audit category facets and filter dimensions across Macy's departments using the facets array in browse_category
  • Sync Macy's product imagery URLs into an internal catalog using the imagery field returned by both search and detail endpoints
  • Monitor total product count per category over time using the total field from browse_category
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo1005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min

One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Macy's have an official developer API?+
Macy's does not publish a public developer API or API portal for third-party access to its product catalog.
What does `browse_category` return beyond product IDs?+
browse_category returns a total count of all products in the category, a paginated array of integer product_ids, and a facets array. Each facet object includes name, displayName, and an array of possible values, representing the filter dimensions available for that category (such as brand, color, or size). To get full product data, pass the returned IDs to get_product_details.
Does the API return customer reviews or ratings for products?+
Not currently. The API covers product detail fields including name, brand, description, pricing, colors, sizes, availability, imagery, and shipping. Customer reviews and star ratings are not included in any endpoint response. You can fork this API on Parse and revise it to add a reviews endpoint.
How does pagination work across endpoints?+
Both search_products and browse_category accept an optional page_index parameter for paginating results. browse_category also accepts products_per_page to control how many product IDs are returned per page. get_product_details does not paginate — it accepts a comma-separated list of IDs in a single call.
Are sale prices and promotions included in the pricing fields?+
The pricing object is returned for each product across search_products and get_product_details, but the exact sub-fields (such as original vs. sale price, or promotional flags) depend on what Macy's exposes per product. The detail object in get_product_details also includes a flags field that may surface promotional or sale indicators for a given item.
Page content last updated . Spec covers 4 endpoints from macys.com.
Related APIs in EcommerceSee all →
mango.com API
Access Mango's complete product catalog, including categories, detailed product information, search functionality, and new arrivals to discover and browse clothing and fashion items. Find similar products and explore the full range of Mango's store inventory programmatically.
jomashop.com API
Browse and search a watch store catalog to discover products by category, brand, or sale status, view detailed product information and customer reviews, and explore new arrivals and navigation options. Find the perfect timepiece with access to watch brands, pricing details, and curated collections.
gap.com API
Search and browse Gap's product catalog by keyword or category, retrieve detailed product information including pricing, available sizes, colors, and customer reviews, get product recommendations, locate nearby Gap retail stores, and explore the full site navigation and category tree.
myntra.com API
Search and browse Myntra's fashion catalog to find products by category, price, brand, and color with detailed information including specifications, images, and customer reviews. Get sorted results across multiple pages and discover featured collections from the homepage and brand pages.
H&M API
Access H&M's product catalog, search, category navigation, sale and new-arrival listings, product details, similar-item recommendations, and US store locations.
shopdisney.com API
Search and browse the Disney Store catalog by keyword, category, or new arrivals. Retrieve detailed product information including name, price, images, availability, and attributes across the full shopDisney merchandise range.
nykaafashion.com API
Search and browse Nykaa Fashion's product catalog to discover clothing, accessories, and beauty items across multiple categories. Get detailed product information including prices, descriptions, and availability to help you find exactly what you're looking for.
yoox.com API
Search and browse YOOX's fashion catalog to discover products by category, designer, new arrivals, and sale items. Get detailed product information to find exactly what you're looking for across the YOOX marketplace.