Resolve a brand
curl --request GET \
--url https://api.hydrafetch.com/v1/web/brand \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hydrafetch.com/v1/web/brand"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hydrafetch.com/v1/web/brand', 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.hydrafetch.com/v1/web/brand",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.hydrafetch.com/v1/web/brand"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.hydrafetch.com/v1/web/brand")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hydrafetch.com/v1/web/brand")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"domain": "stripe.com",
"name": "Stripe",
"description": "Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.",
"tagline": "Financial infrastructure to grow your revenue.",
"assets": [
{
"kind": "symbol",
"variant": "light",
"url": "https://media.hydrafetch.com/brand/a0/a07c2695173dde0a1ffa.svg",
"format": "svg",
"resolution": {
"width": 180,
"height": 180,
"aspectRatio": 1
},
"colors": [
{
"hex": "#533afd",
"weight": 0.42,
"name": "Indigo",
"role": "primary"
}
],
"blurhash": "LmGk_aoh4sWHohWEWDt506WD?Sod"
}
],
"colors": [
{
"hex": "#533afd",
"weight": 0.42,
"name": "Indigo",
"role": "primary"
}
],
"fonts": [
{
"family": "Sohne",
"weight": 1,
"role": "body"
}
],
"socials": [
{
"platform": "x",
"url": "https://x.com/stripe",
"handle": "stripe"
}
],
"links": {
"pricing": "https://stripe.com/pricing",
"blog": "https://stripe.com/blog",
"careers": "https://stripe.com/jobs",
"contact": "https://stripe.com/contact",
"privacy": "https://stripe.com/privacy",
"terms": "https://stripe.com/legal",
"docs": "https://docs.stripe.com"
},
"sources": {},
"resolvedAt": "2026-08-22T10:14:03.000Z",
"queriedDomain": "stripe.co.uk",
"aliases": [
"<string>"
],
"naics": {
"code": "5223",
"title": "Activities Related to Credit Intermediation",
"level": "industry_group",
"sector": {
"code": "52",
"title": "Finance and Insurance"
},
"confidence": 0.8
},
"email": "[email protected]",
"legalName": "Stripe, Inc."
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "url must be a valid URL"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Missing X-API-Key header. Agents: https://hydrafetch.com/auth.md"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Insufficient credits"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "WORKSPACE_BANNED",
"message": "This workspace has been suspended and cannot make API requests."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Job not found"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "UPSTREAM_UNREACHABLE",
"message": "The origin did not respond to any attempt we made."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded for this workspace and plan."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The summary and json formats are not available."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}Resolve a brand
Everything needed to render a company: logos that suit light and dark backgrounds, its real colours, name, description and social presence. Resolved on the spot if we have never seen the domain, and served from storage after that. Every field states whether the company declared it or we harvested it.
GET
/
v1
/
web
/
brand
Resolve a brand
curl --request GET \
--url https://api.hydrafetch.com/v1/web/brand \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.hydrafetch.com/v1/web/brand"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.hydrafetch.com/v1/web/brand', 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.hydrafetch.com/v1/web/brand",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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.hydrafetch.com/v1/web/brand"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
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.hydrafetch.com/v1/web/brand")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hydrafetch.com/v1/web/brand")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"domain": "stripe.com",
"name": "Stripe",
"description": "Stripe powers online and in-person payment processing and financial solutions for businesses of all sizes.",
"tagline": "Financial infrastructure to grow your revenue.",
"assets": [
{
"kind": "symbol",
"variant": "light",
"url": "https://media.hydrafetch.com/brand/a0/a07c2695173dde0a1ffa.svg",
"format": "svg",
"resolution": {
"width": 180,
"height": 180,
"aspectRatio": 1
},
"colors": [
{
"hex": "#533afd",
"weight": 0.42,
"name": "Indigo",
"role": "primary"
}
],
"blurhash": "LmGk_aoh4sWHohWEWDt506WD?Sod"
}
],
"colors": [
{
"hex": "#533afd",
"weight": 0.42,
"name": "Indigo",
"role": "primary"
}
],
"fonts": [
{
"family": "Sohne",
"weight": 1,
"role": "body"
}
],
"socials": [
{
"platform": "x",
"url": "https://x.com/stripe",
"handle": "stripe"
}
],
"links": {
"pricing": "https://stripe.com/pricing",
"blog": "https://stripe.com/blog",
"careers": "https://stripe.com/jobs",
"contact": "https://stripe.com/contact",
"privacy": "https://stripe.com/privacy",
"terms": "https://stripe.com/legal",
"docs": "https://docs.stripe.com"
},
"sources": {},
"resolvedAt": "2026-08-22T10:14:03.000Z",
"queriedDomain": "stripe.co.uk",
"aliases": [
"<string>"
],
"naics": {
"code": "5223",
"title": "Activities Related to Credit Intermediation",
"level": "industry_group",
"sector": {
"code": "52",
"title": "Finance and Insurance"
},
"confidence": 0.8
},
"email": "[email protected]",
"legalName": "Stripe, Inc."
}
}{
"success": false,
"error": {
"code": "VALIDATION_ERROR",
"message": "url must be a valid URL"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "UNAUTHORIZED",
"message": "Missing X-API-Key header. Agents: https://hydrafetch.com/auth.md"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Insufficient credits"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "WORKSPACE_BANNED",
"message": "This workspace has been suspended and cannot make API requests."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "NOT_FOUND",
"message": "Job not found"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "UPSTREAM_UNREACHABLE",
"message": "The origin did not respond to any attempt we made."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "TOO_MANY_REQUESTS",
"message": "Rate limit exceeded for this workspace and plan."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error"
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}{
"success": false,
"error": {
"code": "SERVICE_UNAVAILABLE",
"message": "The summary and json formats are not available."
},
"meta": {
"requestId": "019e8a3c-9f0b-7c12-88ab-1d2e3f4a5b6c"
}
}Was this page helpful?