curl --request GET \
--url https://external-api.streamforge.com/brands/{brand_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://external-api.streamforge.com/brands/{brand_id}"
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://external-api.streamforge.com/brands/{brand_id}', 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://external-api.streamforge.com/brands/{brand_id}",
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://external-api.streamforge.com/brands/{brand_id}"
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://external-api.streamforge.com/brands/{brand_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://external-api.streamforge.com/brands/{brand_id}")
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{
"payload": {
"id": "glossier",
"name": "<string>",
"domain": "<string>",
"description": "<string>",
"icon_url": "<string>",
"industry": {
"id": "beauty-personal-care",
"name": "Beauty & Personal Care"
},
"headquarters_country": "<string>",
"window": {
"from": "2025-09-20",
"to": "2026-09-19"
},
"sponsorships": {
"posts": 123,
"creators": 123,
"affiliate_posts": 123,
"platforms": [
{
"platform": "<string>",
"posts": 123
}
],
"first_post_date": "2023-12-25",
"last_post_date": "2023-12-25",
"booking_cadence_days": 123,
"repeat_rate": 123
},
"share_of_voice": {
"value": 123,
"posts": 123,
"industry_posts": 123,
"window": {
"from": "2025-09-20",
"to": "2026-09-19"
}
},
"top_creators": [
{
"id": "<string>",
"name": "<string>",
"posts": 123,
"accounts": [
{
"platform": "<string>",
"profile_id": "<string>",
"handle": "<string>",
"posts": 123,
"avatar_url": "<string>"
}
]
}
]
},
"meta": {
"source": "<string>",
"received_at": "2023-11-07T05:31:56Z",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data_through": "2023-12-25"
}
}{
"error": {
"status": 400,
"message": "Invalid platform or missing required parameter"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 401,
"message": "API key is required"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 403,
"message": "Invalid API key"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 404,
"message": "Profile not found"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 429,
"message": "Rate limit exceeded"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 503,
"message": "Market intelligence data is being refreshed. Try again in a few minutes.",
"code": "intel_unavailable"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}Get brand
One brand’s creator sponsorships over the trailing year of published Market Intelligence data: sponsored posts, distinct creators, platforms, booking cadence and repeat rate, its share of voice in its industry over the last 90 days, and the creators it booked most.
Posts are counted when a creator’s post was detected as a sponsorship of the brand. Affiliate (commission)
posts are reported separately in affiliate_posts and not counted as sponsorships, and posts from brand
accounts (the brand’s own, another brand’s, or one the creator analysis classifies as brand-owned) are left
out. Share of voice follows the Industry Explorer measure: the brand’s posts over every sponsored post in
its industry in the same 90 days.
Costs 0.1 credit. Available with a Streamforge API key only.
curl --request GET \
--url https://external-api.streamforge.com/brands/{brand_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://external-api.streamforge.com/brands/{brand_id}"
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://external-api.streamforge.com/brands/{brand_id}', 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://external-api.streamforge.com/brands/{brand_id}",
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://external-api.streamforge.com/brands/{brand_id}"
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://external-api.streamforge.com/brands/{brand_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://external-api.streamforge.com/brands/{brand_id}")
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{
"payload": {
"id": "glossier",
"name": "<string>",
"domain": "<string>",
"description": "<string>",
"icon_url": "<string>",
"industry": {
"id": "beauty-personal-care",
"name": "Beauty & Personal Care"
},
"headquarters_country": "<string>",
"window": {
"from": "2025-09-20",
"to": "2026-09-19"
},
"sponsorships": {
"posts": 123,
"creators": 123,
"affiliate_posts": 123,
"platforms": [
{
"platform": "<string>",
"posts": 123
}
],
"first_post_date": "2023-12-25",
"last_post_date": "2023-12-25",
"booking_cadence_days": 123,
"repeat_rate": 123
},
"share_of_voice": {
"value": 123,
"posts": 123,
"industry_posts": 123,
"window": {
"from": "2025-09-20",
"to": "2026-09-19"
}
},
"top_creators": [
{
"id": "<string>",
"name": "<string>",
"posts": 123,
"accounts": [
{
"platform": "<string>",
"profile_id": "<string>",
"handle": "<string>",
"posts": 123,
"avatar_url": "<string>"
}
]
}
]
},
"meta": {
"source": "<string>",
"received_at": "2023-11-07T05:31:56Z",
"request_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"data_through": "2023-12-25"
}
}{
"error": {
"status": 400,
"message": "Invalid platform or missing required parameter"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 401,
"message": "API key is required"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 403,
"message": "Invalid API key"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 404,
"message": "Profile not found"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 429,
"message": "Rate limit exceeded"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}{
"error": {
"status": 503,
"message": "Market intelligence data is being refreshed. Try again in a few minutes.",
"code": "intel_unavailable"
},
"meta": {
"request_id": "5e7c0137-1ed3-4b4b-8e5f-3d9cf00f7ac4"
}
}Authorizations
Your API key. Include it in the x-api-key header for all requests.
Path Parameters
Brand id from search or the brand list (the registrable name of its domain)
"glossier"

