Brand profiles
Point to a website and get its complete public brand profile.
POST /brand has one job: read a website and return the brand presented there.
curl https://api.berrycrawl.com/api/v1/brand \
-H "Authorization: Bearer $BERRYCRAWL_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url":"https://berrycrawl.com"}'The response contains:
name,domain,description,tagline, andlanguagelogosand representativeimagescolorsandfonts- public
socials - an optional
brandingdesign system with the rendered color scheme, semantic colors, typography, spacing, representative form controls, and semanticlogo,favicon, andogImageroles meta.sourceUrl,meta.fetchedAt,meta.cached, andmeta.creditsUsed
branding is optional in the published schema so clients can remain compatible with an older API deployment. Current API responses populate it whenever the page yields usable rendered styles; individual semantic values can still be absent when the site does not expose them.
{
"branding": {
"colorScheme": "dark",
"colors": {
"primary": "#d81b3c",
"secondary": "#222225",
"accent": "#d81b3c",
"background": "#09090b",
"textPrimary": "#fafafa",
"link": "#d81b3c"
},
"typography": {
"fontFamilies": { "primary": "Inter", "heading": "Inter" },
"fontStacks": {
"heading": ["Inter", "sans-serif"],
"body": ["Inter", "sans-serif"],
"paragraph": ["Inter", "sans-serif"]
},
"fontSizes": { "h1": "72px", "h2": "48px", "body": "20px" }
},
"spacing": { "baseUnit": 4, "borderRadius": "12px" },
"components": {
"input": {
"background": "#09090b",
"textColor": "#fafafa",
"borderColor": "#222225",
"borderRadius": "12px"
},
"buttonPrimary": {
"background": "#d81b3c",
"textColor": "#ffffff",
"borderRadius": "12px"
}
},
"images": {
"logo": "https://cdn.berrycrawl.com/brand/logos/wordmark.png",
"favicon": "https://cdn.berrycrawl.com/brand/logos/icon.png",
"ogImage": "https://cdn.berrycrawl.com/brand/backdrops/cover.jpg"
}
}
}Brand does not resolve company names, email addresses, stock tickers, or ISINs. It does not return contacts, addresses, stock data, products, competitors, or a generated style guide. Use the company website as the source of truth.
Freshness
Profiles are cached for up to 90 days. Set refresh to true when you need Berrycrawl to read the website again.
{
"url": "https://example.com",
"refresh": true,
"timeout": 30000
}Failed, blocked, and malformed pages are never stored as successful profiles. A successful brand request costs 10 credits by default.