Brand analytics
Returns per-brand aggregates across the window: visibility, share of voice, average sentiment (0-100), and average position. Sentiment and position are null when the brand has no mentions in the window. Every tracked brand in scope is returned, including those with no mentions. The response is paginated.
Request
- Base URL: https://pineprompt.com
- URL: https://pineprompt.com/api/v1/analytics/brands
- Auth: HTTP bearer
Query parameters
The inclusive UTC start of the analytics window, given as an ISO 8601 date (YYYY-MM-DD).
The inclusive UTC end of the analytics window. The value must be on or after start_date, and on or before today.
You may use this parameter to limit responses to one or more AI platforms. Repeat the parameter for each value, for example ?platforms[]=chatgpt&platforms[]=claude. When omitted, every platform is included. Accepted values: chatgpt, perplexity, gemini, grok, copilot, claude, google_ai_mode, and google_ai_overview.
You may use this parameter to limit responses to monitors run in the given ISO-3166-1 alpha-2 country codes.
[ "US", "NL" ]
You may use this parameter to limit responses to specific monitors inside the active project.
[ 271, 272 ]
You may use this parameter to limit responses and brand-scoped metrics to brands attached to any of the given segments. Segments are named groupings of brands, such as Direct Competitors. When this parameter is set, time-series charts show every brand in the selected segments instead of capping the series at top_n, and share-of-voice ratios are computed within the segment, so each brand's share reads against the other brands in the selected segments. Source-keyed endpoints do not honor this parameter.
[ 12 ]
You may use this parameter to limit responses to those whose prompt carries any of the given tag IDs, such as branded or non-branded.
[ 3, 5 ]
The page number to return. Defaults to 1.
The number of items per page. Defaults to 25, maximum 100.
The field to sort by. Defaults to visibility.
The direction to sort by. Each endpoint has its own default.
Headers
The active project's numeric ID.
Response
OK
Example response
{
"data": [
{
"brand": {
"id": 555,
"project_id": 42,
"display_name": "Acme Inc.",
"aliases": [
"Acme",
"Acme Co"
],
"domains": [
"acme.com",
"acme.co"
],
"kind": "competitor",
"color": "#008FFB",
"project": {
"id": 42,
"organization_id": 7,
"name": "Acme Marketing",
"brand_id": 555,
"organization": {
"id": 7,
"name": "Acme Inc.",
"created_at": "2026-05-15T09:11:42+00:00",
"updated_at": "2026-05-15T09:11:42+00:00"
},
"created_at": "2026-05-15T09:11:42+00:00",
"updated_at": "2026-05-15T09:11:42+00:00"
},
"created_at": "2026-05-15T09:11:42+00:00",
"updated_at": "2026-05-15T09:11:42+00:00"
},
"visibility": 73,
"visibility_change": 5,
"share_of_voice": 28,
"share_of_voice_change": -2,
"sentiment": 67,
"sentiment_change": 1,
"position": 1.4,
"position_change": -0.2
}
],
"links": {
"first": "https://pineprompt.com/api/v1/monitors?page=1",
"last": "https://pineprompt.com/api/v1/monitors?page=1"
},
"meta": {
"current_page": 1,
"from": 1,
"last_page": 1,
"path": "https://pineprompt.com/api/v1/monitors",
"per_page": 25,
"to": 1,
"total": 1,
"links": [
{
"url": "https://pineprompt.com/api/v1/monitors?page=2",
"label": "2",
"page": 2
}
]
}
}Changes
No recorded changes to this operation across all 1 revision of this API.