Docs
Website intelligence

Brand profiles

Retrieve verified identity, description, colors, logos, and backdrops from a live website.

GET /brand/retrieve builds a full profile from the live site. Pass a domain, not a search query.

curl "https://api.berrycrawl.com/api/v1/brand/retrieve?domain=berrycrawl.com" \
  -H "Authorization: Bearer $BERRYCRAWL_API_KEY"

The pipeline renders the site with Patchright, rejects block and challenge pages, discovers structured and visual signals, validates assets, and caches the resulting profile. It never fabricates a profile from an error page.

Profile speed

  • GET /brand/retrieve returns the complete profile and costs 10 credits by default.
  • maxSpeed=true skips AI description enrichment and limits asset processing to one mirrored logo and one mirrored backdrop. It uses a separate cache profile so fast and full responses never overwrite one another.

Aliases accept an email address, company name, ticker, or ISIN. Name and security lookup operations cost more because they must resolve an identifier before retrieving the site.

Descriptions

Berrycrawl prefers deterministic text in this order: JSON-LD, page metadata, Twitter cards, and meaningful rendered paragraphs. If that material is too sparse on a cold full-profile request, a text model may produce one factual description from the scraped evidence.

The model does not need vision. Logos, image dimensions, transparency, colors, and backdrop ranking are handled by the asset pipeline. AI is used only for sparse text enrichment and degrades cleanly to deterministic copy when unavailable.

Descriptions target 300–1,000 characters. Berrycrawl does not add unsupported stock, address, industry, funding, employee, people, or transaction claims.

Reliability and cost visibility

Cold full profiles use bounded optimistic fan-out: description enrichment and candidate asset validation run together, while image downloads remain capped at four concurrent requests. Network work is driven by discovered evidence rather than a fixed request count.

The fetch ladder is Patchright direct, IPRoyal residential, a fresh IPRoyal stealth session, and then optional Bright Data as the final rescue provider. Every request records browser attempts, provider-specific proxy attempts and bytes, asset bytes, AI tokens, storage writes, latency, and estimated COGS. Failed and blocked profiles are not cached.

Freshness

Full profiles use a 90-day cache by default. Supply maxAgeMs to set the maximum age you accept; 0 always refreshes. Failed, blocked, and malformed results are never cached.