curl --request GET \
--url https://api.brandfetch.io/v2/brands/crypto/{symbol} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brandfetch.io/v2/brands/crypto/{symbol}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brandfetch.io/v2/brands/crypto/{symbol}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.brandfetch.io/v2/brands/crypto/{symbol}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.brandfetch.io/v2/brands/crypto/{symbol}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.brandfetch.io/v2/brands/crypto/{symbol}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brandfetch.io/v2/brands/crypto/{symbol}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"domain": "<string>",
"claimed": true,
"description": "<string>",
"longDescription": "<string>",
"links": [
{
"name": "twitter",
"url": "<string>"
}
],
"logos": [
{
"theme": "dark",
"formats": [
{
"src": "<string>",
"format": "svg",
"height": 123,
"width": 123,
"size": 123,
"background": "transparent"
}
],
"tags": [
{}
],
"type": "icon"
}
],
"colors": [
{
"hex": "<string>",
"type": "accent",
"brightness": 123
}
],
"fonts": [
{
"name": "<string>",
"type": "title",
"origin": "google",
"originId": "<string>",
"weights": [
{}
]
}
],
"images": [
{
"formats": [
{
"src": "<string>",
"format": "svg",
"height": 123,
"width": 123,
"size": 123,
"background": "transparent"
}
],
"tags": [
{}
],
"type": "banner",
"pictureMetadata": {
"score": 123,
"rank": 123,
"naturalWidth": 123,
"naturalHeight": 123,
"alt": "<string>",
"sourceUrl": "<string>",
"imageCategory": "<string>",
"categoryConfidence": 123
}
}
],
"qualityScore": 123,
"company": {
"employees": 1,
"financialIdentifiers": {
"isin": [
"<string>"
],
"ticker": [
"<string>"
]
},
"foundedYear": 123,
"industries": [
{
"id": "<string>",
"score": 123,
"slug": "<string>",
"name": "<string>",
"emoji": "<string>",
"parent": [
{
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"emoji": "<string>"
}
]
}
],
"kind": "EDUCATIONAL",
"location": {
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"region": "<string>",
"state": "<string>",
"subregion": "<string>"
}
},
"isNsfw": true,
"urn": "<string>"
}{
"message": "Bad Request"
}{
"message": "Unauthorized"
}{
"message": "Payment required. Either authenticate with a Brandfetch API key (Authorization: Bearer <key>) or pay for this request with x402: sign the payment described in the PAYMENT-REQUIRED header and retry with a PAYMENT-SIGNATURE header.",
"documentation": "https://docs.brandfetch.com/agents/pay-per-request",
"pricing": {
"route": "GET /v2/brands/*",
"price": "$0.10"
},
"resource": "https://api.brandfetch.io/v2/brands/nike.com",
"standingAccess": "For many requests, POST /v2/agents/access (paid the same way) provisions an API key preloaded with prepaid credits."
}{
"message": "<Not Found> or <Invalid Crypto Symbol>"
}{
"message": "API key quota exceeded"
}Brand API by crypto
Get brand data using a crypto symbol. Authenticate with an API key sent as Authorization: Bearer <key>, or pay for the single request with x402 or MPP: https://docs.brandfetch.com/agents/pay-per-request.
curl --request GET \
--url https://api.brandfetch.io/v2/brands/crypto/{symbol} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.brandfetch.io/v2/brands/crypto/{symbol}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.brandfetch.io/v2/brands/crypto/{symbol}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.brandfetch.io/v2/brands/crypto/{symbol}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.brandfetch.io/v2/brands/crypto/{symbol}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.brandfetch.io/v2/brands/crypto/{symbol}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.brandfetch.io/v2/brands/crypto/{symbol}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "<string>",
"name": "<string>",
"domain": "<string>",
"claimed": true,
"description": "<string>",
"longDescription": "<string>",
"links": [
{
"name": "twitter",
"url": "<string>"
}
],
"logos": [
{
"theme": "dark",
"formats": [
{
"src": "<string>",
"format": "svg",
"height": 123,
"width": 123,
"size": 123,
"background": "transparent"
}
],
"tags": [
{}
],
"type": "icon"
}
],
"colors": [
{
"hex": "<string>",
"type": "accent",
"brightness": 123
}
],
"fonts": [
{
"name": "<string>",
"type": "title",
"origin": "google",
"originId": "<string>",
"weights": [
{}
]
}
],
"images": [
{
"formats": [
{
"src": "<string>",
"format": "svg",
"height": 123,
"width": 123,
"size": 123,
"background": "transparent"
}
],
"tags": [
{}
],
"type": "banner",
"pictureMetadata": {
"score": 123,
"rank": 123,
"naturalWidth": 123,
"naturalHeight": 123,
"alt": "<string>",
"sourceUrl": "<string>",
"imageCategory": "<string>",
"categoryConfidence": 123
}
}
],
"qualityScore": 123,
"company": {
"employees": 1,
"financialIdentifiers": {
"isin": [
"<string>"
],
"ticker": [
"<string>"
]
},
"foundedYear": 123,
"industries": [
{
"id": "<string>",
"score": 123,
"slug": "<string>",
"name": "<string>",
"emoji": "<string>",
"parent": [
{
"id": "<string>",
"slug": "<string>",
"name": "<string>",
"emoji": "<string>"
}
]
}
],
"kind": "EDUCATIONAL",
"location": {
"city": "<string>",
"country": "<string>",
"countryCode": "<string>",
"region": "<string>",
"state": "<string>",
"subregion": "<string>"
}
},
"isNsfw": true,
"urn": "<string>"
}{
"message": "Bad Request"
}{
"message": "Unauthorized"
}{
"message": "Payment required. Either authenticate with a Brandfetch API key (Authorization: Bearer <key>) or pay for this request with x402: sign the payment described in the PAYMENT-REQUIRED header and retry with a PAYMENT-SIGNATURE header.",
"documentation": "https://docs.brandfetch.com/agents/pay-per-request",
"pricing": {
"route": "GET /v2/brands/*",
"price": "$0.10"
},
"resource": "https://api.brandfetch.io/v2/brands/nike.com",
"standingAccess": "For many requests, POST /v2/agents/access (paid the same way) provisions an API key preloaded with prepaid credits."
}{
"message": "<Not Found> or <Invalid Crypto Symbol>"
}{
"message": "API key quota exceeded"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Crypto symbol (e.g., BTC, ETH). Uppercase preferred.
Query Parameters
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 withisNsfw: true. true— Returns the brand regardless of its NSFW status.false— Filters out all brands flagged as NSFW (returns404).
When true, the Brand API answers from its store alone. A brand that is already indexed is returned as usual, and a brand that is not is answered with 204 No Content instead of being indexed live, which can take several seconds. Nothing is crawled, and a ticker, ISIN, or crypto symbol that is not yet indexed is not resolved either. A 204 does not count towards your quota. Any value other than true, including omitting the parameter, keeps the default behaviour of indexing the brand live on a miss. Defaults to false.
Response
Successful request. A request paid with MPP whose response was lost can be retried with the same credential for two minutes: it is served from the payment already taken and not charged again.
Unique identifier for the brand
Brand name
Brand website URL
Set to true if the owner of the brand claimed its brand profile on Brandfetch
Brand description
Brand long description
Social media links of the brand
Show child attributes
Show child attributes
Logos, symbols & icons of the brand
Show child attributes
Show child attributes
Accent, dark, light & palette colors of the brand
Show child attributes
Show child attributes
Title & body fonts of the brand
Show child attributes
Show child attributes
Banner, picture & other images of the brand
Show child attributes
Show child attributes
Score between 0-1 which indicates the quality of the data for the given brand. Useful when you don't want to show lower quality brands to your users.
Lower 3rd is poor quality, middle 3rd is OK quality, upper 3rd is high quality. Lower scores indicate that a brand is less likely to be "real". For example, where google.com will score high, my-random-blog.com will score between 0.3-0.4. The score factors in things like data-recency, whether the brand has been claimed, if it has been manually verified by our team, the brand's domain ranking on the web, as well as other factors.
Don't rely on a fixed score for any given brand. The way we calculate this score may change over time as we add new factors, or tweak the weights of existing ones such that a score for a given brand may change. However, they will remain aligned such that scores divide quality into thirds: low, medium, high.
The company object returns firmographic data related to the brand
Show child attributes
Show child attributes
true when the brand is for adult content, e.g. is not safe for work
Uniform Resource Name for the brand
Was this page helpful?