Get a brand's creative insights
curl --request GET \
--url https://app.spyglass.so/api/v1/brands/{id}/insights \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.spyglass.so/api/v1/brands/{id}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.spyglass.so/api/v1/brands/{id}/insights"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"type": "MEDIA_MIX",
"count": 123,
"rows": [
{
"type": "<string>",
"count": 123
}
]
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}Ads
Get a brand's creative insights
Return clustered creative themes for a brand. MEDIA_MIX returns a
breakdown by media type; the other types return weekly buckets plus
ranked totals, highest first.
maxDaysBack filters both the weekly bucket series and ranked
totals to creatives that started within the requested window.
Limited to 120 requests per minute for this endpoint. Costs 1,000 microdollars ($0.0010) per cluster returned, charged against your plan’s monthly credits. The count field is what you were charged for.
GET
/
brands
/
{id}
/
insights
Get a brand's creative insights
curl --request GET \
--url https://app.spyglass.so/api/v1/brands/{id}/insights \
--header 'Authorization: Bearer <token>'const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.spyglass.so/api/v1/brands/{id}/insights', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://app.spyglass.so/api/v1/brands/{id}/insights"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text){
"type": "MEDIA_MIX",
"count": 123,
"rows": [
{
"type": "<string>",
"count": 123
}
]
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": [
{
"path": "<string>",
"message": "<string>"
}
]
}
}Authorizations
An API key from Settings → API, prefixed sg_live_.
Path Parameters
Brand id returned by POST /brands/search.
Query Parameters
Available options:
USP, HOOK, TARGET_PERSONA, MEDIA_MIX Required range:
1 <= x <= 90Required range:
1 <= x <= 500