Skip to main content
You know the feeling you want, not the URL that has it. The Search turns a description of an aesthetic into ranked, real brands; the Extractor turns the one you pick into a design system you can build from. This guide chains the two.

The workflow

1

Describe the look

Call POST /search with a natural-language query. Use depth: "fast" while you explore; switch to depth: "deep" when you shortlist and quality matters more than latency.
2

Study the cards

Each result card carries an identity_paragraph describing the brand’s visual identity, tags, palette and typography classifications, and a screenshot_url. Fetch the screenshots and look at them: the screenshot is the fastest way to judge whether a result has the feeling you described. The match tier and reason tell you how confident the search is and why the card is there.
3

Extract the one you pick

A card is a pointer into the corpus, not an extraction. Submit its url to POST /design/submissions, poll, and read the full design system: exact colors, type scale, spacing, components, and the captured screenshot and code.
4

Build from it

Generate from the extracted values directly, or ground a generation prompt in the brand with POST /design/prompts/enhance, which rewrites your prompt using the extraction’s brand profile.

Write queries that work

A query can lean on a single trait, or mix several into the description of a look:
  • A style: "dark brutalist developer tools"
  • An industry mood: "warm pastel skincare landing pages"
  • A component or detail: "brutalist studio site with a marquee ticker"
  • A vibe: "vintage-feeling site for a clothing brand"
When a constraint is non-negotiable, move it out of the query and into filters (page_type, industry, hue, layout). Filters are hard constraints: every result satisfies them. The query, by contrast, is a ranking signal. See Brand search. Repeating a search does not return an identical list: the tail of the results rotates in fresh exemplars of the detected style, marked with badge: "discovery". Treat those as free serendipity.

Start from a brand instead of a description

Sometimes the starting point is a brand, not words: a competitor, or your own site. GET /search/similar takes the submission_id of one of your completed extractions and returns its nearest visual neighbours in the corpus. Use it to build a competitor set, answer “which brands look like ours?”, or widen a moodboard from one strong example. Neighbours are computed fresh on every call, so two calls can differ slightly.

Full example

Search for a look, extract the top result, and read its design system:
Python

From your agent

The same flow is exposed as MCP tools: search_brands for descriptions, search_similar_brands for a brand you already extracted, and extract_brand to turn a card into a design system. An agent can run the whole search, pick, extract, and build sequence in one conversation. The brand-search skill teaches it this workflow: route the prompt to the right search tool, write the query from the prompt’s own words, and inspect every result before choosing. Pair it with the brand-adherence skill when the goal is a page inside the extracted brand’s identity.

Next steps

Brand search

Depth, filters, result cards, and search history.

Check brand adherence

Built something from the inspiration? Verify it follows the brand.