FREE BRAND API

Brand data from any domain. Free.

One read-only GET returns the brand kit for a public domain: company name and description, logo, colour palette, fonts and style signals.

  • Free
  • No API key
  • No account required
APIcurl https://brand.replynodes.com/linear.app
CLInpx @replynodes/brand-kit linear.app

Brand Kit CLI

Give your coding agent the brand context of any website.

The official @replynodes/brand-kit CLI fetches logos, colours, fonts and design context from a public domain so Claude Code, Cursor, Codex and other coding agents can build with the right visual language.

Free and accountless: no signup, no API key. It uses the same free Brand API underneath.

Run it from your project

npx @replynodes/brand-kit linear.app
  • Build brand-aware interfaces
  • Generate landing pages and marketing assets
  • Give coding agents visual and design context

Agent Skill

Give any coding agent brand context with one command.

The brand-kit agent skill lets Claude Code, Cursor, Codex and other agents fetch a complete brand kit — logo, colours, fonts, description — from a bare domain and apply it directly to generated code, components, and designs.

This skill works entirely with the free, zero-auth public endpoints. No signup, no API key, and no ReplyNodes credits are required.

View on skills.sh →

Install

npx skills add replynodes/replynodes-agent-skills/skills/brand-kit

You want your coding agent (Claude Code, Cursor, Codex, etc.) to fetch and apply a company's visual identity — logo, colours, fonts, and description — from just a domain name.

Try it

Fetch the brand kit for linear.app and use the logo, colours, and fonts to style a new landing page component.

Result (compact)

Returns a structured brand kit with company name, domain, description, logo URLs (favicon, SVG, apple-touch-icon), colour palette with usage labels and counts (e.g., { "hex": "#626366", "usage": "Primary", "count": 12 }), font families (e.g., ["InterVariable"]), and styleguide status. Example: GET https://brand.replynodes.com/linear.app → 200 OK, source: brand-intelligence.

Requirement: Free — no API key, no account, no credits

What you get

A real response, field by field.

Fetched from the live endpoint for linear.app and reproduced here exactly as it was returned — no mock data, nothing to sign up for.

GET https://brand.replynodes.com/linear.app200 OK · served from cache · source: brand-intelligence

Company identity

Linear

linear.app

Purpose-built for planning and building products with AI agents.

Logos & assets

  • favicon.icohttps://linear.app/favicon.ico?v=2
  • favicon.svghttps://linear.app/static/favicon.svg?v=2
  • apple-touch-icon.pnghttps://linear.app/static/apple-touch-icon.png?v=2
  • svg.inline(inline-svg) · returned as a placeholder, not a fetchable URL
  • og_imageimagehttps://linear.app/api/og/main?title=Linear&v=4

Colors

  • #9C9DA1Text · 74 uses
  • #626366Primary · 12 uses
  • #6B6B6BText · 6 uses
  • #FFEBC6Accent · 6 uses
  • #27A644Secondary · 4 uses
  • #191D20Unknown · 4 uses
  • #F34E52Unknown · 4 uses
  • #585A5CUnknown · 3 uses
  • #FFDF9FUnknown · 2 uses
  • #83DCDCUnknown · 2 uses

Fonts

  • InterVariable

Font families are extracted from the public page — not every site exposes them.

Style information

  • styleguide: partial
  • Text
  • Primary
  • Accent
  • Secondary
  • Unknown

The styleguide merges the same palette and font list shown above, adding a role per colour and its own extraction status. Coverage varies by domain: the same endpoint returns 1 colour and no font list for replynodes.com, because those signals are not exposed on every site.

Metadata

  • fetched_at2026-09-26T13:54:05Z
  • cachedtrue
  • cache_ttl86400 seconds
  • sourcebrand-intelligence
curl https://brand.replynodes.com/linear.app
Raw JSON (trimmed) · same request
{
  "domain": "linear.app",
  "url": "https://linear.app",
  "name": "Linear",
  "description": "Purpose-built for planning and building products with AI agents.",
  "favicon": "https://linear.app/favicon.ico?v=2",
  "logos": [
    {
      "kind": "favicon.ico",
      "url": "https://linear.app/favicon.ico?v=2"
    },
    {
      "kind": "favicon.svg",
      "url": "https://linear.app/static/favicon.svg?v=2"
    },
    {
      "kind": "apple-touch-icon.png",
      "url": "https://linear.app/static/apple-touch-icon.png?v=2"
    }
  ],
  "colors": [
    {
      "hex": "#9C9DA1",
      "usage": "Text",
      "count": 74
    },
    {
      "hex": "#626366",
      "usage": "Primary",
      "count": 12
    },
    {
      "hex": "#6B6B6B",
      "usage": "Text",
      "count": 6
    }
  ],
  "fonts": [
    "InterVariable"
  ],
  "styleguide": {
    "status": "partial",
    "colors": [
      {
        "role": "Text",
        "value": "#9C9DA1",
        "source": "brand_extraction",
        "count": 74
      },
      {
        "role": "Primary",
        "value": "#626366",
        "source": "brand_extraction",
        "count": 12
      }
    ]
  },
  "meta": {
    "cached": true,
    "fetched_at": "2026-09-26T13:54:05Z",
    "cache_ttl_seconds": 86400,
    "source": "brand-intelligence"
  }
}

