Reference · Tools
Brandfetch
Retrieve brand assets (logos, colors, fonts, company info, industry data) for any company by domain name using the Brandfetch API.
The Brandfetch node looks up brand assets for any company by domain name, returning your choice of logos, color palettes, fonts, or company profile data from the Brandfetch API. Run it once per domain per operation — for example, pull a client's brand colors automatically whenever a new account is created in your CRM. Logo lookups can also download the actual image files as binary data for immediate use downstream.
- Node type
- Action (binary)
- Parameters
- 6
- Outputs
- Output, Error
- Credentials
- Brandfetch API
Brandfetch
Retrieve brand logos, colors, fonts, and company info by domain
Overview
Brandfetch returns brand data for any company, looked up by domain name. This tool calls the Brandfetch API and gives you one of five slices of that data per run: logo and icon metadata (optionally downloading the images themselves as binary), the brand colour palette, the brand fonts, company data such as employee count, founding year, location and industries, or the full brand record. Downloading images is available on the logo operation only, and is the single case where this node produces binary data.
Category: Marketing
Tool Name: brandfetch
Version: 1
Appearance: Icon: lucide-Palette | Color: #5E60E7
Node Type
Action (Binary) — handles file/binary data operations
Input / Output
| Direction | Port(s) |
|---|---|
| Input | Input |
| Output | Output, Error |
Credentials
This tool requires Brandfetch API credentials. See the Credentials Guide for setup instructions.
Operations
| Operation | Value | Description |
|---|---|---|
| Color | color | Return a company’s colors |
| Company | company | Return a company’s data |
| Font | font | Return a company’s fonts |
| Industry | industry | Return a company’s industry and full brand data |
| Logo | logo | Return a company’s logo & icon |
Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| Domain | string | Yes | — | The domain name of the company (e.g., “brandfetch.com”). Supports expressions like {{ $json.domain }}. |
| Download | boolean | No | false | Whether to download logo/icon images as binary data. (shown when Operation is logo) |
| Image Type | multiOptions | Yes | ["logo", "icon"] | Which image types to download. (shown when Operation is logo and Download is true) |
Options: icon, logo | ||||
| Image Format | multiOptions | Yes | ["png"] | The image format in which the logo should be returned. (shown when Operation is logo and Download is true) |
Options: png, svg | ||||
| Max Concurrency | number | No | 10 | Maximum number of items to process concurrently. |
Output Data
One output item per input item — no operation on this node fans out. The result is merged onto the input item JSON: the node adds one top-level property (or, for industry, the whole brand record) next to the fields that were already on the item, so upstream data survives.
| Operation | Added to the item JSON |
|---|---|
logo | logos — the logo and icon entries, each with its available formats |
color | colors — the brand colour palette |
font | fonts — the brand font entries |
company | company — employees, founded year, location, industries and the rest of the company record |
industry | the full Brandfetch brand response, spread at the top level of the item |
Everything inside those properties is returned by the Brandfetch API as-is; the node does not rename or reshape it.
Binary. With Operation logo and Download on, each selected type/format combination that the brand actually publishes is downloaded and attached as its own binary property named {type}_{format} — logo_png, logo_svg, icon_png, icon_svg — with the file named {type}_{domain}.{format}. Binary already on the input item is carried over first, so upstream files are not lost. A combination the brand does not publish, or an image that fails to download, is skipped rather than erroring. On every other operation, and on logo with Download off, the input item’s binary is simply forwarded and no new binary is created.
Reference the result downstream by expression, e.g. {{ $json.company.employees }} or {{ $json.colors }}.
Usage Examples
- Download logo and icon for github.com as PNG
- Get brand colors for a list of domains
- Retrieve company info for stripe.com
- Fetch all brand fonts for a domain
- Download SVG logos for multiple companies
Example Configuration
Look up logo metadata without downloading any files:
{
"type": "brandfetch",
"parameters": {
"operation": "logo",
"domain": "apple.com"
}
}
Download both the logo and the icon, in PNG and SVG, for the domain on each item:
{
"type": "brandfetch",
"parameters": {
"operation": "logo",
"domain": "{{ $json.domain }}",
"download": true,
"imageTypes": ["logo", "icon"],
"imageFormats": ["png", "svg"]
}
}
Fetch the brand colour palette:
{
"type": "brandfetch",
"parameters": {
"operation": "color",
"domain": "spotify.com"
}
}
Enrich a list of leads with company data, throttled to five concurrent lookups:
{
"type": "brandfetch",
"parameters": {
"operation": "company",
"domain": "{{ $json.companyDomain }}",
"maxConcurrency": 5
}
}
Pull the full brand record in one call:
{
"type": "brandfetch",
"parameters": {
"operation": "industry",
"domain": "tesla.com"
}
}
Error Handling
| Mode | Behavior |
|---|---|
| stop | Halts workflow on first error |
| continue | Skips failed items, passes successful ones through |
| errorPort | Routes failed items to Error output port |
Tips
Fetch brand logos, colors, fonts, and company data for any domain via the Brandfetch API; optionally download logo/icon images as binary.
Important Notes
- Domain is always required and must be a valid domain name — not a full URL and not a company name.
- The download parameters (Download, Image Type, Image Format) only appear on the
logooperation; they have no effect anywhere else. - With Download off you get logo metadata, including the source URLs, but no image files.
- Several image types and formats can be selected at once, and each produced file lands on its own binary property.
- Each operation adds a different property to the item, so a downstream node that reads
{{ $json.colors }}will find nothing if the node ran thecompanyoperation.
Frequently asked questions
What exactly do I pass as the domain — a URL or the company name?
You must pass a bare domain name, such as `stripe.com`. A full URL like `https://stripe.com/payments` will not work, and neither will a plain company name like 'Stripe'. The domain field is required on every operation, so getting this right is the first thing to check if you see errors.
How do I actually get logo image files, not just metadata?
Choose the `logo` operation and enable the **Download** toggle. With Download off, the node returns logo metadata including source URLs but no files. With it on, each image you select (by Image Type and Image Format) is saved as a separate binary property on the output item. Note that Download, Image Type, and Image Format only appear on the `logo` operation — they have no effect on any other operation.
I ran this node twice — once for colors and once for company data — but my downstream node can't find `$json.colors`. What's wrong?
Each operation writes a different property to the output item: the `colors` operation sets `$json.colors`, the `company` operation sets company fields, and so on. If you need both, you must run two separate Brandfetch nodes (one per operation) and merge the results before your downstream step reads them.
What credential do I need and where do I get it?
The node requires a **Brandfetch API** credential (`brandfetchApi`). You obtain an API key directly from Brandfetch at brandfetch.com, then add it once in BusyBot's credential manager. All Brandfetch nodes in your workspace can share the same credential.
What happens when the domain isn't found or the API returns an error?
The node routes failed runs to its **Error** output rather than the main **Output**. This lets you connect a separate branch to handle missing brands — for example, logging the domain or substituting a placeholder — without interrupting the rest of your workflow.
Build with the Brandfetch node
Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Brandfetch API credentials first.
Open BusyBotLast updated . Spotted something wrong? Tell us.