Discover/MillerKnoll API
live

MillerKnoll APImillerknoll.com

Access MillerKnoll's full product catalog, collective brand data, and editorial content via 6 API endpoints covering Herman Miller, Knoll, Muuto, HAY, and more.

Endpoint health
verified 3d ago
get_all_brands
get_insights
get_brand_product_categories
search_products
get_product_detail
6/6 passing latest checkself-healing
Endpoints
6
Updated
26d ago

What is the MillerKnoll API?

The MillerKnoll API provides 6 endpoints covering the full MillerKnoll collective — brands, product listings, product details, category facets, keyword search, and editorial articles. The get_product_detail endpoint returns up to ten fields per product including SKU, designer, features, collection membership, and image URLs, making it straightforward to build furniture research tools, product comparison apps, or procurement catalogs.

Try it

No input parameters required.

api.parse.bot/scraper/cdc95322-b8df-4e50-8e94-d15302beed05/<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/cdc95322-b8df-4e50-8e94-d15302beed05/get_all_brands' \
  -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 millerknoll-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.millerknoll_api import MillerKnoll, BrandSlug, ProductNotFound

client = MillerKnoll()

# List all brands in the MillerKnoll collective
for brand in client.brands.list():
    print(brand.name, brand.tagline, brand.external_url)

# Get a specific brand and explore its categories
hm = client.brand(BrandSlug.HERMAN_MILLER)
for category in hm.categories.list():
    print(category.name, category.count)

# Browse paginated products for that brand
for product in hm.products.list(limit=5):
    print(product.name, product.brand, product.url)

# Search products across all brands
for result in client.productsummaries.search(query="desk", limit=3):
    print(result.id, result.name, result.brand)
    # Drill into full product detail
    detail = result.details()
    print(detail.sku, detail.designer, detail.description)

# Fetch a product directly by slug
aeron = client.products.get(slug="aeron-chair")
print(aeron.name, aeron.brand, aeron.sku, aeron.url)

# List editorial articles
for article in client.articles.list():
    print(article.title, article.url)
All endpoints · 6 totalmissing one? ·

Retrieve the complete list of all MillerKnoll collective brands including name, tagline, slug, product URL, and external site link. Returns the full brand roster in a single unpaginated response.

Input

No input parameters required.

Response
{
  "type": "object",
  "fields": {
    "brands": "array of brand objects with name, tagline, slug, url, and external_url"
  },
  "sample": {
    "data": {
      "brands": [
        {
          "url": "/products/herman-miller",
          "name": "Herman Miller",
          "slug": "herman-miller",
          "tagline": "Problem-solving designs that inspire the best in people",
          "external_url": "https://www.hermanmiller.com/"
        },
        {
          "url": "/products/knoll",
          "name": "Knoll",
          "slug": "knoll",
          "tagline": "Bringing order and beauty to workplace, hospitality, and residential environments",
          "external_url": "https://www.knoll.com/"
        }
      ]
    },
    "status": "success"
  }
}

About the MillerKnoll API

Brand and Category Coverage

The get_all_brands endpoint returns every brand in the MillerKnoll collective — Herman Miller, Knoll, Geiger, Muuto, Naughtone, HAY, and Holly Hunt — with each brand's name, tagline, slug, url, and external_url. The brand_slug values returned here are the same identifiers used as required inputs to get_brand_product_categories and get_products_by_brand, so a typical workflow starts by fetching the brand list and using those slugs downstream. get_brand_product_categories returns category facets (e.g. seating, storage, tables) with product counts per category, giving a fast summary of what's available for a given brand without fetching the full catalog.

Product Listings and Search

get_products_by_brand and search_products both return paginated product summaries: id, name, brand, description, url, and images. Pagination is 0-indexed via the page parameter, and the response includes total and pages so you can iterate the full result set. search_products accepts a free-text query (e.g. 'aeron', 'lounge chair', 'standing desk') and searches across all brands simultaneously, making it the right entry point when you don't know which brand carries a product.

Product Detail

get_product_detail accepts either a short slug like 'aeron-chair' or a full pathname like '/products/seating/office-chairs/aeron-chair'. The response adds fields not available in listing endpoints: sku, designer, features (an object of feature key-value pairs), and collection (an array of collection names the product belongs to). designer may be null for products without attributed authorship. This endpoint is the primary source for structured product specifications.

