Resolve many brands
curl --request POST \
--url https://api.hydrafetch.com/v1/web/brand \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"domains": [
"stripe.com",
"linear.app"
]
}
'import requests
url = "https://api.hydrafetch.com/v1/web/brand"
payload = { "domains": ["stripe.com", "linear.app"] }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({domains: ['stripe.com', 'linear.app']})
};
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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'domains' => [
'stripe.com',
'linear.app'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hydrafetch.com/v1/web/brand"
payload := strings.NewReader("{\n \"domains\": [\n \"stripe.com\",\n \"linear.app\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hydrafetch.com/v1/web/brand")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"domains\": [\n \"stripe.com\",\n \"linear.app\"\n ]\n}")
.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::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domains\": [\n \"stripe.com\",\n \"linear.app\"\n ]\n}"
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 many brands
The same lookup for up to 50 domains at once. Only resolved brands are billed.
POST
/
v1
/
web
/
brand
Resolve many brands
curl --request POST \
--url https://api.hydrafetch.com/v1/web/brand \
--header 'Content-Type: application/json' \
--header 'X-API-Key: <api-key>' \
--data '
{
"domains": [
"stripe.com",
"linear.app"
]
}
'import requests
url = "https://api.hydrafetch.com/v1/web/brand"
payload = { "domains": ["stripe.com", "linear.app"] }
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({domains: ['stripe.com', 'linear.app']})
};
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 => "POST",
CURLOPT_POSTFIELDS => json_encode([
'domains' => [
'stripe.com',
'linear.app'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hydrafetch.com/v1/web/brand"
payload := strings.NewReader("{\n \"domains\": [\n \"stripe.com\",\n \"linear.app\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-API-Key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hydrafetch.com/v1/web/brand")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"domains\": [\n \"stripe.com\",\n \"linear.app\"\n ]\n}")
.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::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"domains\": [\n \"stripe.com\",\n \"linear.app\"\n ]\n}"
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"
}
}Authorizations
Body
application/json
Example:
["stripe.com", "linear.app"]
Response
One entry per requested domain, in the order you sent them.
One entry per requested domain, in the order you sent them. Null where unresolved.
Show child attributes
Show child attributes
Was this page helpful?