{
"success": false,
"error": {
"code": "WORKSPACE_BANNED",
"message": "This workspace has been suspended and cannot make API requests."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
{
"success": false,
"error": {
"code": "UPSTREAM_UNREACHABLE",
"message": "The origin did not respond to any attempt we made."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
{
"success": false,
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded for this workspace and plan."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
{
"success": false,
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The summary and json formats are not available."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
Read a company's design system
The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass maxAge.
GET
/
v1
/
web
/
styleguide
Read a company's design system
curl --request GET \ --url https://api.hydrafetch.com/v1/web/styleguide \ --header 'X-API-Key: <api-key>'
{
"success": false,
"error": {
"code": "WORKSPACE_BANNED",
"message": "This workspace has been suspended and cannot make API requests."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
{
"success": false,
"error": {
"code": "UPSTREAM_UNREACHABLE",
"message": "The origin did not respond to any attempt we made."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
{
"success": false,
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded for this workspace and plan."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Hydrafetch","description":"Turn any URL into clean Markdown and structured data your model can use. Scrape, crawl, search and extract with one API, one credit a page.","colors":{"primary":"#0E7490","light":"#22D3EE","dark":"#0E7490"},"logo":{"light":"https://mintcdn.com/hydrafetch/koPVMLXM3S4OTC3p/logo/lockup-light.svg?fit=max\u0026auto=format\u0026n=koPVMLXM3S4OTC3p\u0026q=85\u0026s=581b06c8816bc26dd6badf943c86aa6a","dark":"https://mintcdn.com/hydrafetch/koPVMLXM3S4OTC3p/logo/lockup-dark.svg?fit=max\u0026auto=format\u0026n=koPVMLXM3S4OTC3p\u0026q=85\u0026s=8794eacf6c26789ce40273c8d0c6f75c"},"favicon":"https://mintcdn.com/hydrafetch/koPVMLXM3S4OTC3p/favicon.svg?fit=max\u0026auto=format\u0026n=koPVMLXM3S4OTC3p\u0026q=85\u0026s=a73416b63f89cddc2832b7d92c18f775","appearance":{"default":"system"},"navbar":{"links":[{"href":"mailto:[email protected]","label":"Support"}],"primary":{"type":"button","label":"Start for free","href":"https://app.hydrafetch.com"}},"footer":{"socials":{"github":"https://github.com/hydrafetch","x":"https://x.com/hydrafetch"},"links":[{"header":"Product","items":[{"label":"Dashboard","href":"https://app.hydrafetch.com"},{"label":"Quickstart","href":"https://docs.hydrafetch.com/quickstart"},{"label":"API reference","href":"https://docs.hydrafetch.com/api-reference"}]},{"header":"Resources","items":[{"label":"Changelog","href":"https://docs.hydrafetch.com/changelog"},{"label":"Status","href":"https://api.hydrafetch.com/health"},{"label":"Support","href":"mailto:[email protected]"}]}]},"seo":{"metatags":{"og:type":"website","og:site_name":"Hydrafetch Docs","twitter:card":"summary_large_image","og:description":"Turn any URL into clean Markdown and structured data your model can use. Scrape, crawl, search and extract with one API, one credit a page."},"indexing":"all"},"fonts":{"heading":{"family":"Chivo","weight":600,"source":"fonts/Chivo[wght].woff2","format":"woff2"},"body":{"family":"Chivo","weight":400,"source":"fonts/Chivo[wght].woff2","format":"woff2"}},"styling":{"eyebrows":"breadcrumbs","latex":false},"contextual":{"options":["copy","view","chatgpt","claude","cursor","mcp"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"hydrafetch","hasAudioNarration":false,"actualSubdomain":"hydrafetch","customDomains":["docs.hydrafetch.com"],"gitSource":{"type":"github","owner":"hydrafetch","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af5e7e5c7a2465f288727ed","clientVersion":"0.0.4124","searchFilterCounts":[{"language":"default","tag":"API Reference","count":29},{"language":"default","tag":"Documentation","count":23},{"language":"default","tag":"Blueprints","count":11},{"language":"default","tag":"Core concepts","count":9},{"language":"default","tag":"Web Scraping","count":8},{"language":"default","tag":"Crawl \u0026 batch","count":7},{"language":"default","tag":"Scrape","count":7},{"language":"default","tag":"Help Center","count":6},{"language":"default","tag":"Brand","count":5},{"language":"default","tag":"Get started","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","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":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","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":"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":"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":"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":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"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":"turbopuffer-dual-write","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},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--hf-ink: #0b1b26;--hf-text-2: #47606c;--hf-text-3: #74909c;--hf-line: #d3e0e6;--hf-well: #edf4f7;--hf-accent: #0e7490;--hf-accent-hover: #107ea0;--hf-ok-soft: #e6f4ea;--hf-ok-line: #cfe8d6;--hf-warn-soft: #fbf1e1;--hf-warn-line: #f1dfbf;--hf-danger-soft: #fbe7e7;--hf-danger-line: #f2c9c9;--hf-brand-soft: #e0f4f9;--hf-info-line: #bfe6f0;--hf-brand-deep: #0b5c73;--hf-paper: #fafcfd;--hf-panel: #ffffff;--hf-tint: #f4f9fb;--hf-line-strong: #b6cbd4;--hf-on-accent: #ffffff;--hf-key-edge-soft: color-mix(in oklab, #0e7490 42%, #ffffff);--hf-r-control: 2px;--hf-r-intent: 4px;--hf-r-panel: 8px}.dark{--hf-ink: #e6eef2;--hf-text-2: #a7b9c3;--hf-text-3: #748a97;--hf-line: #1f2c36;--hf-well: #151e26;--hf-accent: #22d3ee;--hf-accent-hover: #3ddcf3;--hf-brand-deep: #0e9fb5;--hf-paper: #0a0f14;--hf-panel: #0f161c;--hf-tint: #0a0f14;--hf-line-strong: #2e3f4b;--hf-on-accent: #062028;--hf-key-edge-soft: color-mix(in oklab, #22d3ee 42%, #0f161c)}@font-face{font-family:'Chivo Mono';src:url('/fonts/ChivoMono[wght].woff2') format('woff2-variations');font-weight:100 900;font-style:normal;font-display:swap}code,pre,kbd,samp{font-family:'Chivo Mono', ui-monospace, SFMono-Regular, Menlo, monospace}html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.tryit-button,#topbar-cta-button>a,.navbar-link>a,#page-context-menu>button{position:relative!important;overflow:hidden!important;border-radius:var(--hf-r-control)!important;font-weight:500}.tryit-button::after,#topbar-cta-button>a::after,.navbar-link>a::after,#page-context-menu-button::after{content:'';position:absolute;inset-block:0;right:0;width:8px;pointer-events:none;background:repeating-conic-gradient(var(--hf-key-edge) 0 25%, transparent 0 50%) 0 0 / 4px 4px}.tryit-button,#topbar-cta-button>a{--hf-key-edge: var(--hf-paper);padding-right:22px!important}.tryit-button,#topbar-cta-button>a>span.absolute{background:var(--hf-accent)!important;border:1px solid var(--hf-brand-deep);border-radius:var(--hf-r-control)!important;box-shadow:inset 0 1px 0 rgb(255 255 255 / 18%),\n 0 1px 0 var(--hf-brand-deep);opacity:1!important}.tryit-button,.tryit-button *,#topbar-cta-button>a span,#topbar-cta-button>a svg{color:var(--hf-on-accent)!important}.tryit-button:hover,#topbar-cta-button>a:hover>span.absolute{background:var(--hf-accent-hover)!important}.navbar-link>a,#page-context-menu>button{--hf-key-edge: var(--hf-key-edge-soft);border:1px solid var(--hf-line-strong)!important;background:var(--hf-panel)!important;color:var(--hf-ink)!important;box-shadow:inset 0 1px 0 var(--hf-panel),\n 0 1px 0 var(--hf-line)}.navbar-link>a{padding-right:22px!important}#page-context-menu-button{padding-right:18px!important}#page-context-menu>button+button{border-left:0!important}.navbar-link>a:hover,#page-context-menu>button:hover{border-color:var(--hf-text-3)!important;background:var(--hf-tint)!important}.tryit-button:active,#topbar-cta-button>a:active,.navbar-link>a:active,#page-context-menu>button:active{transform:translateY(1px)}.tryit-button:focus-visible,#topbar-cta-button>a:focus-visible,.navbar-link>a:focus-visible,#page-context-menu>button:focus-visible{outline:none;box-shadow:0 0 0 2px var(--hf-paper),\n 0 0 0 4px #0891b2}button,input,select,textarea,.tryit-button,[role=\"button\"]{border-radius:var(--hf-r-control)}.card{border-radius:var(--hf-r-panel);border:1px solid var(--hf-line);box-shadow:none;transition:border-color 120ms cubic-bezier(0.2, 0.7, 0.2, 1)}.card:hover{border-color:var(--hf-accent);box-shadow:none}.callout,[class*=\"callout\"]{border-radius:var(--hf-r-intent);box-shadow:none}.code-block{border-radius:var(--hf-r-panel);border:1px solid var(--hf-line)}#content-area hr{height:48px;border:0;border-top:1px solid var(--hf-line);border-bottom:1px solid var(--hf-line);background:repeating-conic-gradient(var(--hf-line) 0 25%, transparent 0 50%) 0 0 / 4px 4px;mask-image:linear-gradient(to bottom, transparent, #000 50%, transparent)}code,pre,kbd{font-feature-settings:'tnum' 1,\n 'zero' 1}"}],"page":{"pagePath":"api-reference/brand/read-a-companys-design-system","slug":"/api-reference/brand/read-a-companys-design-system","pageMetadata":{"title":"Read a company's design system","description":"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass `maxAge`.","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/styleguide","href":"/api-reference/brand/read-a-companys-design-system","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass \", _jsx(_components.code, {\n children: \"maxAge\"\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":"Read a company's design system","description":"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass `maxAge`.","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/styleguide","href":"/api-reference/brand/read-a-companys-design-system","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass `maxAge`.","operationId":"styleguideGet","parameters":["8d7e34e5-f202-43da-b922-f531501394e2","6c7df353-9b1b-4d36-9fd7-0e09d8d32eff","1a01611c-8f6d-442c-ae8e-2c354a37b7a1"],"responses":{"200":"76a5abb5-2466-4b0a-8e89-a749225dfd91","202":"e92ce799-300f-4bc7-ac47-1890d72bd50e","400":"731d6a53-9753-49be-ac0e-1bfa7ced6cc1","401":"6dfb2e7c-dd5b-48f3-a96c-b7578d39a9e5","402":"5b4b24c0-386a-4b51-9a69-70e216c8d6fd","403":"f5b9f459-31b6-40d4-88c3-720573b531f7","404":"cdcc5d6e-8977-4c56-bf21-ebba15f04485","422":"ce368587-970f-4fe1-863a-299a864eac3c","429":"aa31ffaa-0b3b-4113-ac2f-271af4696782","500":"683e02f5-0da0-4f14-860e-bda820e9441c","503":"0927cffc-438b-4e14-96b6-6729993a2e27"},"summary":"Read a company's design system","tags":["Brand"],"method":"get","type":"path","servers":["edec2f24-d4c7-4826-9946-c685b33e71b3"],"security":["cbb9fef5-bd71-4a14-aa34-b981cfcaf711"],"path":"/v1/web/styleguide","baseUrlOptions":["https://api.hydrafetch.com"],"title":"Read a company's design system","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"8d7e34e5-f202-43da-b922-f531501394e2":{"name":"domain","required":false,"in":"query","description":"Domain to read the design system from, using its homepage. Send this or `url`.","schema":{"type":"string","example":"stripe.com","isRequired":false,"description":"Domain to read the design system from, using its homepage. Send this or `url`.","uniqueKey":"","typeLabel":"string"}},"6c7df353-9b1b-4d36-9fd7-0e09d8d32eff":{"name":"url","required":false,"in":"query","description":"One page to read instead of the homepage, for a section styled differently from the rest of the site. Send this or `domain`.","schema":{"type":"string","example":"https://stripe.com/pricing","isRequired":false,"description":"One page to read instead of the homepage, for a section styled differently from the rest of the site. Send this or `domain`.","uniqueKey":"","typeLabel":"string"}},"1a01611c-8f6d-442c-ae8e-2c354a37b7a1":{"name":"maxAge","required":false,"in":"query","description":"Accept a stored result no older than this many milliseconds. 0 reads the page fresh. Defaults to 30 days for a domain and 7 days for a page.","schema":{"example":0,"type":"number","isRequired":false,"description":"Accept a stored result no older than this many milliseconds. 0 reads the page fresh. Defaults to 30 days for a domain and 7 days for a page.","uniqueKey":"","typeLabel":"number"}}},"responses":{"76a5abb5-2466-4b0a-8e89-a749225dfd91":{"description":"The design system.","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"oneOf":[{"type":"object","description":"Null when the domain could not be rendered. An unresolved domain is free.","required":["domain","colors","typography","resolvedAt"],"properties":{"domain":{"type":"string","example":"stripe.com","isRequired":true,"uniqueKey":"data.oneOf.0.domain","typeLabel":"string"},"colors":{"type":"array","items":{"type":"object","properties":{"hex":{"type":"string","example":"#533afd","isRequired":true,"uniqueKey":"data.oneOf.0.colors.items.[INDEX].hex","typeLabel":"string"},"role":{"type":"string","enum":["background","surface","text","accent"],"example":"accent","description":"Roles rather than a ranked list, so a colour drops straight into a theme instead of leaving you to guess which one is safe behind text.","isRequired":true,"uniqueKey":"data.oneOf.0.colors.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"name":{"type":"string","example":"Indigo","uniqueKey":"data.oneOf.0.colors.items.[INDEX].name","typeLabel":"string"}},"required":["hex","role"],"uniqueKey":"data.oneOf.0.colors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.oneOf.0.colors","typeLabel":"object[]"},"typography":{"type":"array","items":{"type":"object","properties":{"role":{"type":"string","enum":["h1","h2","h3","h4","body","link"],"example":"body","isRequired":true,"uniqueKey":"data.oneOf.0.typography.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"family":{"type":"string","example":"sohne-var","isRequired":true,"uniqueKey":"data.oneOf.0.typography.items.[INDEX].family","typeLabel":"string"},"size":{"type":"number","example":16,"description":"Computed size in pixels.","uniqueKey":"data.oneOf.0.typography.items.[INDEX].size","typeLabel":"number"},"weight":{"oneOf":[{"type":"string","example":"400","uniqueKey":"data.oneOf.0.typography.items.[INDEX].weight.oneOf.0","typeLabel":"string"},{"type":"null","example":"400","uniqueKey":"data.oneOf.0.typography.items.[INDEX].weight.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.oneOf.0.typography.items.[INDEX].weight","typeLabel":"string | null"},"lineHeight":{"type":"number","example":24,"uniqueKey":"data.oneOf.0.typography.items.[INDEX].lineHeight","typeLabel":"number"},"letterSpacing":{"type":"string","example":"normal","uniqueKey":"data.oneOf.0.typography.items.[INDEX].letterSpacing","typeLabel":"string"},"fallbacks":{"description":"The rest of the declared stack, for rendering before the webfont arrives.","type":"array","items":{"type":"string","uniqueKey":"data.oneOf.0.typography.items.[INDEX].fallbacks.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.oneOf.0.typography.items.[INDEX].fallbacks","typeLabel":"string[]"}},"required":["role","family"],"uniqueKey":"data.oneOf.0.typography.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.oneOf.0.typography","typeLabel":"object[]"},"resolvedAt":{"oneOf":[{"type":"string","example":"2026-08-22T10:14:03.000Z","isRequired":true,"uniqueKey":"data.oneOf.0.resolvedAt.oneOf.0","typeLabel":"string"},{"type":"null","example":"2026-08-22T10:14:03.000Z","isRequired":true,"uniqueKey":"data.oneOf.0.resolvedAt.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.resolvedAt","typeLabel":"string | null"},"page":{"type":"string","example":"https://stripe.com/pricing","description":"The page that was read, when you asked for one with `url`.","uniqueKey":"data.oneOf.0.page","typeLabel":"string"},"mode":{"type":"string","enum":["light","dark"],"example":"light","description":"Whether the page as first loaded is light or dark. `colors` describe this mode.","uniqueKey":"data.oneOf.0.mode","typeLabel":"enum\u003cstring>"},"dark":{"oneOf":[{"type":"object","description":"The colors the site switches to when the visitor prefers a dark theme. Null means we checked and the site does not change, so do not invent a dark palette from it. Absent on guides read before we checked.","required":["colors"],"properties":{"colors":{"type":"array","items":{"type":"object","properties":{"hex":{"type":"string","example":"#533afd","isRequired":true,"uniqueKey":"data.oneOf.0.dark.oneOf.0.colors.items.[INDEX].hex","typeLabel":"string"},"role":{"type":"string","enum":["background","surface","text","accent"],"example":"accent","description":"Roles rather than a ranked list, so a colour drops straight into a theme instead of leaving you to guess which one is safe behind text.","isRequired":true,"uniqueKey":"data.oneOf.0.dark.oneOf.0.colors.items.[INDEX].role","typeLabel":"enum\u003cstring>"},"name":{"type":"string","example":"Indigo","uniqueKey":"data.oneOf.0.dark.oneOf.0.colors.items.[INDEX].name","typeLabel":"string"}},"required":["hex","role"],"uniqueKey":"data.oneOf.0.dark.oneOf.0.colors.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.oneOf.0.dark.oneOf.0.colors","typeLabel":"object[]"},"button":{"type":"object","properties":{"background":{"type":"string","example":"#ededed","isRequired":true,"uniqueKey":"data.oneOf.0.dark.oneOf.0.button.background","typeLabel":"string"},"color":{"type":"string","example":"#0a0a0a","uniqueKey":"data.oneOf.0.dark.oneOf.0.button.color","typeLabel":"string"}},"required":["background"],"uniqueKey":"data.oneOf.0.dark.oneOf.0.button","typeLabel":"object"},"contrast":{"type":"object","properties":{"textOnBackground":{"type":"number","example":21,"description":"Contrast ratio of text against background.","uniqueKey":"data.oneOf.0.dark.oneOf.0.contrast.textOnBackground","typeLabel":"number"},"meetsAA":{"type":"boolean","example":true,"description":"Whether that ratio clears WCAG AA.","uniqueKey":"data.oneOf.0.dark.oneOf.0.contrast.meetsAA","typeLabel":"boolean"},"accentOnBackground":{"type":"number","example":6.19,"uniqueKey":"data.oneOf.0.dark.oneOf.0.contrast.accentOnBackground","typeLabel":"number"}},"uniqueKey":"data.oneOf.0.dark.oneOf.0.contrast","typeLabel":"object"}},"uniqueKey":"data.oneOf.0.dark.oneOf.0","typeLabel":"object"},{"type":"null","uniqueKey":"data.oneOf.0.dark.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.oneOf.0.dark","typeLabel":"object | null"},"components":{"type":"object","description":"How the parts are drawn, beyond the tokens: panel borders and decorative shadows, the header bar, and where headings sit on panels. This is what makes a site recognisable.","properties":{"panel":{"type":"object","description":"The treatment most large boxes on the page share: cards, panels, framed sections.","properties":{"border":{"type":"object","properties":{"width":{"type":"number","example":2,"uniqueKey":"data.oneOf.0.components.panel.border.width","typeLabel":"number"},"style":{"type":"string","example":"solid","uniqueKey":"data.oneOf.0.components.panel.border.style","typeLabel":"string"},"color":{"type":"string","example":"#0f172a","description":"A hex color, or rgba() when the border is translucent.","uniqueKey":"data.oneOf.0.components.panel.border.color","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.panel.border","typeLabel":"object"},"radius":{"type":"string","example":"0px","uniqueKey":"data.oneOf.0.components.panel.radius","typeLabel":"string"},"background":{"type":"string","example":"#f9fafc","uniqueKey":"data.oneOf.0.components.panel.background","typeLabel":"string"},"shadow":{"type":"string","example":"rgba(0, 0, 0, 0.1) 0px 4px 12px 0px","uniqueKey":"data.oneOf.0.components.panel.shadow","typeLabel":"string"},"decoration":{"type":"object","properties":{"kind":{"type":"string","enum":["pattern","fill","outline"],"example":"pattern","description":"A layer the site draws behind or beside its panels: a patterned image, a solid block or an outline, offset to read as a shadow.","isRequired":true,"uniqueKey":"data.oneOf.0.components.panel.decoration.kind","typeLabel":"enum\u003cstring>"},"offsetX":{"type":"number","example":8,"uniqueKey":"data.oneOf.0.components.panel.decoration.offsetX","typeLabel":"number"},"offsetY":{"type":"number","example":8,"uniqueKey":"data.oneOf.0.components.panel.decoration.offsetY","typeLabel":"number"},"image":{"type":"string","example":"https://turbopuffer.com/dotted.svg","description":"The pattern's image on the site's own server. Recreate it rather than linking to it.","uniqueKey":"data.oneOf.0.components.panel.decoration.image","typeLabel":"string"},"color":{"type":"string","example":"#0f172a","uniqueKey":"data.oneOf.0.components.panel.decoration.color","typeLabel":"string"}},"required":["kind"],"uniqueKey":"data.oneOf.0.components.panel.decoration","typeLabel":"object"},"padding":{"type":"string","example":"24px 24px","description":"Vertical then horizontal padding.","uniqueKey":"data.oneOf.0.components.panel.padding","typeLabel":"string"},"color":{"type":"string","example":"#0f172a","description":"Text color inside the panel.","uniqueKey":"data.oneOf.0.components.panel.color","typeLabel":"string"},"count":{"type":"integer","example":5,"description":"How many boxes on the page share this treatment.","uniqueKey":"data.oneOf.0.components.panel.count","typeLabel":"integer"},"css":{"type":"string","example":"background-color: #f9fafc; border: 2px solid #0f172a; border-radius: 0px; padding: 24px 24px;","description":"The panel as CSS declarations. A patterned decoration is not included; read `decoration` for it.","uniqueKey":"data.oneOf.0.components.panel.css","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.panel","typeLabel":"object"},"header":{"type":"object","description":"The top navigation bar.","required":["background"],"properties":{"background":{"type":"string","example":"#0f172a","isRequired":true,"uniqueKey":"data.oneOf.0.components.header.background","typeLabel":"string"},"color":{"type":"string","example":"#ffffff","uniqueKey":"data.oneOf.0.components.header.color","typeLabel":"string"},"height":{"type":"number","example":72,"uniqueKey":"data.oneOf.0.components.header.height","typeLabel":"number"},"sticky":{"type":"boolean","example":true,"description":"Whether the bar stays pinned while the page scrolls.","uniqueKey":"data.oneOf.0.components.header.sticky","typeLabel":"boolean"},"borderBottom":{"type":"object","properties":{"width":{"type":"number","example":1,"uniqueKey":"data.oneOf.0.components.header.borderBottom.width","typeLabel":"number"},"color":{"type":"string","example":"rgba(255, 255, 255, 0.08)","uniqueKey":"data.oneOf.0.components.header.borderBottom.color","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.header.borderBottom","typeLabel":"object"},"css":{"type":"string","example":"background-color: #0f172a; color: #ffffff; height: 72px; position: sticky; top: 0;","uniqueKey":"data.oneOf.0.components.header.css","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.header","typeLabel":"object"},"headingOnPanel":{"type":"string","enum":["on-border","inside","above"],"example":"on-border","description":"Where a panel's title sits: across its top border like a fieldset legend, inside its padding, or just above it.","uniqueKey":"data.oneOf.0.components.headingOnPanel","typeLabel":"enum\u003cstring>"},"tabs":{"type":"object","description":"How the selected and other tabs are drawn.","properties":{"active":{"type":"object","description":"The selected tab.","required":["color"],"properties":{"color":{"type":"string","example":"#0f172a","isRequired":true,"uniqueKey":"data.oneOf.0.components.tabs.active.color","typeLabel":"string"},"background":{"type":"string","example":"#f9fafc","uniqueKey":"data.oneOf.0.components.tabs.active.background","typeLabel":"string"},"fontWeight":{"type":"string","example":"600","uniqueKey":"data.oneOf.0.components.tabs.active.fontWeight","typeLabel":"string"},"radius":{"type":"string","example":"0px","uniqueKey":"data.oneOf.0.components.tabs.active.radius","typeLabel":"string"},"border":{"type":"object","properties":{"width":{"type":"number","example":1,"uniqueKey":"data.oneOf.0.components.tabs.active.border.width","typeLabel":"number"},"color":{"type":"string","example":"rgba(255, 255, 255, 0.08)","uniqueKey":"data.oneOf.0.components.tabs.active.border.color","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.tabs.active.border","typeLabel":"object"},"borderBottom":{"type":"object","description":"Absent with `border` set means the tab is open at the bottom, joined to the panel below.","properties":{"width":{"type":"number","example":1,"uniqueKey":"data.oneOf.0.components.tabs.active.borderBottom.width","typeLabel":"number"},"color":{"type":"string","example":"rgba(255, 255, 255, 0.08)","uniqueKey":"data.oneOf.0.components.tabs.active.borderBottom.color","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.tabs.active.borderBottom","typeLabel":"object"},"css":{"type":"string","example":"background-color: #f9fafc; color: #0f172a; border: 2px solid #0f172a; border-bottom: none;","uniqueKey":"data.oneOf.0.components.tabs.active.css","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.tabs.active","typeLabel":"object"},"inactive":{"type":"object","description":"A tab that is not selected.","required":["color"],"properties":{"color":{"type":"string","example":"#0f172a","isRequired":true,"uniqueKey":"data.oneOf.0.components.tabs.inactive.color","typeLabel":"string"},"background":{"type":"string","example":"#f9fafc","uniqueKey":"data.oneOf.0.components.tabs.inactive.background","typeLabel":"string"},"fontWeight":{"type":"string","example":"600","uniqueKey":"data.oneOf.0.components.tabs.inactive.fontWeight","typeLabel":"string"},"radius":{"type":"string","example":"0px","uniqueKey":"data.oneOf.0.components.tabs.inactive.radius","typeLabel":"string"},"border":{"type":"object","properties":{"width":{"type":"number","example":1,"uniqueKey":"data.oneOf.0.components.tabs.inactive.border.width","typeLabel":"number"},"color":{"type":"string","example":"rgba(255, 255, 255, 0.08)","uniqueKey":"data.oneOf.0.components.tabs.inactive.border.color","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.tabs.inactive.border","typeLabel":"object"},"borderBottom":{"type":"object","description":"Absent with `border` set means the tab is open at the bottom, joined to the panel below.","properties":{"width":{"type":"number","example":1,"uniqueKey":"data.oneOf.0.components.tabs.inactive.borderBottom.width","typeLabel":"number"},"color":{"type":"string","example":"rgba(255, 255, 255, 0.08)","uniqueKey":"data.oneOf.0.components.tabs.inactive.borderBottom.color","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.tabs.inactive.borderBottom","typeLabel":"object"},"css":{"type":"string","example":"background-color: #f9fafc; color: #0f172a; border: 2px solid #0f172a; border-bottom: none;","uniqueKey":"data.oneOf.0.components.tabs.inactive.css","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.components.tabs.inactive","typeLabel":"object"}},"uniqueKey":"data.oneOf.0.components.tabs","typeLabel":"object"},"band":{"type":"object","description":"A full-width section painted in a color far from the page, such as a dark hero band.","required":["background"],"properties":{"background":{"type":"string","example":"#0f172a","isRequired":true,"uniqueKey":"data.oneOf.0.components.band.background","typeLabel":"string"},"color":{"type":"string","example":"#ffffff","uniqueKey":"data.oneOf.0.components.band.color","typeLabel":"string"},"count":{"type":"integer","example":1,"uniqueKey":"data.oneOf.0.components.band.count","typeLabel":"integer"}},"uniqueKey":"data.oneOf.0.components.band","typeLabel":"object"}},"uniqueKey":"data.oneOf.0.components","typeLabel":"object"},"webfonts":{"type":"object","additionalProperties":{"type":"object","properties":{"type":{"type":"string","enum":["google","custom"],"example":"custom","isRequired":true,"uniqueKey":"data.oneOf.0.webfonts.additionalProperties.type","typeLabel":"enum\u003cstring>"},"files":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"data.oneOf.0.webfonts.additionalProperties.files.additionalProperties","typeLabel":"string"},"description":"Weight to file URL on the site's own servers, for a family that has no public source. The files are licensed to the site, so check the licence before linking to them. Empty for a Google family: use `stylesheet` instead.","isRequired":true,"uniqueKey":"data.oneOf.0.webfonts.additionalProperties.files","typeLabel":"object"},"stylesheet":{"type":"string","example":"https://fonts.googleapis.com/css2?family=Space+Grotesk:[email protected]\u0026display=swap","description":"For a family published on Google Fonts, its Google stylesheet, even when the site hosts its own copy.","uniqueKey":"data.oneOf.0.webfonts.additionalProperties.stylesheet","typeLabel":"string"}},"required":["type","files"],"uniqueKey":"data.oneOf.0.webfonts.additionalProperties","typeLabel":"object"},"description":"Keyed by family name.","uniqueKey":"data.oneOf.0.webfonts","typeLabel":"object"},"fontUsage":{"type":"array","items":{"type":"object","properties":{"family":{"type":"string","example":"sohne-var","isRequired":true,"uniqueKey":"data.oneOf.0.fontUsage.items.[INDEX].family","typeLabel":"string"},"words":{"type":"integer","example":1840,"isRequired":true,"uniqueKey":"data.oneOf.0.fontUsage.items.[INDEX].words","typeLabel":"integer"},"percentWords":{"type":"number","example":92.4,"isRequired":true,"uniqueKey":"data.oneOf.0.fontUsage.items.[INDEX].percentWords","typeLabel":"number"}},"required":["family","words","percentWords"],"uniqueKey":"data.oneOf.0.fontUsage.items.[INDEX]","typeLabel":"object"},"uniqueKey":"data.oneOf.0.fontUsage","typeLabel":"object[]"},"radius":{"type":"object","properties":{"default":{"type":"string","example":"6px","uniqueKey":"data.oneOf.0.radius.default","typeLabel":"string"},"card":{"type":"string","example":"6px","uniqueKey":"data.oneOf.0.radius.card","typeLabel":"string"},"button":{"type":"string","example":"4px","uniqueKey":"data.oneOf.0.radius.button","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.radius","typeLabel":"object"},"shadows":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"data.oneOf.0.shadows.additionalProperties","typeLabel":"string"},"description":"Keyed by size, for example `sm`, `md`, `lg`.","uniqueKey":"data.oneOf.0.shadows","typeLabel":"object"},"spacing":{"type":"object","additionalProperties":{"type":"string","uniqueKey":"data.oneOf.0.spacing.additionalProperties","typeLabel":"string"},"description":"Keyed by step, for example `xs` through `xl`.","uniqueKey":"data.oneOf.0.spacing","typeLabel":"object"},"button":{"type":"object","properties":{"radius":{"type":"string","example":"4px","isRequired":true,"uniqueKey":"data.oneOf.0.button.radius","typeLabel":"string"},"background":{"type":"string","example":"#533afd","description":"The fill. Absent on an outlined button, which has only a border.","uniqueKey":"data.oneOf.0.button.background","typeLabel":"string"},"color":{"oneOf":[{"type":"string","example":"#ffffff","uniqueKey":"data.oneOf.0.button.color.oneOf.0","typeLabel":"string"},{"type":"null","example":"#ffffff","uniqueKey":"data.oneOf.0.button.color.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.oneOf.0.button.color","typeLabel":"string | null"},"paddingX":{"type":"number","example":24,"uniqueKey":"data.oneOf.0.button.paddingX","typeLabel":"number"},"paddingY":{"type":"number","example":15.5,"uniqueKey":"data.oneOf.0.button.paddingY","typeLabel":"number"},"fontWeight":{"oneOf":[{"type":"string","example":"400","uniqueKey":"data.oneOf.0.button.fontWeight.oneOf.0","typeLabel":"string"},{"type":"null","example":"400","uniqueKey":"data.oneOf.0.button.fontWeight.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.oneOf.0.button.fontWeight","typeLabel":"string | null"},"fontSize":{"type":"number","example":16,"uniqueKey":"data.oneOf.0.button.fontSize","typeLabel":"number"},"minWidth":{"type":"number","example":210,"description":"Width of the sampled button as it rendered, not a minimum the site sets. A button centring its label with flex has no padding to report, so this is the size to copy.","uniqueKey":"data.oneOf.0.button.minWidth","typeLabel":"number"},"minHeight":{"type":"number","example":48,"description":"Height of the sampled button as it rendered, not a minimum the site sets.","uniqueKey":"data.oneOf.0.button.minHeight","typeLabel":"number"},"border":{"type":"object","properties":{"width":{"type":"number","example":1,"isRequired":true,"uniqueKey":"data.oneOf.0.button.border.width","typeLabel":"number"},"style":{"type":"string","example":"solid","isRequired":true,"uniqueKey":"data.oneOf.0.button.border.style","typeLabel":"string"},"color":{"oneOf":[{"type":"string","example":"#533afd","isRequired":true,"uniqueKey":"data.oneOf.0.button.border.color.oneOf.0","typeLabel":"string"},{"type":"null","example":"#533afd","isRequired":true,"uniqueKey":"data.oneOf.0.button.border.color.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.button.border.color","typeLabel":"string | null"}},"required":["width","style","color"],"uniqueKey":"data.oneOf.0.button.border","typeLabel":"object"},"shadow":{"type":"string","example":"rgba(23, 23, 23, 0.08) 0px 15px 35px 0px","uniqueKey":"data.oneOf.0.button.shadow","typeLabel":"string"},"css":{"type":"string","example":"background-color: #533afd; color: #ffffff; border-radius: 4px; padding: 15.5px 24px; font-size: 16px; min-height: 48px;","description":"The same button as CSS declarations you can paste into a rule.","uniqueKey":"data.oneOf.0.button.css","typeLabel":"string"}},"required":["radius"],"uniqueKey":"data.oneOf.0.button","typeLabel":"object"},"secondaryButton":{"type":"object","description":"The second call to action, painted differently from the first, or outlined.","required":["radius"],"properties":{"radius":{"type":"string","example":"4px","isRequired":true,"uniqueKey":"data.oneOf.0.secondaryButton.radius","typeLabel":"string"},"background":{"type":"string","example":"#533afd","description":"The fill. Absent on an outlined button, which has only a border.","uniqueKey":"data.oneOf.0.secondaryButton.background","typeLabel":"string"},"color":{"oneOf":[{"type":"string","example":"#ffffff","uniqueKey":"data.oneOf.0.secondaryButton.color.oneOf.0","typeLabel":"string"},{"type":"null","example":"#ffffff","uniqueKey":"data.oneOf.0.secondaryButton.color.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.oneOf.0.secondaryButton.color","typeLabel":"string | null"},"paddingX":{"type":"number","example":24,"uniqueKey":"data.oneOf.0.secondaryButton.paddingX","typeLabel":"number"},"paddingY":{"type":"number","example":15.5,"uniqueKey":"data.oneOf.0.secondaryButton.paddingY","typeLabel":"number"},"fontWeight":{"oneOf":[{"type":"string","example":"400","uniqueKey":"data.oneOf.0.secondaryButton.fontWeight.oneOf.0","typeLabel":"string"},{"type":"null","example":"400","uniqueKey":"data.oneOf.0.secondaryButton.fontWeight.oneOf.1","typeLabel":"null"}],"uniqueKey":"data.oneOf.0.secondaryButton.fontWeight","typeLabel":"string | null"},"fontSize":{"type":"number","example":16,"uniqueKey":"data.oneOf.0.secondaryButton.fontSize","typeLabel":"number"},"minWidth":{"type":"number","example":210,"description":"Width of the sampled button as it rendered, not a minimum the site sets. A button centring its label with flex has no padding to report, so this is the size to copy.","uniqueKey":"data.oneOf.0.secondaryButton.minWidth","typeLabel":"number"},"minHeight":{"type":"number","example":48,"description":"Height of the sampled button as it rendered, not a minimum the site sets.","uniqueKey":"data.oneOf.0.secondaryButton.minHeight","typeLabel":"number"},"border":{"type":"object","properties":{"width":{"type":"number","example":1,"isRequired":true,"uniqueKey":"data.oneOf.0.secondaryButton.border.width","typeLabel":"number"},"style":{"type":"string","example":"solid","isRequired":true,"uniqueKey":"data.oneOf.0.secondaryButton.border.style","typeLabel":"string"},"color":{"oneOf":[{"type":"string","example":"#533afd","isRequired":true,"uniqueKey":"data.oneOf.0.secondaryButton.border.color.oneOf.0","typeLabel":"string"},{"type":"null","example":"#533afd","isRequired":true,"uniqueKey":"data.oneOf.0.secondaryButton.border.color.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.oneOf.0.secondaryButton.border.color","typeLabel":"string | null"}},"required":["width","style","color"],"uniqueKey":"data.oneOf.0.secondaryButton.border","typeLabel":"object"},"shadow":{"type":"string","example":"rgba(23, 23, 23, 0.08) 0px 15px 35px 0px","uniqueKey":"data.oneOf.0.secondaryButton.shadow","typeLabel":"string"},"css":{"type":"string","example":"background-color: #533afd; color: #ffffff; border-radius: 4px; padding: 15.5px 24px; font-size: 16px; min-height: 48px;","description":"The same button as CSS declarations you can paste into a rule.","uniqueKey":"data.oneOf.0.secondaryButton.css","typeLabel":"string"}},"uniqueKey":"data.oneOf.0.secondaryButton","typeLabel":"object"},"contrast":{"type":"object","description":"Whether you can put text on what we handed you.","properties":{"textOnBackground":{"type":"number","example":21,"description":"Contrast ratio of text against background.","uniqueKey":"data.oneOf.0.contrast.textOnBackground","typeLabel":"number"},"meetsAA":{"type":"boolean","example":true,"description":"Whether that ratio clears WCAG AA.","uniqueKey":"data.oneOf.0.contrast.meetsAA","typeLabel":"boolean"},"accentOnBackground":{"type":"number","example":6.19,"uniqueKey":"data.oneOf.0.contrast.accentOnBackground","typeLabel":"number"}},"uniqueKey":"data.oneOf.0.contrast","typeLabel":"object"},"css":{"type":"string","example":"@font-face {\n font-family: \"sohne-var\";\n src: url(\"https://b.stripecdn.com/fonts/Sohne.woff2\") format(\"woff2\");\n font-weight: 400;\n font-display: swap;\n}\n\n:root {\n --color-background: #ffffff;\n --color-accent: #533afd;\n --font-body: \"sohne-var\", sans-serif;\n --radius-button: 4px;\n}","description":"The same design as a stylesheet you can paste in: `@font-face` rules for the webfonts and a `:root` block of CSS variables for colors, fonts, the type scale, radius, shadows and spacing. Values that are not plain colors, lengths, font names or https font files are left out.","uniqueKey":"data.oneOf.0.css","typeLabel":"string"},"tailwind":{"type":"string","example":"@import \"tailwindcss\";\n\n@theme {\n --color-accent: #533afd;\n --font-body: \"sohne-var\", sans-serif;\n --radius-button: 4px;\n}","description":"The same tokens as a Tailwind CSS v4 stylesheet. Paste it as your main CSS file and classes such as `bg-accent`, `font-heading`, `text-h1`, `rounded-button` and `shadow-md` use the site's design.","uniqueKey":"data.oneOf.0.tailwind","typeLabel":"string"},"shadcn":{"type":"string","example":":root {\n --background: #ffffff;\n --foreground: #0a2540;\n --primary: #533afd;\n --primary-foreground: #ffffff;\n --radius: 4px;\n}","description":"The colors, radius and fonts under shadcn/ui variable names (`--background`, `--foreground`, `--primary`, `--card`, `--muted`, `--border` and the rest). Replace the `:root` block in a shadcn project's globals.css with it.","uniqueKey":"data.oneOf.0.shadcn","typeLabel":"string"}},"isRequired":true,"uniqueKey":"data.oneOf.0","typeLabel":"object"},{"type":"null","isRequired":true,"uniqueKey":"data.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data","typeLabel":"object | null"}},"required":["data"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"data":{"domain":"stripe.com","colors":[{"hex":"#533afd","role":"accent","name":"Indigo"}],"typography":[{"role":"body","family":"sohne-var","size":16,"weight":"400","lineHeight":24,"letterSpacing":"normal","fallbacks":["\u003cstring>"]}],"resolvedAt":"2026-08-22T10:14:03.000Z","page":"https://stripe.com/pricing","mode":"light","dark":{"colors":[{"hex":"#533afd","role":"accent","name":"Indigo"}],"button":{"background":"#ededed","color":"#0a0a0a"},"contrast":{"textOnBackground":21,"meetsAA":true,"accentOnBackground":6.19}},"components":{"panel":{"border":{"width":2,"style":"solid","color":"#0f172a"},"radius":"0px","background":"#f9fafc","shadow":"rgba(0, 0, 0, 0.1) 0px 4px 12px 0px","decoration":{"kind":"pattern","offsetX":8,"offsetY":8,"image":"https://turbopuffer.com/dotted.svg","color":"#0f172a"},"padding":"24px 24px","color":"#0f172a","count":5,"css":"background-color: #f9fafc; border: 2px solid #0f172a; border-radius: 0px; padding: 24px 24px;"},"header":{"background":"#0f172a","color":"#ffffff","height":72,"sticky":true,"borderBottom":{"width":1,"color":"rgba(255, 255, 255, 0.08)"},"css":"background-color: #0f172a; color: #ffffff; height: 72px; position: sticky; top: 0;"},"headingOnPanel":"on-border","tabs":{"active":{"color":"#0f172a","background":"#f9fafc","fontWeight":"600","radius":"0px","border":{"width":1,"color":"rgba(255, 255, 255, 0.08)"},"borderBottom":{"width":1,"color":"rgba(255, 255, 255, 0.08)"},"css":"background-color: #f9fafc; color: #0f172a; border: 2px solid #0f172a; border-bottom: none;"},"inactive":{"color":"#0f172a","background":"#f9fafc","fontWeight":"600","radius":"0px","border":{"width":1,"color":"rgba(255, 255, 255, 0.08)"},"borderBottom":{"width":1,"color":"rgba(255, 255, 255, 0.08)"},"css":"background-color: #f9fafc; color: #0f172a; border: 2px solid #0f172a; border-bottom: none;"}},"band":{"background":"#0f172a","color":"#ffffff","count":1}},"webfonts":{},"fontUsage":[{"family":"sohne-var","words":1840,"percentWords":92.4}],"radius":{"default":"6px","card":"6px","button":"4px"},"shadows":{},"spacing":{},"button":{"radius":"4px","background":"#533afd","color":"#ffffff","paddingX":24,"paddingY":15.5,"fontWeight":"400","fontSize":16,"minWidth":210,"minHeight":48,"border":{"width":1,"style":"solid","color":"#533afd"},"shadow":"rgba(23, 23, 23, 0.08) 0px 15px 35px 0px","css":"background-color: #533afd; color: #ffffff; border-radius: 4px; padding: 15.5px 24px; font-size: 16px; min-height: 48px;"},"secondaryButton":{"radius":"4px","background":"#533afd","color":"#ffffff","paddingX":24,"paddingY":15.5,"fontWeight":"400","fontSize":16,"minWidth":210,"minHeight":48,"border":{"width":1,"style":"solid","color":"#533afd"},"shadow":"rgba(23, 23, 23, 0.08) 0px 15px 35px 0px","css":"background-color: #533afd; color: #ffffff; border-radius: 4px; padding: 15.5px 24px; font-size: 16px; min-height: 48px;"},"contrast":{"textOnBackground":21,"meetsAA":true,"accentOnBackground":6.19},"css":"@font-face {\n font-family: \"sohne-var\";\n src: url(\"https://b.stripecdn.com/fonts/Sohne.woff2\") format(\"woff2\");\n font-weight: 400;\n font-display: swap;\n}\n\n:root {\n --color-background: #ffffff;\n --color-accent: #533afd;\n --font-body: \"sohne-var\", sans-serif;\n --radius-button: 4px;\n}","tailwind":"@import \"tailwindcss\";\n\n@theme {\n --color-accent: #533afd;\n --font-body: \"sohne-var\", sans-serif;\n --radius-button: 4px;\n}","shadcn":":root {\n --background: #ffffff;\n --foreground: #0a2540;\n --primary: #533afd;\n --primary-foreground: #ffffff;\n --radius: 4px;\n}"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e92ce799-300f-4bc7-ac47-1890d72bd50e":{"description":"Still running; poll /v1/web/jobs/{id}.","content":{"application/json":{"schema":{"type":"object","properties":{"jobId":{"type":"string","example":"019f3c09-6fae-740f-9257-10c2b6af7f43","isRequired":true,"uniqueKey":"jobId","typeLabel":"string"},"status":{"type":"string","enum":["running"],"example":"running","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"poll":{"type":"string","example":"/v1/web/jobs/019f3c09-6fae-740f-9257-10c2b6af7f43","description":"Poll this path until the status is completed or failed.","isRequired":true,"uniqueKey":"poll","typeLabel":"string"}},"required":["jobId","status","poll"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"jobId":"019f3c09-6fae-740f-9257-10c2b6af7f43","status":"running","poll":"/v1/web/jobs/019f3c09-6fae-740f-9257-10c2b6af7f43"}}},"exampleType":"generated"}},"exampleType":"generated"},"731d6a53-9753-49be-ac0e-1bfa7ced6cc1":{"description":"The request body or query failed validation.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"VALIDATION_ERROR","message":"url must be a valid URL"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"VALIDATION_ERROR","message":"url must be a valid URL"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"6dfb2e7c-dd5b-48f3-a96c-b7578d39a9e5":{"description":"The X-API-Key header is missing, malformed, or names a key that no longer exists.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"UNAUTHORIZED","message":"Missing X-API-Key header. Agents: https://hydrafetch.com/auth.md"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"UNAUTHORIZED","message":"Missing X-API-Key header. Agents: https://hydrafetch.com/auth.md"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"5b4b24c0-386a-4b51-9a69-70e216c8d6fd":{"description":"The workspace has no credits left for this request. Nothing was charged and nothing was fetched.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"INSUFFICIENT_CREDITS","message":"Insufficient credits"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"INSUFFICIENT_CREDITS","message":"Insufficient credits"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"f5b9f459-31b6-40d4-88c3-720573b531f7":{"description":"The key is valid but the workspace may not make this request.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"WORKSPACE_BANNED","message":"This workspace has been suspended and cannot make API requests."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"WORKSPACE_BANNED","message":"This workspace has been suspended and cannot make API requests."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"cdcc5d6e-8977-4c56-bf21-ebba15f04485":{"description":"No such job, or the id belongs to another workspace.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"NOT_FOUND","message":"Job not found"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"NOT_FOUND","message":"Job not found"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"ce368587-970f-4fe1-863a-299a864eac3c":{"description":"The target site did not respond, or we could not read that page. This is a fact about that URL rather than a fault on our side, and retrying it will not change the answer. When details.retryAfterSeconds is present, asking again before then returns this same answer. Nothing was charged.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"UPSTREAM_UNREACHABLE","message":"The origin did not respond to any attempt we made."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"UPSTREAM_UNREACHABLE","message":"The origin did not respond to any attempt we made."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"aa31ffaa-0b3b-4113-ac2f-271af4696782":{"description":"The workspace exceeded its per-minute request limit. Read the RateLimit headers, or Retry-After on this response, and retry after the window resets.","headers":{"Retry-After":{"description":"Seconds to wait before retrying. Prefer this over a fixed backoff.","schema":{"type":"integer","example":17}},"RateLimit":{"description":"Requests remaining (r) and seconds until the window resets (t).","schema":{"type":"string","example":"\"workspace\";r=0;t=17"}},"RateLimit-Policy":{"description":"The quota (q) for your plan and the window it applies over (w), in seconds.","schema":{"type":"string","example":"\"workspace\";q=600;w=60"}}},"content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"TOO_MANY_REQUESTS","message":"Rate limit exceeded for this workspace and plan."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"TOO_MANY_REQUESTS","message":"Rate limit exceeded for this workspace and plan."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"683e02f5-0da0-4f14-860e-bda820e9441c":{"description":"Unexpected server error. Nothing was charged.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"INTERNAL_SERVER_ERROR","message":"Internal server error"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"INTERNAL_SERVER_ERROR","message":"Internal server error"},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"},"0927cffc-438b-4e14-96b6-6729993a2e27":{"description":"A dependency needed for the requested formats is unavailable. Safe to retry.","content":{"application/json":{"schema":{"type":"object","required":["success","error","meta"],"description":"Every failure on this API returns this shape, whatever the status. Successful responses never carry it.","properties":{"success":{"type":"boolean","enum":[false],"example":false,"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","enum":["VALIDATION_ERROR","INVALID_INPUT","UNAUTHORIZED","INSUFFICIENT_CREDITS","FORBIDDEN","WORKSPACE_BANNED","NOT_FOUND","TOO_MANY_REQUESTS","UPSTREAM_UNREACHABLE","SERVICE_UNAVAILABLE","INTERNAL_SERVER_ERROR"],"description":"Stable, machine-readable reason. Branch on this rather than on the message, which may be reworded.","example":"INSUFFICIENT_CREDITS","isRequired":true,"uniqueKey":"error.code","typeLabel":"enum\u003cstring>"},"message":{"type":"string","description":"Human-readable explanation. Safe to show a user, not to parse.","example":"Insufficient credits","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Optional machine-readable context, present on validation failures.","uniqueKey":"error.details","typeLabel":"object"}},"isRequired":true,"uniqueKey":"error","typeLabel":"object"},"meta":{"type":"object","properties":{"requestId":{"type":"string","description":"Quote this when contacting support about a specific failure.","example":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c","uniqueKey":"meta.requestId","typeLabel":"string"}},"isRequired":true,"uniqueKey":"meta","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"success":false,"error":{"code":"SERVICE_UNAVAILABLE","message":"The summary and json formats are not available."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"SERVICE_UNAVAILABLE","message":"The summary and json formats are not available."},"meta":{"requestId":"019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"}}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"cbb9fef5-bd71-4a14-aa34-b981cfcaf711":{"apiKey":{"type":"apiKey","in":"header","name":"X-API-Key","scopes":[],"schemeName":"apiKey"}}},"servers":{"edec2f24-d4c7-4826-9946-c685b33e71b3":{"url":"https://api.hydrafetch.com","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","scopes":[],"schemeName":"apiKey"},"schema":{"title":"X-API-Key","type":"string","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"X-API-Key"}],"title":"apiKey"}]},"originalFileLocation":"https://api.hydrafetch.com/openapi.json"},"subdomain":"hydrafetch","siteName":"Hydrafetch","title":"Read a company's design system - Hydrafetch","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-12T16:23:05.852Z","originalFileLocation":"api-reference/brand/read-a-companys-design-system.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=\"system\"}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=\"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass maxAge.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Hydrafetch\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_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/hydrafetch/NoqeqB75AwFil_Bs/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Read a company\u0026#x27;s design system - Hydrafetch\">\u003cmeta data-mint-head property=\"og:description\" content=\"Turn any URL into clean Markdown and structured data your model can use. Scrape, crawl, search and extract with one API, one credit a page.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Hydrafetch Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://hydrafetch.mintlify.site/_mintlify/api/og/v2?division=Brand\u0026amp;title=Read+a+company%27s+design+system\u0026amp;description=The+colours%2C+type+scale%2C+corner+radius%2C+buttons+and+component+treatments+a+site+actually+paints%2C+read+from+computed+styles+in+a+real+browser%2C+so+a+value+defined\u0026amp;theme=b060ea6dae0bddd44da99abe\u0026amp;signature=5c0b034800e27e197edde7f972554b9153b52165d14eb05e6bd4af3e526fc7b3\">\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=\"Read a company\u0026#x27;s design system - Hydrafetch\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Turn any URL into clean Markdown and structured data your model can use. Scrape, crawl, search and extract with one API, one credit a page.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://hydrafetch.mintlify.site/_mintlify/api/og/v2?division=Brand\u0026amp;title=Read+a+company%27s+design+system\u0026amp;description=The+colours%2C+type+scale%2C+corner+radius%2C+buttons+and+component+treatments+a+site+actually+paints%2C+read+from+computed+styles+in+a+real+browser%2C+so+a+value+defined\u0026amp;theme=b060ea6dae0bddd44da99abe\u0026amp;signature=5c0b034800e27e197edde7f972554b9153b52165d14eb05e6bd4af3e526fc7b3\">\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/hydrafetch/NoqeqB75AwFil_Bs/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Hydrafetch\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0E7490\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/brand/read-a-companys-design-system.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.hydrafetch.com/#organization\",\"name\":\"Hydrafetch\",\"url\":\"https://docs.hydrafetch.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/hydrafetch/koPVMLXM3S4OTC3p/logo/lockup-light.svg?fit=max\u0026auto=format\u0026n=koPVMLXM3S4OTC3p\u0026q=85\u0026s=581b06c8816bc26dd6badf943c86aa6a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.hydrafetch.com#website\",\"name\":\"Hydrafetch\",\"url\":\"https://docs.hydrafetch.com\",\"publisher\":{\"@id\":\"https://docs.hydrafetch.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system#webpage\",\"url\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system\",\"name\":\"Read a company's design system\",\"description\":\"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass maxAge.\",\"dateModified\":\"2026-11-12T16:23:05.852Z\",\"isPartOf\":{\"@id\":\"https://docs.hydrafetch.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Brand\",\"item\":\"https://docs.hydrafetch.com/api-reference/brand/resolve-a-brand\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Read a company's design system\",\"item\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system#apireference\",\"headline\":\"Read a company's design system\",\"name\":\"Read a company's design system\",\"description\":\"The colours, type scale, corner radius, buttons and component treatments a site actually paints, read from computed styles in a real browser, so a value defined through four layers of CSS variables comes back as the hex it resolved to. Colours are given by role (background, surface, text, accent) with contrast ratios, plus the dark theme when the site has one, so they drop into a theme without guesswork. Panels, the header bar, tabs and dark bands come back as values and as paste-ready CSS. A render every time, which is why it costs more than a brand lookup; cached for weeks after the first call unless you pass maxAge.\",\"url\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system\",\"mainEntityOfPage\":{\"@id\":\"https://docs.hydrafetch.com/api-reference/brand/read-a-companys-design-system#webpage\"},\"dateModified\":\"2026-11-12T16:23:05.852Z\",\"publisher\":{\"@id\":\"https://docs.hydrafetch.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.hydrafetch.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Hydrafetch\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Hydrafetch\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/brand/read-a-companys-design-system.md","siteName":"Hydrafetch","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/introduction"}]},{"tab":"Blueprints","pages":[{"title":"Blueprints","href":"/blueprints/overview"}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help/account"}]},{"tab":"API Reference","groups":[{"group":"Jobs","pages":[{"title":"Get a job","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/jobs/{id}","href":"/api-reference/jobs/get-a-job"}]},{"group":"Brand","pages":[{"title":"Resolve a brand","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/brand","href":"/api-reference/brand/resolve-a-brand"},{"title":"Resolve many brands","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/brand","href":"/api-reference/brand/resolve-many-brands"},{"title":"Get a company logo","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/brand/logo","href":"/api-reference/brand/get-a-company-logo"},{"title":"Search brands","description":"Find brands we already hold by company name or domain, so you can turn what a user typed into a domain and then resolve it. Returns the domain, name, primary logo and primary colour — enough to render a picker. Never resolves a new domain, and is not billed.","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/brand/search","href":"/api-reference/brand/search-brands"},{"title":"Read a company's design system","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/styleguide","href":"/api-reference/brand/read-a-companys-design-system"}]},{"group":"Scrape","pages":[{"title":"Scrape a URL","description":"Fetch a single URL and return it in the formats you ask for. Waits up to 90 seconds (or your `timeout`) for the result; past that it answers 202 with a job id to poll at /v1/web/jobs/{id}, and the work carries on for up to 300 seconds. Set `async` to get the job id immediately.","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/scrape","href":"/api-reference/scrape/scrape-a-url"},{"title":"Scrape to Markdown","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/markdown","href":"/api-reference/scrape/scrape-to-markdown"},{"title":"Scrape to HTML","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/html","href":"/api-reference/scrape/scrape-to-html"},{"title":"Scrape raw HTML","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/raw-html","href":"/api-reference/scrape/scrape-raw-html"},{"title":"Get a page's links","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/links","href":"/api-reference/scrape/get-a-pages-links"},{"title":"Get structured data","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/structured","href":"/api-reference/scrape/get-structured-data"},{"title":"Get scrape job status","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/scrape/{id}","href":"/api-reference/scrape/get-scrape-job-status"}]},{"group":"Media","pages":[{"title":"Harvest a page's images","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/images","href":"/api-reference/media/harvest-a-pages-images"},{"title":"Screenshot a page","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/screenshot","href":"/api-reference/media/screenshot-a-page"}]},{"group":"Logo","pages":[{"title":"Serve a company logo","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/logo/{domain}","href":"/api-reference/logo/serve-a-company-logo"}]},{"group":"Crawl \u0026 batch","pages":[{"title":"Map a site","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/map","href":"/api-reference/crawl-\u0026-batch/map-a-site"},{"title":"Start a crawl","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/crawl","href":"/api-reference/crawl-\u0026-batch/start-a-crawl"},{"title":"Start a batch","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/batch","href":"/api-reference/crawl-\u0026-batch/start-a-batch"},{"title":"Get crawl status","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/crawl/{id}","href":"/api-reference/crawl-\u0026-batch/get-crawl-status"},{"title":"Get batch status","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/batch/{id}","href":"/api-reference/crawl-\u0026-batch/get-batch-status"},{"title":"List webhook deliveries for a crawl","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/crawl/{id}/deliveries","href":"/api-reference/crawl-\u0026-batch/list-webhook-deliveries-for-a-crawl"},{"title":"List webhook deliveries for a batch","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json get /v1/web/batch/{id}/deliveries","href":"/api-reference/crawl-\u0026-batch/list-webhook-deliveries-for-a-batch"}]},{"group":"Search","pages":[{"title":"Search the web","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/search","href":"/api-reference/search/search-the-web"}]},{"group":"Indexes","pages":[{"title":"Search open jobs across company career sites","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/index/jobs/search","href":"/api-reference/indexes/search-open-jobs-across-company-career-sites"},{"title":"What changed in a company's hiring","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/index/jobs/changes","href":"/api-reference/indexes/what-changed-in-a-companys-hiring"}]},{"group":"News","pages":[{"title":"Search the news","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/news","href":"/api-reference/news/search-the-news"}]},{"group":"Extract","pages":[{"title":"Extract structured data from URLs","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/extract","href":"/api-reference/extract/extract-structured-data-from-urls"}]},{"group":"Feedback","pages":[{"title":"Rate a result","deprecated":null,"version":null,"openapi":"https://api.hydrafetch.com/openapi.json post /v1/web/feedback","href":"/api-reference/feedback/rate-a-result"}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Read a company's design system - Hydrafetch","buildId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","deploymentId":"dpl_8hoxaqFTU7hTr6A2fUraxAyjuiZo","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CDiBsYGW.js","utils-KF9rPlmF.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C26urKTX.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-BdjmJAC1.js","snippetPresets-3IpDBjt3.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-D4x_2vvo.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BIWdc5Pa.js","shallow-LQqfiMNd.js","getApiPlaygroundDisplay-DryzlOZG.js","CodeSnippet-tcJujU4r.js","CodeSnippets-BHp0nVLL.js","Page-1CZdsdAn.js","getPastedJson-DU-1ayUv.js","icon-CZK2hPr4.js","MethodPill-DOaqmTFC.js","DuplicateIcon-B5-nUxxl.js","createIcon-CDP_U77G.js","DynamicMarkdown-GHvayGOn.js","SectionHeading-BYvpkmUD.js","axios-vUo_bRtp.js","Markdown-uxhlayGT.js","clsx-B35qUV0p.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BvrGG8gU.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CAf0yVYe.js"]}