Brand API (Brandfetch) Brands API
The Brands API from Brand API (Brandfetch) — the tag-split refinement of the earlier single-operation harvest, superseded by the full nine-operation spec on the Brandfetch API entry above.
The Brands API from Brand API (Brandfetch) — the tag-split refinement of the earlier single-operation harvest, superseded by the full nine-operation spec on the Brandfetch API entry above.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/brand-api-brands-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Brands API
version: '1.0'
description: 'Operations tagged brands across 2 of this provider''s published API definitions: brand-api-brandfetch-openapi.yml, brand-api-brands-api-openapi.yml. Each path carries the servers of the definition it was published in.'
servers:
- url: https://api.brandfetch.io
- url: https://api.brandfetch.io/v2
tags:
- name: brands
paths:
/v2/brands/{identifier}:
get:
summary: Get brand data
description: Get brand data using a Domain, Brand ID, ISIN, Stock/ETF ticker, or Crypto symbol
operationId: getBrandData
tags:
- brands
security:
- bearerAuth: []
parameters:
- name: identifier
in: path
description: 'Identifier to retrieve brand data. Accepted formats:
- **Domain:** `nike.com`
- **Brand ID:** `id_0dwKPKT`
- **Stock or ETF ticker:** `NKE`
- **ISIN:** `US6541061031`
- **Crypto symbol:** `BTC`, `ETH`
**Note:** When using this generic endpoint, the identifier is resolved in the following order: `domain` → `ticker` → `isin` → `crypto`. To avoid naming collisions, use explicit type routes: `/v2/brands/{type}/{identifier}` where `type` can be `domain`, `ticker`, `isin`, or `crypto`.'
required: true
schema:
type: string
examples:
domain:
summary: Domain
value: nike.com
brandId:
summary: Brand ID
value: id_0dwKPKT
ISIN:
summary: ISIN
value: US6541061031
stockSymbol:
summary: Stock or ETF ticker
value: NKE
cryptoSymbol:
summary: Crypto symbol
value: BTC
- name: allowNsfw
in: query
required: false
description: 'Brandfetch evaluates brands for NSFW content and reserves the right to not return inappropriate brands. Depending on the severity, a brand may either not be returned at all (`404`), or be returned with its `isNsfw` property set to `true`. The `allowNsfw` query parameter lets you control this behavior:
- **Not set** (default) — Some NSFW brands are not returned (`404`), others are returned with `isNsfw: true`.
- **`true`** — Returns the brand regardless of its NSFW status.
- **`false`** — Filters out all brands flagged as NSFW (returns `404`).'
schema:
type: boolean
responses:
'200':
description: Successful request.
content:
application/json:
schema:
$ref: '#/components/schemas/BrandResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Unauthorized
'404':
description: <Not Found> or <Invalid Domain Name>
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- <Not Found> or <Invalid Domain Name>
'429':
description: API key quota exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- API key quota exceeded
servers:
- url: https://api.brandfetch.io
/v2/brands/domain/{domain}:
get:
summary: Get brand data by domain
description: Get brand data using a domain name
operationId: getBrandDataByDomain
tags:
- brands
security:
- bearerAuth: []
parameters:
- name: domain
in: path
description: Domain name (e.g., `nike.com`)
required: true
schema:
type: string
examples:
domain:
summary: Domain
value: nike.com
- name: allowNsfw
in: query
required: false
description: 'Brandfetch evaluates brands for NSFW content and reserves the right to not return inappropriate brands. Depending on the severity, a brand may either not be returned at all (`404`), or be returned with its `isNsfw` property set to `true`. The `allowNsfw` query parameter lets you control this behavior:
- **Not set** (default) — Some NSFW brands are not returned (`404`), others are returned with `isNsfw: true`.
- **`true`** — Returns the brand regardless of its NSFW status.
- **`false`** — Filters out all brands flagged as NSFW (returns `404`).'
schema:
type: boolean
responses:
'200':
description: Successful request.
content:
application/json:
schema:
$ref: '#/components/schemas/BrandResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Unauthorized
'404':
description: <Not Found> or <Invalid Domain Name>
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- <Not Found> or <Invalid Domain Name>
'429':
description: API key quota exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- API key quota exceeded
servers:
- url: https://api.brandfetch.io
/v2/brands/ticker/{ticker}:
get:
summary: Get brand data by Stock or ETF ticker
description: Get brand data using a Stock or ETF ticker
operationId: getBrandDataByTicker
tags:
- brands
security:
- bearerAuth: []
parameters:
- name: ticker
in: path
description: Stock or ETF ticker (e.g., `NKE`, `QQQ`)
required: true
schema:
type: string
examples:
ticker:
summary: Stock or ETF ticker
value: NKE
- name: allowNsfw
in: query
required: false
description: 'Brandfetch evaluates brands for NSFW content and reserves the right to not return inappropriate brands. Depending on the severity, a brand may either not be returned at all (`404`), or be returned with its `isNsfw` property set to `true`. The `allowNsfw` query parameter lets you control this behavior:
- **Not set** (default) — Some NSFW brands are not returned (`404`), others are returned with `isNsfw: true`.
- **`true`** — Returns the brand regardless of its NSFW status.
- **`false`** — Filters out all brands flagged as NSFW (returns `404`).'
schema:
type: boolean
responses:
'200':
description: Successful request.
content:
application/json:
schema:
$ref: '#/components/schemas/BrandResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Unauthorized
'404':
description: <Not Found>
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- <Not Found>
'429':
description: API key quota exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- API key quota exceeded
servers:
- url: https://api.brandfetch.io
/v2/brands/isin/{isin}:
get:
summary: Get brand data by ISIN
description: Get brand data using an ISIN code
operationId: getBrandDataByIsin
tags:
- brands
security:
- bearerAuth: []
parameters:
- name: isin
in: path
description: ISIN code (e.g., `US6541061031`)
required: true
schema:
type: string
examples:
isin:
summary: ISIN
value: US6541061031
- name: allowNsfw
in: query
required: false
description: 'Brandfetch evaluates brands for NSFW content and reserves the right to not return inappropriate brands. Depending on the severity, a brand may either not be returned at all (`404`), or be returned with its `isNsfw` property set to `true`. The `allowNsfw` query parameter lets you control this behavior:
- **Not set** (default) — Some NSFW brands are not returned (`404`), others are returned with `isNsfw: true`.
- **`true`** — Returns the brand regardless of its NSFW status.
- **`false`** — Filters out all brands flagged as NSFW (returns `404`).'
schema:
type: boolean
responses:
'200':
description: Successful request.
content:
application/json:
schema:
$ref: '#/components/schemas/BrandResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Unauthorized
'404':
description: <Not Found> or <Invalid ISIN>
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- <Not Found> or <Invalid ISIN>
'429':
description: API key quota exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- API key quota exceeded
servers:
- url: https://api.brandfetch.io
/v2/brands/crypto/{symbol}:
get:
summary: Get brand data by crypto symbol
description: Get brand data using a crypto symbol
operationId: getBrandDataByCrypto
tags:
- brands
security:
- bearerAuth: []
parameters:
- name: symbol
in: path
description: Crypto symbol (e.g., `BTC`, `ETH`). Uppercase preferred.
required: true
schema:
type: string
examples:
crypto:
summary: Crypto symbol
value: BTC
- name: allowNsfw
in: query
required: false
description: 'Brandfetch evaluates brands for NSFW content and reserves the right to not return inappropriate brands. Depending on the severity, a brand may either not be returned at all (`404`), or be returned with its `isNsfw` property set to `true`. The `allowNsfw` query parameter lets you control this behavior:
- **Not set** (default) — Some NSFW brands are not returned (`404`), others are returned with `isNsfw: true`.
- **`true`** — Returns the brand regardless of its NSFW status.
- **`false`** — Filters out all brands flagged as NSFW (returns `404`).'
schema:
type: boolean
responses:
'200':
description: Successful request.
content:
application/json:
schema:
$ref: '#/components/schemas/BrandResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Unauthorized
'404':
description: <Not Found> or <Invalid Crypto Symbol>
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- <Not Found> or <Invalid Crypto Symbol>
'429':
description: API key quota exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- API key quota exceeded
servers:
- url: https://api.brandfetch.io
/v2/brands/transaction:
post:
summary: Get brand data from a transaction
description: Turn payment transactions into merchant data
operationId: getBrandFromTransaction
tags:
- brands
security:
- bearerAuth: []
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
transactionLabel:
type: string
description: The raw transaction text.
example: STARBUCKS 1523 OMAHA NE
countryCode:
type: string
description: An ISO 3166-1 alpha-2 country code indicating the country where the transaction took place.
example: US
required:
- transactionLabel
- countryCode
responses:
'200':
description: Successful request.
content:
application/json:
schema:
$ref: '#/components/schemas/BrandResponse'
'400':
description: Bad Request
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Bad Request
'401':
description: Unauthorized
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Unauthorized
'404':
description: Not Found
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- Not Found
'429':
description: API key quota exceeded
content:
application/json:
schema:
type: object
properties:
message:
type: string
enum:
- API key quota exceeded
servers:
- url: https://api.brandfetch.io
/brands/{domainOrId}:
get:
summary: Retrieve brand data by domain or ID
description: Fetches data for a brand based on its domain or unique identifier.
parameters:
- name: domainOrId
in: path
required: true
description: The domain or unique identifier of the brand
schema:
type: string
- name: Authorization
in: header
required: true
description: Bearer authentication header of the form `Bearer <token>`.
schema:
type: string
responses:
'200':
description: Successfully retrieved brand data
content:
application/json:
schema:
type: object
properties:
id:
type: string
description: Unique identifier for the brand
name:
type: string
nullable: true
description: Brand name
domain:
type: string
description: Brand website URL
claimed:
type: boolean
description: Indicates if the brand profile is claimed by its owner
description:
type: string
nullable: true
description: Short description of the brand
longDescription:
type: string
nullable: true
description: Long description of the brand
links:
type: array
description: Social media links for the brand
items:
type: object
properties:
name:
type: string
description: Name of the social platform
url:
type: string
description: URL to the brand's social profile
logos:
type: array
description: Logos, symbols & icons of the brand
items:
type: object
properties:
theme:
type: string
description: Theme of the logo, e.g., dark
formats:
type: array
items:
type: object
properties:
src:
type: string
description: Source URL of the logo
format:
type: string
description: Format of the logo file (e.g., svg)
height:
type: integer
width:
type: integer
size:
type: integer
background:
type: string
colors:
type: array
description: Color palette of the brand
items:
type: object
properties:
hex:
type: string
description: Hex code of the color
type:
type: string
description: Type of color (e.g., accent)
brightness:
type: integer
fonts:
type: array
description: Fonts used by the brand
items:
type: object
properties:
name:
type: string
description: Font name
type:
type: string
description: Font type (e.g., title, body)
origin:
type: string
description: Origin of the font (e.g., google)
originId:
type: string
weights:
type: array
items:
type: object
images:
type: array
description: Banner and other images for the brand
items:
type: object
properties:
formats:
type: array
items:
type: object
properties:
src:
type: string
description: Source URL of the image
format:
type: string
description: Format of the image file
height:
type: integer
width:
type: integer
size:
type: integer
background:
type: string
tags:
type: array
items:
type: object
type:
type: string
qualityScore:
type: number
description: Quality score for the brand data (0-1)
company:
type: object
description: Firmographic data for the brand's company
properties:
employees:
type: integer
foundedYear:
type: integer
industries:
type: array
items:
type: object
properties:
id:
type: string
score:
type: integer
slug:
type: string
name:
type: string
emoji:
type: string
parent:
type: array
items:
type: object
properties:
id:
type: string
slug:
type: string
name:
type: string
emoji:
type: string
kind:
type: string
location:
type: object
properties:
city:
type: string
country:
type: string
countryCode:
type: string
region:
type: string
state:
type: string
subregion:
type: string
isNsfw:
type: boolean
description: true if the brand is not safe for work
urn:
type: string
description: Uniform Resource Name for the brand
'400':
description: Bad request
'401':
description: Unauthorized
'404':
description: Brand not found
'429':
description: Rate limit exceeded
tags:
- brands
servers:
- url: https://api.brandfetch.io/v2
components:
schemas:
BrandResponse:
type: object
properties:
id:
type: string
description: Unique identifier for the brand
name:
type:
- string
- 'null'
description: Brand name
domain:
type: string
description: Brand website URL
claimed:
type: boolean
description: Set to true if the owner of the brand claimed its brand profile on [Brandfetch](https://brandfetch.com)
description:
type:
- string
- 'null'
description: Brand description
longDescription:
type:
- string
- 'null'
description: Brand long description
links:
type: array
items:
type: object
properties:
name:
type: string
description: Name of the social media platform
enum:
- twitter
- facebook
- instagram
- github
- youtube
- linkedin
- crunchbase
url:
type: string
description: URL of the social media profile
description: Social media links of the brand
logos:
type: array
items:
type: object
properties:
theme:
type:
- string
- 'null'
description: 'See logo theme. Possible values:
- **dark**: A dark logo should be displayed on a light background (e.g. #ffffff)
- **light**: A light logo should be displayed on a dark background (e.g. #000000)'
enum:
- dark
- light
- null
formats:
type: array
items:
$ref: '#/components/schemas/Format'
description: A list of format objects containing files in different formats
tags:
type: array
items:
type: object
properties: {}
description: 'A list of string attached to the logo. For example, if the logo icon is "photographic" rather than a logomark. Possible values:
- **photographic**: The asset image is photographic in nature. For example, if this tag is present on an icon or Logo asset, it means the image has photographic qualities and is likely not a typical brand logotype or logomark graphic.
- **portrait**: The asset image is a portrait or portrait-like. This is often the case when a sole proprietorship or small brand uses a self portrait as their logo or icon.'
type:
type: string
description: 'See logo type. Possible values:
- **icon**: The icon that is used on social profiles (e.g. [Tesla''s social icon](https://cdn.brandfetch.io/tesla.com/icon))
- **logo**: The horizontal logo, seen on large surfaces (e.g. [Tesla''s logo](https://asset.brandfetch.io/id2S-kXbuK/idAJ5NMLPG.svg))
- **symbol**: The universal mark that abstractly represents the brand (e.g. [Tesla''s T symbol](https://asset.brandfetch.io/id2S-kXbuK/idM-t614MT.svg))
- **other**: Other is used to refer to any type of logo that is not the primary one. (e.g. Amazon Kindle Logo)'
enum:
- icon
- logo
- symbol
- other
description: Logos, symbols & icons of the brand
colors:
type: array
items:
type: object
properties:
hex:
type: string
description: Color HEX code
type:
type: string
description: 'Type of the color. Possible values:
- **accent**: The main color that represents the brand (used to draw attention e.g. call to action button)
- **dark**: The darker color of the brand (used for surfaces or backgrounds)
- **light**: The lighter color of the brand (used for surfaces or backgrounds)
- **brand**: The full-color scheme of the brand (used to create color palettes users can pick from)'
enum:
- accent
- dark
- light
- brand
brightness:
type: number
description: Color brightness. Calculated based on the standard formula 0.2126*R + 0.7152*G + 0.0722*B
format: float
description: Accent, dark, light & palette colors of the brand
fonts:
type: array
items:
type: object
properties:
name:
type:
- string
- 'null'
description: Font family
type:
type: string
description: Font type
enum:
- title
- body
origin:
type: string
description: 'See font origin. Possible values:
- **google**: The font that''s hosted on Google Font
- **custom**: The font that has been uploaded by the brand itself
- **system**: The font that''s already installed on the user''s operating system (see example)'
enum:
- google
- custom
- system
originId:
type:
- string
- 'null'
description: Font origin ID
weights:
type: array
items:
type: object
properties: {}
description: Title & body fonts of the brand
images:
type: array
items:
type: object
properties:
formats:
type: array
items:
$ref: '#/components/schemas/Format'
description: Available formats of the image
tags:
type: array
items:
type: object
properties: {}
description: Tags associated with the image
type:
type: string
description: Image type
enum:
- banner
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/brand-api/refs/heads/main/openapi/brand-api-brands-api-openapi.yml