macys.com 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.
No input parameters required.
curl -X GET 'https://api.parse.bot/scraper/767f72c4-3498-4f8b-b11d-47cc123dc71b/get_category_navigation' \ -H 'X-API-Key: $PARSE_API_KEY'
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.
No input parameters required.
{
"type": "object",
"fields": {
"menu": "object mapping category IDs to category objects, each containing id, text, url, parent, children, and categoryPageType"
},
"sample": {
"data": {
"menu": {
"55352": {
"id": "55352",
"url": "/shop/jewelry-watches/jewelry/fashion-jewelry?id=55352",
"text": "Fashion Jewelry",
"value": "55352",
"parent": {
"id": "164045",
"text": "All Jewelry"
},
"categoryPageType": "Browse"
}
}
},
"status": "success"
}
}About the macys.com 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.
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_navigation → browse_category → get_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.
- Build a price comparison tool using pricing fields from
get_product_detailsacross multiple product IDs - Populate a category-tree UI by parsing the
childrenandparentfields fromget_category_navigation - Track in-stock availability changes across a product list using the
availabilityfield inget_product_details - Generate a product feed filtered by size or color using
traitsfromsearch_products - Audit category facets and filter dimensions across Macy's departments using the
facetsarray inbrowse_category - Sync Macy's product imagery URLs into an internal catalog using the
imageryfield returned by both search and detail endpoints - Monitor total product count per category over time using the
totalfield frombrowse_category
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 250 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.
Does Macy's have an official developer API?+
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?+
How does pagination work across endpoints?+
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?+
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.