Skip to content

Endpoints

Brand

Logo, icon, colours, fonts, name and socials for any domain. Cached globally.

Brand returns the visual identity of a domain: name, description, logos and icon (re-hosted and sanitised), colours with a readable text colour and WCAG contrast, fonts and social links. Results are cached globally, so popular domains come back in milliseconds. 5 credits for a fresh lookup, 1 credit when served from cache.

Example#

curl "https://api.vermin.dev/v1/brand?domain=stripe.com" \
  -H "Authorization: Bearer $VERMIN_API_KEY"

Parameters#

Query parameters
  • domainstringqueryrequired
    A domain or URL (IDNs accepted). Brands are per host: the path is ignored and a leading www. is dropped.
  • maxAgeintegerquery
    Accept a cached result up to this age (ms). Default 30 days. 0 forces a fresh lookup. Cached results older than 7 days are refreshed in the background.

Response#

200 OK
{
  "success": true,
  "data": {
    "domain": "stripe.com",
    "name": "Stripe",
    "description": "Financial infrastructure to grow your revenue.",
    "logo": { "url": "https://api.vermin.dev/artifacts/brand/stripe.com/logo.svg", "type": "logo", "format": "svg", "background": "light" },
    "icon": { "url": "https://api.vermin.dev/artifacts/brand/stripe.com/icon.png", "type": "icon", "format": "png", "width": 256, "height": 256 },
    "colors": [
      { "hex": "#635BFF", "role": "primary", "textColor": "#FFFFFF", "contrast": 4.9 },
      { "hex": "#0A2540", "role": "text", "textColor": "#FFFFFF", "contrast": 15.6 }
    ],
    "fonts": [{ "family": "Sohne", "role": "heading" }],
    "socials": [{ "network": "x", "url": "https://x.com/stripe" }],
    "confidence": 0.96
  },
  "cached": true,
  "credits_used": 1,
  "request_id": "req_01J9V8E1RS"
}
Brand
  • domainstring
  • namestring
  • descriptionstring
  • colorsobject[]
    Show 4 fields
    • hexstringrequired
    • role"primary" | "accent" | "background" | "text"
    • textColorstring
      Readable text colour on this background
    • contrastnumber
      WCAG contrast ratio of textColor on hex (1-21).
  • logosBrandImage[]
    Every image found (icon and logo), each tagged with its type.
  • fontsobject[]
    Show 2 fields
    • familystring
    • role"heading" | "body" | "mono"
  • socialsobject[]
    Show 2 fields
    • networkstring
    • urlstring
  • confidencenumber

Images#

Each image in logo, icon and logos[] has:

  • url: a Vermin-hosted, sanitised copy (SVG scripts stripped) when available, otherwise the site's own URL. Safe to hotlink.
  • sourceUrl: where we found it.
  • type: icon (square, for avatars), logo (the full lockup) or wordmark (text-only).
  • background: which backgrounds it reads well on: light, dark or any. Pick the right one for your theme instead of guessing.

Freshness#

maxAge (ms) controls how old a cached result may be. The default is 30 days; 0 forces a fresh lookup. Cached results older than 7 days are refreshed in the background. If a fresh lookup fails transiently we may serve an older copy with stale: true rather than fail.