Editorial Content

get_insights returns articles from the MillerKnoll editorial section with title, description, url, and image for each article. The endpoint takes no parameters and returns the current article list — useful for surfacing workspace research, design thinking content, or keeping a content aggregator up to date.

Reliability & maintenanceVerified

The MillerKnoll API is a managed, monitored endpoint for millerknoll.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when millerknoll.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 millerknoll.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
3d ago
Latest check
6/6 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 cross-brand furniture search tool using search_products with keyword queries like 'ergonomic chair' or 'height adjustable desk'.
  • Generate a structured product database with SKU, designer, and feature data from get_product_detail for procurement or interior design platforms.
  • Display brand landing pages by pulling taglines, URLs, and external site links from get_all_brands.
  • Show category breakdowns with product counts per brand using get_brand_product_categories to help users navigate large catalogs.
  • Aggregate MillerKnoll editorial articles into a workspace design content feed using get_insights.
  • Power a product comparison UI by fetching detail records for multiple items via get_product_detail and diffing their features objects.
  • Sync a showroom or dealer catalog by iterating paginated results from get_products_by_brand for each brand slug.
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 MillerKnoll have an official public developer API?+
MillerKnoll does not publish a documented public developer API. This Parse API provides structured access to the product and brand data available on millerknoll.com.
What does `get_product_detail` return that the listing endpoints don't?+
get_product_detail adds sku, designer, features (a structured key-value object of product attributes), and collection (an array of collection names). The listing endpoints get_products_by_brand and search_products return only id, name, brand, description, url, and images — enough to display a catalog card but not enough for a full product spec page.
Can I filter products by category within a brand?+
get_brand_product_categories returns category names and counts for a brand, but get_products_by_brand does not currently accept a category filter parameter — it returns all products for the brand with pagination. You can fork this API on Parse and revise it to add a category filter input to the listing endpoint.
Does the API return pricing or availability for products?+
No pricing or stock availability fields are returned by any endpoint. Product responses cover identity and descriptive fields: name, brand, sku, description, images, designer, features, and collection. You can fork this API on Parse and revise it to add a pricing or availability endpoint if that data becomes accessible.
How fresh is the product data, and is there any caching to be aware of?+
The API reflects the current state of millerknoll.com. There is no guaranteed refresh interval published for individual endpoints. For use cases that depend on up-to-date product availability or newly launched items, plan to re-fetch periodically rather than relying on a single cached pull.
Page content last updated . Spec covers 6 endpoints from millerknoll.com.
Related APIs in EcommerceSee all →
howardmiller.com API
Search and browse Howard Miller's complete catalog of clocks and furniture to find product details, pricing, and availability from their official store. Quickly look up specific items or explore collections to compare features and make informed purchasing decisions.
moodfabrics.com API
Search and browse Mood Fabrics' extensive catalog of fabrics, notions, and accessories with detailed product information including fiber content, weight, and pattern details. Discover blog posts, view color variants, filter collections, and find sale items all from one convenient integration.
archello.com API
Browse architecture brands, firms, and products by location or search query to discover design resources and project information. Access detailed brand profiles and company data to research architectural suppliers and service providers.
furniture.com API
Search and browse Furniture.com's product catalog by keywords, then narrow results using filters like color, material, style, type, and brand. Sort by price or ratings and navigate through results with pagination to find the perfect furniture for your needs.
backcountry.com API
backcountry.com API
mintel.com API
Browse and search Mintel's market research catalog. Retrieve free intelligence downloads, landing page content, store report listings by keyword or industry, full report details including pricing and table of contents, and the complete industry taxonomy from the Mintel Store.
menards.com API
Search Menards' complete product catalog across lumber, building materials, and all categories while viewing real-time pricing, sale prices, rebates, and final values. Browse by category or use search suggestions to find exactly what you need with full pricing transparency.
ikea.com API
Search and browse IKEA's full product catalog to find items by category, compare measurements, read customer reviews, and check real-time store availability and current deals. Discover new arrivals and best-selling products to help you shop smarter and find exactly what you need.