Full field reference, error codes and limits →

Use cases

What developers build with it.

  • Company logos in CRM and customer lists

    Resolve a domain to its logo and name when a record is created.

  • Generate brand-aware UI

    Pull colours, fonts and a logo before rendering an interface or asset.

  • Enrich company and domain records

    Attach structured identity to a domain you already store.

  • Build company directories

    Populate name, logo and description for every listed company.

  • Generate brand kits

    Assemble a starting palette and type stack for a new project.

  • Give AI agents brand context

    One GET the agent can call before it writes, designs or drafts.

  • Generate branded presentations and content

    Theme slides and documents from the company's own colours.

  • Enrich leads with brand identity

    Add logo and style signals to inbound or outbound lead data.

Quick start

Copy the request. Paste your domain.

No key, no account — use the API directly or through your agent. Replace the example domain with yours and read the JSON.

cURL
curl https://brand.replynodes.com/linear.app

Any shell with curl

JavaScript / fetch
const res = await fetch("https://brand.replynodes.com/linear.app");
const kit = await res.json();

console.log(kit.name, kit.colors[0]?.hex, kit.fonts);

Browser or Node 18+ — no package, no key

Python
import json
import urllib.request

with urllib.request.urlopen("https://brand.replynodes.com/linear.app") as response:
    kit = json.load(response)

print(kit["name"], kit["fonts"])

Standard library only — no pip install

AI agent / HTTP tool
GET https://brand.replynodes.com/linear.app
Accept: application/json

# or hand the job to an agent:
# "Fetch https://brand.replynodes.com/<domain> and use name, logo, colors,
#  fonts and description as brand context."

Any tool that can issue a GET request

Brand Kit CLI
npx @replynodes/brand-kit linear.app

Claude Code, Cursor, Codex and other coding agents

Discover more

The Brand API is one free capability.

ReplyNodes is a read-only gateway for public data. When a project needs more than brand signals, the same host serves the rest of the catalog — each with its own docs.

  • Logo API

    Only need a logo image per domain, as a plain image URL? The Logo API returns exactly that.

    Open the Logo API →
  • Markdown API

    Need a public page as clean markdown rather than brand signals? Fetch one URL as readable text with the Markdown API.

    Open the Markdown API →
  • Free API starter kit

    Want the public Markdown, Brand and Logo endpoints together? Start with the free acquisition hub for copy-paste examples and links.

    Get the free starter kit →
  • Agent Skills

    Building with an AI agent? Browse the canonical ReplyNodes skills source for maintained agent-facing setup and capability links.

    Open the Agent Skills repo →
  • Web context docs

    Need the page itself as clean markdown, a crawl or a sitemap rather than brand signals? md.replynodes.com/{domain} returns the page as markdown.

    See the web context guide →
  • Context APIs

    Web search, Reddit, YouTube, App Store, Google Play and more — one gateway for public data.

    Explore all APIs →

FAQ

Brand API questions.

What is the ReplyNodes Brand API?

A free brand data API. One unauthenticated GET to https://brand.replynodes.com/{domain} returns a JSON brand kit for a public domain: company name and description, logo and other public image assets, the extracted colour palette, font families, and style information where the site exposes it.

Do I need an API key or an account?

No. The Brand API is free and zero-auth: no signup, no API key, no credits and no billing account. Send a bare public domain and read the JSON.

Do I need an SDK or CLI?

Neither is required. Use the Brand API directly with curl, fetch or any HTTP client, or use the official @replynodes/brand-kit CLI when you want a coding agent to fetch and apply brand context. Both free workflows work without signup or an API key.

What exactly is in the response?

Company identity (name, domain, description), logos and public image assets such as the favicon and og_image, the colour palette with a usage label and occurrence count per colour, font families, a styleguide object with its own extraction status, and request metadata. Which fields appear depends on what the public page exposes.

Is there a free Brandfetch or logo.dev alternative?

If you need brand data for a domain without signing up for a key, this endpoint returns the publicly available signals for free and without authentication. It reads public page data only and makes no claim of feature parity with commercial brand-data vendors — check each vendor for its own coverage, limits and terms.

Can AI agents use it?

Yes, and it is the simplest ReplyNodes capability to hand to an agent: "https://brand.replynodes.com/<domain>" is a plain GET that returns JSON, with no credential to store or rotate. Agents commonly use it to attach a company's logo, colours and fonts to generated UI, briefs and documents.

What are the limits and caching behaviour?

The endpoint allows 20 requests per minute per IP. Successful responses are cached for 24 hours per domain, so repeat lookups are served from cache and the upstream site is not fetched again.

What input does the endpoint accept?

A bare public domain only — no scheme, port or path. A GET to the endpoint root with no domain returns a small usage document instead of a kit.

Start with a domain.

Copy the request, paste your domain, read the kit. Nothing to install and nothing to sign up for.