Discover/Massimo Dutti API
live

Massimo Dutti APImassimodutti.com ↗

Search Massimo Dutti's US catalogue, browse ~800 categories, and fetch full product detail including colors, sizes, composition, and pricing via 4 endpoints.

Endpoint health
verified 3h ago
search_products
list_category_products
get_product
list_categories
4/4 passing latest checkself-healing
Endpoints
4
Updated
3h ago

What is the Massimo Dutti API?

The Massimo Dutti API gives programmatic access to the brand's US online store across 4 endpoints: keyword search, category tree, category product listings, and full product detail. The get_product endpoint returns per-color records with size SKUs, buyability flags, composition by garment part, care instructions, model height and size, and all product images — covering both WOMEN and MEN sections with prices in US dollars.

This call costs5 credits / call— charged only on success
Try it
Size facet id to restrict results to, taken from facets[key=size_facet].values[*].id of a previous search (e.g. xs, s, m, l, or numeric ids such as 36). Omitted = no size filter.
Result ordering.
Products per page, 1-40; larger values are clamped to 40.
Free-text search term, e.g. one shape is 'wool coat'.
Opaque continuation cursor from a previous response's cursor field. Omitted = first page.
Catalogue section to search.
→ api.parse.bot/scraper/0998b599-a4cc-4c4c-b8e0-fdb34459d27c/<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/0998b599-a4cc-4c4c-b8e0-fdb34459d27c/search_products?query=wool+coat' \
  -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 massimodutti-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.

"""Walkthrough: Massimo Dutti SDK — search, browse categories, and fetch full product detail."""
from parse_apis.massimodutti_com_api import (
    MassimoDutti, Section, SearchSort, InputNotFound,
)

client = MassimoDutti()

# Search for wool coats, capped at 5 results.
for item in client.product_summaries.search(query="wool coat", sort=SearchSort.RELEVANCE, limit=5):
    print(item.name, item.price, item.section)

# Drill into the first search hit for full detail (colors, sizes, composition).
hit = client.product_summaries.search(query="linen shirt", section=Section.MEN, limit=1).first()
if hit is not None:
    product = hit.details()
    print(product.name, product.price, product.description)
    for color in product.colors:
        print(f"  {color.color_name}: {len(color.sizes)} sizes")
        for comp in color.composition:
            materials = ", ".join(f"{c.material} {c.percentage}%" for c in comp.components)
            print(f"    {comp.part}: {materials}")

# Browse women's categories, pick the first, and list its products.
cat = client.categories.list(section=Section.WOMEN, limit=1).first()
if cat is not None:
    print(f"Category: {cat.name} ({cat.path})")
    for summary in cat.products.list(limit=3):
        print(f"  {summary.product_id} {summary.name} ${summary.price}")

# Point lookup by a known product id (from a previous search result).
if hit is not None:
    try:
        detail = client.products.get(product_id=hit.product_id)
        print(detail.name, detail.care)
    except InputNotFound:
        print("Product no longer available")

print("exercised: product_summaries.search / categories.list / category.products.list / products.get / details()")
All endpoints · 4 totalmissing one? ·

Keyword search over the US store catalogue for one section (WOMEN by default, or MEN). Returns one page of product summaries (id, name, reference, family, lowest price, per-color available sizes, main image, product URL) plus the total hit count, per-section hit counts, color/size facet counts and a continuation cursor. Pagination is cursor based: pass the returned cursor back unchanged to fetch the next page; has_more is false on the last page. limit is capped at 40 per call and each page costs two upstream requests. search_match is 'exact' when the site found keyword matches and 'suggested' when the site fell back to similar-product suggestions (a nonsense query still returns suggested products with total_results 50, so treat 'suggested' as no exact match). Only the size filter is honored by the site; facets.color_facet is informational. A result can be a styled look (is_look true): then name/price/colors are null or empty at the top level and the component garments are in look_items, each in the same summary shape. Ids the search index still lists but the catalogue no longer serves are reported in unavailable_product_ids instead of products.

