{
"detail": {
"error": "INSUFFICIENT_CREDITS",
"message": "Not enough credits for this request.",
"balance": 0,
"required": 1
}
}
{
"detail": {
"error": "NOT_FOUND",
"message": "No completed extraction for that submission."
}
}
{
"detail": {
"error": "FULL_EXTRACTION_REQUIRED",
"message": "This operation requires a full extraction. Submit the URL without sections."
}
}
Internal Server Error
{
"detail": "Search failed."
}
Brand search
Find similar brands
Returns brands from the corpus that look like one of your completed extractions, as the same result cards as POST /search.
Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller.
Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission.
Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.
GET
/
search
/
similar
Find similar brands
curl --request GET \ --url https://api.tastelabs.com/search/similar \ --header 'X-API-Key: <api-key>'
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Taste Engine","colors":{"primary":"#171717","light":"#EAECE7","dark":"#171717"},"logo":{"light":"https://mintcdn.com/tastelabs/lMcn8IvQ-WbXAKni/logo/taste-engine-light.png?fit=max\u0026auto=format\u0026n=lMcn8IvQ-WbXAKni\u0026q=85\u0026s=16b11d3a9a0b80eaa5a2cac0416a8302","dark":"https://mintcdn.com/tastelabs/lMcn8IvQ-WbXAKni/logo/taste-engine-dark.png?fit=max\u0026auto=format\u0026n=lMcn8IvQ-WbXAKni\u0026q=85\u0026s=d9c4bf49c12137ed7b63f4f78938f60d"},"favicon":"https://mintcdn.com/tastelabs/VgdXg7WVd5ngvNjs/favicon.ico?fit=max\u0026auto=format\u0026n=VgdXg7WVd5ngvNjs\u0026q=85\u0026s=8c55a4849dd50033afa63bbeaa6ca952","appearance":{"default":"dark"},"background":{"color":{"light":"#EAECE7","dark":"#171717"}},"navbar":{"links":[{"href":"mailto:support@thetaste.ai","label":"Support"}],"primary":{"type":"button","label":"Get API key","href":"https://engine.tastelabs.com/app/api-keys"}},"fonts":{"heading":{"family":"Azeret Mono","weight":300,"source":"https://cdn.jsdelivr.net/gh/sanvi-saya/taste-labs-fonts@main/AzeretSemiMono-Regular.woff2","format":"woff2"},"body":{"family":"Matter","weight":400,"source":"https://cdn.jsdelivr.net/gh/sanvi-saya/taste-labs-fonts@main/Matter-Regular.woff2","format":"woff2"}},"icons":{"library":"fontawesome"},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tastelabs","hasAudioNarration":false,"actualSubdomain":"tastelabs","customDomains":["docs.tastelabs.com"],"gitSource":{"type":"github","owner":"taste-ai","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"collectionId":"7189bea5-d062-42c4-8d1c-2dcf654f20ff","liveDeploymentHistoryId":"6ae205e94fe4c8cc739cf941","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae205e94fe4c8cc739cf941"},"feedback":{"thumbs":true,"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae205e94fe4c8cc739cf941","clientVersion":"0.0.4006","searchFilterCounts":[{"language":"default","tag":"Guides","count":18},{"language":"default","tag":"API Reference","count":18},{"language":"default","tag":"Brand extractor","count":13},{"language":"default","tag":"Brand adherence verifier","count":6},{"language":"default","tag":"Brand search","count":4},{"language":"default","tag":"Getting Started","count":4},{"language":"default","tag":"From a URL","count":4},{"language":"default","tag":"Integrate Agents","count":3},{"language":"default","tag":"Use cases","count":3},{"language":"default","tag":"Account","count":1}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#api-playground-input,#chat-assistant-sheet,#feedback-form,#request-example,#response-example,#search-bar-entry,#search-bar-entry-mobile,#topbar-cta-button,accordion,accordion-group,callout,card,code-block,code-group,expandable,frame,step,steps,tabs,tile{border-radius:6px}.lottie-tile{box-sizing:border-box;height:222px;padding:24px;border-radius:16px;background:#2b2b2b;overflow:hidden;margin:1.5rem 0}.lottie-tile.lottie-tile-extract{background:#272726}.lottie-tile dotlottie-wc{display:block;width:100%;height:100%}.lottie-tile.lottie-tile-verify{position:relative;height:auto;aspect-ratio:6/5;padding:0}.lottie-tile.lottie-tile-verify dotlottie-wc{position:absolute;top:0;left:-6.6%;width:113.2%;height:100%}.lottie-tile.lottie-tile-search{height:100px;padding:16px 24px}a.link:has(>code),a.link:has(>code):hover{border-bottom:0;text-decoration:none}"}],"page":{"pagePath":"api-reference/endpoint/find-similar-brands","slug":"/api-reference/endpoint/find-similar-brands","pageMetadata":{"title":"Find similar brands","openapi":"api-reference/openapi.json GET /search/similar","description":"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as [`POST /search`](/api-reference/endpoint/search-brands).\n\nRuns synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller.\n\nNeighbours are computed fresh on every call, so they can vary slightly between calls for the same submission.\n\nRequires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.","href":"/api-reference/endpoint/find-similar-brands"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as \", _jsx(_components.a, {\n href: \"/api-reference/endpoint/search-brands\",\n children: _jsx(_components.code, {\n children: \"POST /search\"\n })\n }), \".\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission.\"\n }), \"\\n\", _jsx(_components.p, {\n children: \"Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Find similar brands","openapi":"api-reference/openapi.json GET /search/similar","description":"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as [`POST /search`](/api-reference/endpoint/search-brands).\n\nRuns synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller.\n\nNeighbours are computed fresh on every call, so they can vary slightly between calls for the same submission.\n\nRequires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.","href":"/api-reference/endpoint/find-similar-brands"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/tastelabs/76568ed90a0209b3/lottie.js"],"openApiReferenceData":{"operation":{"operationId":"findSimilarBrands","summary":"Find similar brands","description":"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as [`POST /search`](/api-reference/endpoint/search-brands).\n\nRuns synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller.\n\nNeighbours are computed fresh on every call, so they can vary slightly between calls for the same submission.\n\nRequires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.","tags":["Search"],"parameters":["3d7cd47d-9275-4fdb-b288-ed4eb86899c3","dde4a74e-6e30-404a-84ef-12029d2654c0"],"responses":{"200":"d7bffede-8822-4a73-a2fa-579ab74aaa79","401":"ded48d3e-4507-40ed-9d0a-bfe612e3cd0d","402":"ca2108e6-aecb-48c8-8b1e-c627989acf57","404":"58de550b-93f3-4dbf-b1a2-a897c4b861d0","422":"627c2503-84a6-4f31-89a7-cf31f214cd90","500":"883bf484-e1f4-46f0-a41c-aa0fcb56caee","502":"811b8cb2-e968-48c4-93b0-b1a18ea6cb54"},"method":"get","type":"path","servers":["0598e6f9-8098-4b6e-920e-0423fc731288"],"security":["459696c1-9068-49b3-8e05-948962c91f1f"],"path":"/search/similar","baseUrlOptions":["https://api.tastelabs.com"],"title":"Find similar brands","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"3d7cd47d-9275-4fdb-b288-ed4eb86899c3":{"name":"submission_id","in":"query","required":true,"description":"A completed full extraction of yours whose visual neighbours you want. Selective submissions are not supported.","schema":{"type":"string","minLength":1,"isRequired":true,"description":"A completed full extraction of yours whose visual neighbours you want. Selective submissions are not supported.","uniqueKey":"","typeLabel":"string"}},"dde4a74e-6e30-404a-84ef-12029d2654c0":{"name":"top_k","in":"query","required":false,"description":"Maximum number of results to return.","schema":{"type":"integer","minimum":1,"maximum":30,"default":18,"isRequired":false,"description":"Maximum number of results to return.","uniqueKey":"","typeLabel":"integer"}}},"responses":{"d7bffede-8822-4a73-a2fa-579ab74aaa79":{"description":"Brands visually similar to the submission.","content":{"application/json":{"schema":{"type":"object","properties":{"results":{"type":"array","description":"Nearest visual neighbours, closest first.","items":{"type":"object","description":"One ranked brand from the corpus. Ranking scores stay internal and are not part of the response.","properties":{"url":{"type":"string","format":"uri","description":"URL of the brand's page in the corpus.","isRequired":true,"uniqueKey":"results.items.[INDEX].url","typeLabel":"string\u003curi>"},"identity_paragraph":{"type":"string","description":"A short description of the brand's visual identity.","isRequired":true,"uniqueKey":"results.items.[INDEX].identity_paragraph","typeLabel":"string"},"brand_name":{"oneOf":[{"type":"string","description":"Brand name, when one was identified.","uniqueKey":"results.items.[INDEX].brand_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Brand name, when one was identified.","uniqueKey":"results.items.[INDEX].brand_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].brand_name","typeLabel":"string | null"},"match":{"oneOf":[{"type":"string","enum":["strong","good","related",null],"description":"Confidence tier of the match. `null` when the search did not assign one, as on similarity results.","uniqueKey":"results.items.[INDEX].match.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["strong","good","related",null],"description":"Confidence tier of the match. `null` when the search did not assign one, as on similarity results.","uniqueKey":"results.items.[INDEX].match.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].match","typeLabel":"enum\u003cstring> | null"},"reason":{"oneOf":[{"type":"string","description":"One sentence on why this brand matched the query. `null` when the search did not assign one.","uniqueKey":"results.items.[INDEX].reason.oneOf.0","typeLabel":"string"},{"type":"null","description":"One sentence on why this brand matched the query. `null` when the search did not assign one.","uniqueKey":"results.items.[INDEX].reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].reason","typeLabel":"string | null"},"badge":{"oneOf":[{"type":"string","enum":["discovery",null],"description":"`discovery` marks a rotating exemplar of the style detected in the query, included so identical searches do not return an identical set. `null` otherwise.","uniqueKey":"results.items.[INDEX].badge.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["discovery",null],"description":"`discovery` marks a rotating exemplar of the style detected in the query, included so identical searches do not return an identical set. `null` otherwise.","uniqueKey":"results.items.[INDEX].badge.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].badge","typeLabel":"enum\u003cstring> | null"},"tags":{"type":"array","description":"Descriptive tags for the brand, e.g. industry and page type.","items":{"type":"string","uniqueKey":"results.items.[INDEX].tags.items.[INDEX]","typeLabel":"string"},"uniqueKey":"results.items.[INDEX].tags","typeLabel":"string[]"},"palette":{"oneOf":[{"type":"object","description":"Palette classification: `luminance`, `temperature`, `saturation`, `themes`, `aesthetic_codes`, `effects`, plus `primary` and `secondary` hex lists.","uniqueKey":"results.items.[INDEX].palette.oneOf.0","typeLabel":"object"},{"type":"null","description":"Palette classification: `luminance`, `temperature`, `saturation`, `themes`, `aesthetic_codes`, `effects`, plus `primary` and `secondary` hex lists.","uniqueKey":"results.items.[INDEX].palette.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].palette","typeLabel":"object | null"},"typography":{"oneOf":[{"type":"object","description":"Typography classification: `family_strategy`, `hierarchy`, and `character`.","uniqueKey":"results.items.[INDEX].typography.oneOf.0","typeLabel":"object"},{"type":"null","description":"Typography classification: `family_strategy`, `hierarchy`, and `character`.","uniqueKey":"results.items.[INDEX].typography.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].typography","typeLabel":"object | null"},"screenshot_url":{"oneOf":[{"type":"string","format":"uri","description":"Full-page screenshot of the brand's page. Fetch it to see the brand.","uniqueKey":"results.items.[INDEX].screenshot_url.oneOf.0","typeLabel":"string\u003curi>"},{"type":"null","format":"uri","description":"Full-page screenshot of the brand's page. Fetch it to see the brand.","uniqueKey":"results.items.[INDEX].screenshot_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"results.items.[INDEX].screenshot_url","typeLabel":"string\u003curi> | null"}},"required":["url","identity_paragraph"],"uniqueKey":"results.items.[INDEX]","typeLabel":"object"},"uniqueKey":"results","typeLabel":"object[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"results":[{"url":"\u003cstring>","identity_paragraph":"\u003cstring>","brand_name":"\u003cstring>","match":"strong","reason":"\u003cstring>","badge":"discovery","tags":["\u003cstring>"],"palette":{},"typography":{},"screenshot_url":"\u003cstring>"}]}}},"exampleType":"generated"}},"exampleType":"generated"},"ded48d3e-4507-40ed-9d0a-bfe612e3cd0d":{"description":"The API key is missing, invalid, or expired.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope for non-2xx responses: the machine-readable `error` code and the human-readable `message` are nested under `detail`. Validation errors (`422`) and search failures (`502`, `503`) shape `detail` differently; see those responses.","properties":{"detail":{"type":"object","properties":{"error":{"type":"string","description":"Machine-readable error code.","examples":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","NOT_READY"],"isRequired":true,"uniqueKey":"detail.error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation of the error.","isRequired":true,"uniqueKey":"detail.message","typeLabel":"string"}},"required":["error","message"],"additionalProperties":true,"isRequired":true,"uniqueKey":"detail","typeLabel":"object"}},"required":["detail"],"uniqueKey":"","typeLabel":"object"},"example":{"detail":{"error":"UNAUTHORIZED","message":"Bearer token or X-API-Key required"}},"examples":{"Example":{"title":"Example","value":{"detail":{"error":"UNAUTHORIZED","message":"Bearer token or X-API-Key required"}}}},"exampleType":"examples"}},"exampleType":"examples"},"ca2108e6-aecb-48c8-8b1e-c627989acf57":{"description":"The account doesn't have enough credits to run the request. Only occurs when credit metering is enabled.","content":{"application/json":{"schema":{"type":"object","required":["detail"],"properties":{"detail":{"type":"object","required":["error","message"],"properties":{"error":{"type":"string","examples":["INSUFFICIENT_CREDITS"],"isRequired":true,"uniqueKey":"detail.error","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"detail.message","typeLabel":"string"},"balance":{"type":"integer","description":"The account's current credit balance.","uniqueKey":"detail.balance","typeLabel":"integer"},"required":{"type":"integer","description":"Credits required to run this request.","uniqueKey":"detail.required","typeLabel":"integer"}},"isRequired":true,"uniqueKey":"detail","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"detail":{"error":"INSUFFICIENT_CREDITS","message":"Not enough credits for this request.","balance":0,"required":1}},"examples":{"Example":{"title":"Example","value":{"detail":{"error":"INSUFFICIENT_CREDITS","message":"Not enough credits for this request.","balance":0,"required":1}}}},"exampleType":"examples"}},"exampleType":"examples"},"58de550b-93f3-4dbf-b1a2-a897c4b861d0":{"description":"No completed extraction for that submission.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope for non-2xx responses: the machine-readable `error` code and the human-readable `message` are nested under `detail`. Validation errors (`422`) and search failures (`502`, `503`) shape `detail` differently; see those responses.","properties":{"detail":{"type":"object","properties":{"error":{"type":"string","description":"Machine-readable error code.","examples":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","NOT_READY"],"isRequired":true,"uniqueKey":"detail.error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation of the error.","isRequired":true,"uniqueKey":"detail.message","typeLabel":"string"}},"required":["error","message"],"additionalProperties":true,"isRequired":true,"uniqueKey":"detail","typeLabel":"object"}},"required":["detail"],"uniqueKey":"","typeLabel":"object"},"example":{"detail":{"error":"NOT_FOUND","message":"No completed extraction for that submission."}},"examples":{"Example":{"title":"Example","value":{"detail":{"error":"NOT_FOUND","message":"No completed extraction for that submission."}}}},"exampleType":"examples"}},"exampleType":"examples"},"627c2503-84a6-4f31-89a7-cf31f214cd90":{"description":"The operation requires a completed full extraction. Selective submissions are rejected, including those served from a full cache hit. Submit the URL without sections.","content":{"application/json":{"schema":{"type":"object","description":"Standard error envelope for non-2xx responses: the machine-readable `error` code and the human-readable `message` are nested under `detail`. Validation errors (`422`) and search failures (`502`, `503`) shape `detail` differently; see those responses.","properties":{"detail":{"type":"object","properties":{"error":{"type":"string","description":"Machine-readable error code.","examples":["UNAUTHORIZED","FORBIDDEN","NOT_FOUND","NOT_READY"],"isRequired":true,"uniqueKey":"detail.error","typeLabel":"string"},"message":{"type":"string","description":"Human-readable explanation of the error.","isRequired":true,"uniqueKey":"detail.message","typeLabel":"string"}},"required":["error","message"],"additionalProperties":true,"isRequired":true,"uniqueKey":"detail","typeLabel":"object"}},"required":["detail"],"uniqueKey":"","typeLabel":"object"},"example":{"detail":{"error":"FULL_EXTRACTION_REQUIRED","message":"This operation requires a full extraction. Submit the URL without sections."}},"examples":{"Example":{"title":"Example","value":{"detail":{"error":"FULL_EXTRACTION_REQUIRED","message":"This operation requires a full extraction. Submit the URL without sections."}}}},"exampleType":"examples"}},"exampleType":"examples"},"883bf484-e1f4-46f0-a41c-aa0fcb56caee":{"description":"An unexpected server error occurred. The body is plain text.","content":{"text/plain":{"example":"Internal Server Error","examples":{"Example":{"title":"Example","value":"Internal Server Error"}},"exampleType":"examples"}},"exampleType":"examples"},"811b8cb2-e968-48c4-93b0-b1a18ea6cb54":{"description":"The search could not be completed. The credit charge is refunded. `detail` is a plain string.","content":{"application/json":{"schema":{"type":"object","properties":{"detail":{"type":"string","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"detail":"Search failed."},"examples":{"Example":{"title":"Example","value":{"detail":"Search failed."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"459696c1-9068-49b3-8e05-948962c91f1f":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key issued by the Taste Engine. Create one in the dashboard at https://engine.tastelabs.com/app/api-keys.","scopes":[],"schemeName":"ApiKeyAuth"}}},"servers":{"0598e6f9-8098-4b6e-920e-0423fc731288":{"url":"https://api.tastelabs.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key issued by the Taste Engine. Create one in the dashboard at https://engine.tastelabs.com/app/api-keys.","scopes":[],"schemeName":"ApiKeyAuth"},"schema":{"title":"X-API-Key","type":"string","description":"API key issued by the Taste Engine. Create one in the dashboard at https://engine.tastelabs.com/app/api-keys.","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"ApiKeyAuth","name":"X-API-Key"}],"title":"ApiKeyAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"tastelabs","siteName":"Taste Engine","title":"Find similar brands - Taste Engine","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-29T13:32:50.358Z","originalFileLocation":"api-reference/endpoint/find-similar-brands.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"dark\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as POST /search. Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller. Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission. Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Taste Engine\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Find similar brands - Taste Engine\">\u003cmeta data-mint-head property=\"og:description\" content=\"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as POST /search. Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller. Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission. Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Taste Engine\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tastelabs.mintlify.app/_mintlify/api/og/v2?division=Brand+search\u0026amp;title=Find+similar+brands\u0026amp;description=Returns+brands+from+the+corpus+that+look+like+one+of+your+completed+extractions%2C+as+the+same+result+cards+as+%5B%60POST+%2Fsearch%60%5D%28%2Fapi-reference%2Fendpoint%2Fsearch-bra\u0026amp;theme=2503431c8b55ea04159a70c0\u0026amp;signature=5daa40d3ae0a47b0037baa88afaf4e675d8def7a1642038dfa65772335bb1e12\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Find similar brands - Taste Engine\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as POST /search. Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller. Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission. Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tastelabs.mintlify.app/_mintlify/api/og/v2?division=Brand+search\u0026amp;title=Find+similar+brands\u0026amp;description=Returns+brands+from+the+corpus+that+look+like+one+of+your+completed+extractions%2C+as+the+same+result+cards+as+%5B%60POST+%2Fsearch%60%5D%28%2Fapi-reference%2Fendpoint%2Fsearch-bra\u0026amp;theme=2503431c8b55ea04159a70c0\u0026amp;signature=5daa40d3ae0a47b0037baa88afaf4e675d8def7a1642038dfa65772335bb1e12\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tastelabs/JjPiBFIDNaN6gB-y/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Taste Engine\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#171717\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/find-similar-brands.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tastelabs.com/#organization\",\"name\":\"Taste Engine\",\"url\":\"https://docs.tastelabs.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tastelabs/lMcn8IvQ-WbXAKni/logo/taste-engine-light.png?fit=max\u0026auto=format\u0026n=lMcn8IvQ-WbXAKni\u0026q=85\u0026s=16b11d3a9a0b80eaa5a2cac0416a8302\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tastelabs.com#website\",\"name\":\"Taste Engine\",\"url\":\"https://docs.tastelabs.com\",\"publisher\":{\"@id\":\"https://docs.tastelabs.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands#webpage\",\"url\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands\",\"name\":\"Find similar brands\",\"description\":\"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as POST /search. Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller. Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission. Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.\",\"dateModified\":\"2026-09-29T13:32:50.358Z\",\"isPartOf\":{\"@id\":\"https://docs.tastelabs.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Brand search\",\"item\":\"https://docs.tastelabs.com/api-reference/endpoint/search-brands\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Find similar brands\",\"item\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands#apireference\",\"headline\":\"Find similar brands\",\"name\":\"Find similar brands\",\"description\":\"Returns brands from the corpus that look like one of your completed extractions, as the same result cards as POST /search. Runs synchronously. Consumes credits, refunded if the request fails. The submission must be completed and readable by the caller. Neighbours are computed fresh on every call, so they can vary slightly between calls for the same submission. Requires a full extraction, created without sections. Selective submissions return 422 FULL_EXTRACTION_REQUIRED, including those served from a full cached extraction.\",\"url\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tastelabs.com/api-reference/endpoint/find-similar-brands#webpage\"},\"dateModified\":\"2026-09-29T13:32:50.358Z\",\"publisher\":{\"@id\":\"https://docs.tastelabs.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tastelabs.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Taste Engine\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Taste Engine","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"Introduction","href":"/api-reference/introduction"}]},{"group":"Account","pages":[{"title":"Get current user","openapi":"api-reference/openapi.json GET /design/me","href":"/api-reference/endpoint/get-current-user"}]},{"group":"Brand extractor","pages":[{"title":"Create submission","openapi":"api-reference/openapi.json POST /design/submissions","href":"/api-reference/endpoint/create-submission"},{"title":"Create brand kit submission","openapi":"api-reference/openapi.json POST /design/submissions/brand-kit","href":"/api-reference/endpoint/create-brand-kit-submission"},{"title":"List submissions","openapi":"api-reference/openapi.json GET /design/submissions","href":"/api-reference/endpoint/list-submissions"},{"title":"Get submission","openapi":"api-reference/openapi.json GET /design/submissions/{id}","href":"/api-reference/endpoint/get-submission"},{"title":"Get submission result","openapi":"api-reference/openapi.json GET /design/submissions/{id}/result","href":"/api-reference/endpoint/get-submission-result"},{"title":"Download submission bundle","openapi":"api-reference/openapi.json GET /design/submissions/{id}/download","href":"/api-reference/endpoint/download-submission"},{"title":"Update visibility","openapi":"api-reference/openapi.json PATCH /design/submissions/{id}/visibility","href":"/api-reference/endpoint/update-visibility"},{"title":"Enhance prompt","openapi":"api-reference/openapi.json POST /design/prompts/enhance","href":"/api-reference/endpoint/enhance-prompt"}]},{"group":"Brand search","pages":[{"title":"Search brands","openapi":"api-reference/openapi.json POST /search","description":"Searches the curated brand corpus for the aesthetic you describe in natural language, and returns ranked result cards.\n\nRuns synchronously: there is nothing to poll. Consumes credits (more at `deep` depth), refunded if the search fails.\n\nResults come from the corpus, not from your own submissions. To work with a result, extract it with [`POST /design/submissions`](/api-reference/endpoint/create-submission).\n\nAn optional `filters` object narrows results as hard constraints (`page_type`, `industry`, `hue`, `layout`): every returned card satisfies them.","href":"/api-reference/endpoint/search-brands"},{"title":"Find similar brands","openapi":"api-reference/openapi.json GET /search/similar","href":"/api-reference/endpoint/find-similar-brands"},{"title":"List searches","openapi":"api-reference/openapi.json GET /search/submissions","description":"Returns your past searches and similarity lookups, newest first. Free: listing history costs no credits.\n\nSearch results themselves are not stored, only the request and its outcome. Extraction history lives at [`GET /design/submissions`](/api-reference/endpoint/list-submissions).","href":"/api-reference/endpoint/list-searches"}]},{"group":"Brand adherence verifier","pages":[{"title":"Create brand-adherence job","openapi":"api-reference/openapi.json POST /judge/brand-adherence","href":"/api-reference/endpoint/create-brand-adherence"},{"title":"List brand-adherence jobs","openapi":"api-reference/openapi.json GET /judge/brand-adherence","href":"/api-reference/endpoint/list-brand-adherence-jobs"},{"title":"Get brand-adherence job","openapi":"api-reference/openapi.json GET /judge/brand-adherence/{job_id}","href":"/api-reference/endpoint/get-brand-adherence-job"},{"title":"Get brand-adherence verdict","openapi":"api-reference/openapi.json GET /judge/brand-adherence/{job_id}/result","href":"/api-reference/endpoint/get-brand-adherence-verdict"},{"title":"Update job visibility","openapi":"api-reference/openapi.json PATCH /judge/brand-adherence/{job_id}/visibility","href":"/api-reference/endpoint/update-brand-adherence-visibility"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"title":"Find similar brands - Taste Engine","buildId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","deploymentId":"dpl_2xiSHD9XEvLsPGPcfoMtkLTB3dy9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DmVyH30O.js","utils-BHQqGGOd.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-CD-E4BIt.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp5Lq9Ds.js","snippetPresets-C4xAVCFP.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CgXVLxUC.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BF8I5oUf.js","shallow-Byd0lWnC.js","getApiPlaygroundDisplay-BGOZG1OK.js","CodeSnippet-CpvQL0CY.js","CodeSnippets-B8wkBKXa.js","Page-CBCH2P7b.js","getPastedJson-Ry3scI3Y.js","icon-D7a9HcdD.js","MethodPill-CJ8pmHhz.js","DuplicateIcon-rh1HJF0t.js","createIcon-DvGznqYs.js","DynamicMarkdown-Cc6AuSHS.js","SectionHeading-B4A0S-ep.js","axios-vUo_bRtp.js","Markdown-Cc16CX65.js","clsx-Cs6nMGht.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-zbf22OZA.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-C_fs-y5n.js"]}