Brands report
Visibility, share of voice, position and sentiment for every brand named in the project’s unbranded questions, broken down by any of date, engine, segment and prompt. With prompt as a dimension the band is null. Without date as a dimension the window is limited by the project’s size, in prompt-engine-days; with date it may span 366 days and each page covers whole days. A page weighs 10 against the rate limit.
curl "https://api.citino.ai/v1/projects/{projectId}/reports/brands?from=YYYY-MM-DD&to=YYYY-MM-DD" \
-H "Authorization: Bearer $CITINO_API_KEY"import os
import requests
res = requests.get(
"https://api.citino.ai/v1/projects/{projectId}/reports/brands?from=YYYY-MM-DD&to=YYYY-MM-DD",
headers={"Authorization": f"Bearer {os.environ['CITINO_API_KEY']}"},
)
print(res.json())const res = await fetch("https://api.citino.ai/v1/projects/{projectId}/reports/brands?from=YYYY-MM-DD&to=YYYY-MM-DD", {
headers: {
Authorization: `Bearer ${process.env.CITINO_API_KEY}`,
},
});
console.log(await res.json());{
"scope": {
"from": "2026-11-03",
"to": "2026-11-06",
"engines": [
"chatgpt",
"google-ai-overview",
"perplexity"
],
"segments": [
"wms"
],
"prompt_scope": "category",
"dimensions": [
"date",
"engine"
],
"interval": "day"
},
"items": [
{
"date": "2026-11-03",
"engine": "chatgpt",
"brand": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Acme",
"own": true
},
"visibility": {
"value": 60,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"share_of_voice": {
"value": 66.7,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"position": {
"value": 2,
"unit": "rank",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"sentiment": {
"value": 70,
"unit": "score",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"mentions": 12
},
{
"date": "2026-11-03",
"engine": "chatgpt",
"brand": {
"id": "00000000-0000-4000-8000-000000000002",
"name": "Globex",
"own": false
},
"visibility": {
"value": 30,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"share_of_voice": {
"value": 33.3,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"position": {
"value": 2,
"unit": "rank",
"band": 0,
"n": 6,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"sentiment": {
"value": 70,
"unit": "score",
"band": 0,
"n": 6,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"mentions": 6
},
{
"date": "2026-11-03",
"engine": "perplexity",
"brand": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Acme",
"own": true
},
"visibility": {
"value": 60,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"share_of_voice": {
"value": 66.7,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"position": {
"value": 2,
"unit": "rank",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"sentiment": {
"value": 70,
"unit": "score",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"mentions": 12
}
],
"next_cursor": null,
"has_more": false
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}Authorizations
An API key from Workspace settings → API keys, sent as Authorization: Bearer <key>.
Path Parameters
Query Parameters
First day, inclusive.
^\d{4}-\d{2}-\d{2}$Last day, inclusive.
^\d{4}-\d{2}-\d{2}$Comma-separated: any of date, engine, segment, prompt (no prompt on the URLs report). None gives one row per brand, domain or URL for the window.
With date: the bucket a row covers. Default day.
day, week, month Engine keys (repeat the parameter or separate with commas).
Claimed segment ids.
Prompt ids.
Brand ids (brands report).
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$Domains (domains and URLs reports).
1 <= x <= 200json, csv curl "https://api.citino.ai/v1/projects/{projectId}/reports/brands?from=YYYY-MM-DD&to=YYYY-MM-DD" \
-H "Authorization: Bearer $CITINO_API_KEY"import os
import requests
res = requests.get(
"https://api.citino.ai/v1/projects/{projectId}/reports/brands?from=YYYY-MM-DD&to=YYYY-MM-DD",
headers={"Authorization": f"Bearer {os.environ['CITINO_API_KEY']}"},
)
print(res.json())const res = await fetch("https://api.citino.ai/v1/projects/{projectId}/reports/brands?from=YYYY-MM-DD&to=YYYY-MM-DD", {
headers: {
Authorization: `Bearer ${process.env.CITINO_API_KEY}`,
},
});
console.log(await res.json());{
"scope": {
"from": "2026-11-03",
"to": "2026-11-06",
"engines": [
"chatgpt",
"google-ai-overview",
"perplexity"
],
"segments": [
"wms"
],
"prompt_scope": "category",
"dimensions": [
"date",
"engine"
],
"interval": "day"
},
"items": [
{
"date": "2026-11-03",
"engine": "chatgpt",
"brand": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Acme",
"own": true
},
"visibility": {
"value": 60,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"share_of_voice": {
"value": 66.7,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"position": {
"value": 2,
"unit": "rank",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"sentiment": {
"value": 70,
"unit": "score",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"mentions": 12
},
{
"date": "2026-11-03",
"engine": "chatgpt",
"brand": {
"id": "00000000-0000-4000-8000-000000000002",
"name": "Globex",
"own": false
},
"visibility": {
"value": 30,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"share_of_voice": {
"value": 33.3,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"position": {
"value": 2,
"unit": "rank",
"band": 0,
"n": 6,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"sentiment": {
"value": 70,
"unit": "score",
"band": 0,
"n": 6,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"mentions": 6
},
{
"date": "2026-11-03",
"engine": "perplexity",
"brand": {
"id": "00000000-0000-4000-8000-000000000001",
"name": "Acme",
"own": true
},
"visibility": {
"value": 60,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"share_of_voice": {
"value": 66.7,
"unit": "percent",
"band": 0,
"n": 20,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"position": {
"value": 2,
"unit": "rank",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"sentiment": {
"value": 70,
"unit": "score",
"band": 0,
"n": 12,
"delta": null,
"within_noise": true,
"low_sample": true,
"state": "measured"
},
"mentions": 12
}
],
"next_cursor": null,
"has_more": false
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"field": "<string>",
"detail": {}
}
}