Input
ParamTypeDescription
sizestringSize facet id to restrict results to, taken from facets[key=size_facet].values[*].id of a previous search (e.g. xs, s, m, l, or numeric ids such as 36). Omitted = no size filter.
sortstringResult ordering.
limitintegerProducts per page, 1-40; larger values are clamped to 40.
queryrequiredstringFree-text search term, e.g. one shape is 'wool coat'.
cursorstringOpaque continuation cursor from a previous response's cursor field. Omitted = first page.
sectionstringCatalogue section to search.
Response
{
  "type": "object",
  "fields": {
    "query": "echo of the search term",
    "cursor": "opaque continuation cursor for the next page",
    "facets": "array of {key, values[] {id, label, count}} for color_facet and size_facet (empty on suggested fallbacks)",
    "section": "section the results belong to (WOMEN or MEN)",
    "has_more": "true when another page exists",
    "products": "array of product summaries: product_id (string, use with get_product), name, reference, display_reference, section, family, subfamily, product_type, price (number, US dollars, lowest across colors/sizes), old_price (number or null when not discounted), on_special, is_buyable, description, colors[] {color_id, color_name, price, old_price, sizes_available[]}, image_url, product_url, is_look (boolean), look_items[] (component product summaries when is_look is true, otherwise empty)",
    "search_match": "'exact' for keyword hits, 'suggested' when the site returned similar-product fallbacks instead",
    "total_results": "integer total hits for the query in this section (as reported by the site)",
    "section_counts": "array of {id, label, count} hit counts per section for this query (empty on suggested fallbacks)",
    "unavailable_product_ids": "array of product ids on this page that the catalogue no longer serves (usually empty)"
  },
  "sample": {
    "data": {
      "query": "wool coat",
      "cursor": "eyJjdXJzb3IiOjUsInByb3ZpZGVyIjoiQXR0cmFxdCJ9",
      "facets": [
        {
          "key": "color_facet",
          "values": [
            {
              "id": "comarrones",
              "count": 10,
              "label": "Browns"
            }
          ]
        },
        {
          "key": "size_facet",
          "values": [
            {
              "id": "xs",
              "count": 24,
              "label": "XS"
            }
          ]
        }
      ],
      "section": "WOMEN",
      "has_more": true,
      "products": [
        {
          "name": "Short wool-blend trench coat",
          "price": 350,
          "colors": [
            {
              "price": 350,
              "color_id": "700",
              "old_price": null,
              "color_name": "BROWN",
              "sizes_available": [
                "XS",
                "S",
                "M",
                "L"
              ]
            }
          ],
          "family": "COATS",
          "is_look": false,
          "section": "WOMEN",
          "image_url": "https://static.massimodutti.net/assets/public/3149/5a53/03674e2b8ef8/da1b021ffe42/06410714700-o4/06410714700-o4.jpg?ts=1780407183341",
          "old_price": null,
          "reference": "06410714-I2026",
          "subfamily": "",
          "is_buyable": true,
          "look_items": [],
          "on_special": true,
          "product_id": "61729802",
          "description": "Short trench coat crafted from a wool-blend fabric. Designed with a shirt collar, long sleeves, and a double-breasted front closure. Two side pockets.",
          "product_url": "https://www.massimodutti.com/us/short-woolblend-trench-coat-l06410714",
          "product_type": "Clothing",
          "display_reference": "6410/714"
        }
      ],
      "search_match": "exact",
      "total_results": 40,
      "section_counts": [
        {
          "id": "catalog01_women",
          "count": 40,
          "label": "Women"
        },
        {
          "id": "catalog01_men",
          "count": 7,
          "label": "Men"
        }
      ],
      "unavailable_product_ids": []
    },
    "status": "success"
  }
}

About the Massimo Dutti API

Search and Browse the US Catalogue

The search_products endpoint accepts a free-text query (e.g. "wool coat") and an optional section parameter (WOMEN or MEN). Responses include total_results, a search_match field that distinguishes exact keyword hits from fallback suggestions, and section_counts showing hit counts across all sections for the same query. Facet arrays for color_facet and size_facet are returned with each response and can be passed back as size filter parameters to narrow subsequent pages. Pagination uses an opaque cursor field; has_more signals when another page is available. Each page returns up to 40 product summaries.

Category Tree and Listings

list_categories returns the flattened leaf-level menu — roughly 800 categories across both sections — with each entry carrying a category_id, display name, full menu path (e.g. "WOMEN / Knitwear / Cardigans"), section, and the public store URL. Pass any category_id to list_category_products to get an ordered, offset-paginated product listing in the same summary shape as search results. The offset and limit parameters (limit capped at 40) let you page through a category's full inventory. Both endpoints accept an optional section filter.

