Title97/100
Search website sections
The title clearly communicates the tool’s action and subject. Keep it concise.
Description96/100
Search Unsection for real-world website section designs (hero, pricing, testimonials, navbar, footer, CTA, FAQ, features, etc.). Write the query in plain words, e.g. "dark fintech pricing" or "saas hero with product screenshot": category, style, layout (bento, split, centered…), element (stats, form, pricing toggle…), website type and industry words (fintech, e-commerce, developer tools, AI…) are turned into filters automatically, and every remaining word must match a section name or website (e.g. a brand like "stripe"). Results are ranked by relevance by default (name and website hits, screenshot-text similarity, then the newest first); set sort to "latest", "popular", "oldest" or "random" for a different order. Each result carries why_matched: the words and filters it hit. When nothing matches every word or filter, the search loosens one constraint at a time instead of returning nothing: `match` says which rule applied and `relaxed` names what was dropped and how many results each variant had, so you can tighten the query yourself. Explicit filters override what is read from the query; call list_filters for their values. Use search_in="screenshot_text" to match exact copy inside the screenshot (e.g. "Start for free"). Each result carries its layout (text alignment, media position, structure), elements, color palette, and the start of the text read from the screenshot, so you can compare structure and copy without opening every section; get_section returns the full text and a readable screenshot. Each result has an origin: "shipped product" (captured from a live site) or "designer concept" (a community submission, not a real product). Keep product names and URLs when citing results, and treat examples as references for what was designed or shipped, not as proof that a pattern performs better.
The description explains the capability, when to use it, and what to expect.
Inputs88/100
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
query
What you are looking for, in plain words, e.g. "dark fintech pricing", "stripe" or "faq accordion". Filter words in it are applied automatically; leave it out to browse by filters alone.
Clear enough to supply this argument.
search_in
"metadata" (default) matches section names, websites and filter words; "screenshot_text" matches the copy visible in the screenshot, e.g. "Start for free".
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
category
Section category name or slug from list_filters (kinds: ["category"]), e.g. "Hero" or "pricing-section-design".
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
style
Visual style names or slugs from list_filters, comma-separated, e.g. "Minimal" or "dark, gradient". A section must have all of them.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
type
Kind of website the section comes from, as a name or slug from list_filters, e.g. "Software" or "agency".
Clear enough to supply this argument.
industry
Industry of the website, as a slug from list_filters, e.g. "fintech". Cannot be combined with font.
Clear enough to supply this argument.
font
Font used in the section, as a slug from list_filters (kinds: ["font"], narrow with font_query). Cannot be combined with industry.
Clear enough to supply this argument.
layout
Layout slugs from list_filters (kinds: ["layout"]), comma-separated, e.g. "bento" or "text-center, media-background". Give at most one per group (text alignment, media position, structure); a section must match all of them.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
elements
Element slugs from list_filters (kinds: ["element"]), comma-separated, e.g. "stats" or "pricing-toggle, comparison-table". A section must have all of them (up to 5).
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
source
Where sections come from: "website" for captures of live sites, "community" for designer submissions. Leave it out for both.
Clear enough to supply this argument.
sort
Result order. "relevance" ranks name and website hits first; the others order by date, likes or at random. Defaults to "relevance" when the query has words or more than one filter, else "latest".
Clear enough to supply this argument.
limit
Sections per page. Default 12.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
page
Page of results, starting at 1 (default). Ask for the next page while the previous result has has_more: true, keeping the other inputs the same.
Remove validation rules already expressed in this field’s schema; describe its meaning and usage instead.
include_images
Attach up to 4 thumbnails so you can see the designs. Default true.
Clear enough to supply this argument.
Annotations100/100
All four behavior hints are declared.
{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Output schema70/100
Align the output schema with the tool’s documented result.
View output schema
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"page",
"has_more",
"count",
"sort",
"match",
"sections"
],
"properties": {
"hint": {
"type": "string",
"description": "Set when nothing matched: how to widen the search."
},
"note": {
"type": "string"
},
"page": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"sort": {
"type": "string"
},
"count": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "Sections on this page."
},
"match": {
"type": "string",
"description": "Which matching rule produced these results; see note."
},
"relaxed": {
"type": "object",
"required": [
"dropped",
"tried"
],
"properties": {
"tried": {
"type": "array",
"items": {
"type": "object",
"required": [
"dropped",
"results"
],
"properties": {
"dropped": {
"type": "string"
},
"results": {
"type": "number"
}
},
"additionalProperties": {}
}
},
"dropped": {
"type": "string",
"description": "The constraint dropped to find results."
}
},
"additionalProperties": false
},
"has_more": {
"type": "boolean",
"description": "True when the next page has more results."
},
"sections": {
"type": "array",
"items": {
"type": "object",
"required": [
"name",
"slug",
"category",
"url",
"source",
"origin",
"media_type"
],
"properties": {
"url": {
"type": "string",
"description": "The section page on Unsection; keep it when citing the section."
},
"name": {
"type": "string"
},
"slug": {
"type": "string",
"description": "Pass to get_section or build_section."
},
"tags": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"types": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"layout": {
"anyOf": [
{
"type": "object",
"propertyNames": {
"type": "string"
},
"additionalProperties": {
"type": "string"
}
},
{
"type": "null"
}
],
"description": "Layout slug per group: text alignment, media position, structure."
},
"origin": {
"enum": [
"shipped product",
"designer concept"
],
"type": "string"
},
"source": {
"type": "string",
"description": "\"website\" (captured from a live site) or \"community\" (a designer submission)."
},
"styles": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"palette": {
"anyOf": [
{
"type": "array",
"items": {
"type": "object",
"required": [
"hex",
"role"
],
"properties": {
"hex": {
"type": "string"
},
"role": {
"type": "string",
"description": "What the color does in the design, e.g. background, text or accent."
}
},
"additionalProperties": {}
}
},
{
"type": "null"
}
]
},
"website": {
"type": [
"string",
"null"
],
"description": "The live site the section was captured from."
},
"category": {
"type": "string"
},
"designer": {
"type": [
"string",
"null"
],
"description": "Who submitted a community section."
},
"elements": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"image_url": {
"type": [
"string",
"null"
]
},
"video_url": {
"type": [
"string",
"null"
]
},
"industries": {
"anyOf": [
{
"type": "array",
"items": {
"type": "string"
}
},
{
"type": "null"
}
]
},
"media_type": {
"type": "string",
"description": "\"image\" or \"video\"."
},
"why_matched": {
"type": "array",
"items": {
"type": "string"
},
"description": "The words and filters this section hit."
},
"copy_excerpt": {
"type": [
"string",
"null"
],
"description": "The start of the text read from the screenshot."
},
"thumbnail_url": {
"type": [
"string",
"null"
]
}
},
"additionalProperties": {}
}
},
"total_matches": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991
},
"interpreted_query": {
"type": "object",
"required": [
"words"
],
"properties": {
"words": {
"type": "array",
"items": {
"type": "string"
}
}
},
"description": "Filters read from the query words, and the words left to match names and websites.",
"additionalProperties": {}
}
},
"additionalProperties": false
}