Full Product Detail

get_product takes a product_id from either search or category results and returns the complete record. The colors array gives each colorway its own catentry_id, reference, price, old_price, model_height, model_size, and a composition array broken down by garment part. Every size SKU within a color includes buyability status. The top-level response also exposes care instruction strings, an images array of all image URLs, a related array of grouped related-product ids, and an is_look flag for styled multi-garment looks whose component product_ids are listed under look_items.

Reliability & maintenanceVerified

The Massimo Dutti API is a managed, monitored endpoint for massimodutti.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when massimodutti.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 massimodutti.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
3h 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-drop tracker by polling get_product for old_price vs price changes across a watchlist of product ids.
  • Populate a size-availability dashboard using per-SKU buyability flags from the colors[*].sizes array in get_product.
  • Construct a cross-section search interface using section_counts from search_products to let users toggle between WOMEN and MEN results.
  • Export the full category tree via list_categories to map Massimo Dutti's taxonomy for merchandising or competitor analysis.
  • Sync a product feed for a fashion aggregator by paging through list_category_products with offset/limit and enriching summaries with get_product.
  • Filter search results by size using facets[key=size_facet].values[*].id from one search_products call as the size input in the next.
  • Identify garment fabric composition for sustainability labeling by extracting composition fields from get_product.
Pricing & limitsSee full pricing →
TierPriceCredits/monthRate limit
Free$0/mo2005 req/min
Hobby$30/mo1,00020 req/min
Developer$100/mo5,000100 req/min
Team$300/mo20,000300 req/min
Company$1,000/mo100,000500 req/min

Each endpoint has a fixed posted price per successful call — most fall between 1 and 10 credits — shown on this API's page before you run it. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.

Frequently asked questions
Does Massimo Dutti have an official public developer API?+
No. Massimo Dutti does not publish a public developer API or API documentation for third-party access to its catalogue.
What does `search_match` tell me, and when are `facets` empty?+
search_match is 'exact' when the query returned direct keyword hits. When the store returns similar-product fallbacks instead of exact matches, search_match is 'suggested' and both facets and section_counts are returned as empty arrays for that response.
Does the API cover stores outside the United States or return prices in other currencies?+
The API covers the US store only, with all prices in US dollars. Other regional Massimo Dutti storefronts (e.g. EU, UK) are not currently included. You can fork this API on Parse and revise it to target a different regional store endpoint.
Are customer reviews or ratings returned by any endpoint?+
No endpoint currently returns reviews or ratings. The API covers product detail, composition, sizing, care, images, and pricing. You can fork this API on Parse and revise it to add a reviews endpoint if that data becomes accessible.
How does pagination work for category listings versus search?+
list_category_products uses numeric offset and limit parameters (limit capped at 40), and has_more is true when offset + limit < total_results. search_products uses an opaque cursor string from the previous response instead of a numeric offset; omit cursor to start from the first page.
Page content last updated . Spec covers 4 endpoints from massimodutti.com.
Related APIs in EcommerceSee all →
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.
zalando.it API
Browse and extract product data from Zalando Italy, including search results, category listings, and full product detail pages.
cos.com API
Search and browse COS fashion products by name or category to instantly access pricing, product images, and direct links to items. Retrieve detailed information about specific products including descriptions, availability, and pricing to compare styles and make informed shopping decisions.
stories.com API
Search & Other Stories' catalog to find products by name or category, and retrieve detailed information including pricing, images, available sizes, colors, and materials for each item. Get comprehensive product details to compare styles, check inventory across variations, and make informed shopping decisions.
zara.com API
Shop Zara's entire catalog by browsing categories, searching for specific items, and viewing detailed product information including measurements and related products. Find nearby store locations, check real-time inventory availability, and get shipping details all in one place.
ssense.com API
Browse luxury fashion products and designers on SSENSE. Retrieve detailed product information including pricing, composition, sizing, and model measurements, and check real-time inventory availability across the full catalog.
macys.com API
Browse Macy's product catalog by navigating categories, searching for items, and viewing detailed product information all in one place. Discover products across different categories and get comprehensive details to help you find exactly what you're looking for.
shop.mango.com API
Access data from shop.mango.com.