Get Trends
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends', 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.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$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://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"trends": [
{
"date": "<string>",
"mentions": 123,
"position": 123,
"visibilityScore": 123,
"shareOfVoice": 123,
"competitors": {
"brandMentions": 123,
"position": 123,
"visibility": 123,
"shareOfVoice": 123,
"entityName": "<string>",
"date": "<string>"
}
}
]
}Analytics
Get Trends
Retrieve visibility and mention trends over time, optionally including competitor data.
GET
/
ai-analytics-service
/
api
/
public
/
v1
/
analytics
/
trends
Get Trends
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends', 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.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$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://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_body{
"trends": [
{
"date": "<string>",
"mentions": 123,
"position": 123,
"visibilityScore": 123,
"shareOfVoice": 123,
"competitors": {
"brandMentions": 123,
"position": 123,
"visibility": 123,
"shareOfVoice": 123,
"entityName": "<string>",
"date": "<string>"
}
}
]
}Returns daily trend data for brand mentions, position, visibility score, and share of voice over a specified date range. Optionally includes competitor comparison data.
Parameters
string
required
Bearer token. Format:
Bearer slat_<your-token>.integer
required
Number of days for the trend window (e.g.,
7, 30, 90).number
Filter by topic ID.
boolean
Set to
true to include competitor trend data alongside your brand.string[]
Filter by one or more platforms:
CHATGPT, PERPLEXITY, GOOGLE_AI_OVERVIEW, GOOGLE_AI_MODE, GEMINI, CLAUDE.number
Filter by prompt ID.
number
Filter by a specific query run ID.
Response
Returns200 OK with an array of daily trend data points.
object[]
required
Array of daily trend objects.
Show trend object
Show trend object
string
required
Date for the data point. Format:
YYYY-MM-DD.integer
required
Number of brand mentions on the date.
number
required
Average brand position in AI responses.
number
required
Visibility score (0–100).
number
required
Share of voice percentage.
object
Competitor data keyed by competitor name. Only present when
includeCompetitors=true.Example
curl -s "https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends?dateRange=30&topicId=42&includeCompetitors=true" \
-H "Authorization: Bearer slat_YOUR_TOKEN"
import requests
response = requests.get(
"https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends",
headers={
"Authorization": "Bearer slat_YOUR_TOKEN",
},
params={
"dateRange": 30,
"topicId": 42,
"includeCompetitors": "true",
},
)
trends = response.json()
for day in trends:
print(day["date"], day["mentions"], day["visibilityScore"])
const params = new URLSearchParams({
dateRange: "30",
topicId: "42",
includeCompetitors: "true",
});
const response = await fetch(
`https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/trends?${params}`,
{
headers: {
"Authorization": "Bearer slat_YOUR_TOKEN",
},
}
);
const trends = await response.json();
console.log(trends.length, "days of data");
Response
[
{
"date": "2026-02-10",
"mentions": 42,
"position": 2,
"visibilityScore": 85,
"shareOfVoice": 35.5,
"competitors": {
"CompetitorA": {
"brandMentions": 30,
"position": 3,
"visibility": 70,
"shareOfVoice": 25.0,
"entityName": "CompetitorA",
"date": "2026-02-10"
}
}
},
{
"date": "2026-02-11",
"mentions": 45,
"position": 2,
"visibilityScore": 87,
"shareOfVoice": 36.2,
"competitors": {
"CompetitorA": {
"brandMentions": 28,
"position": 4,
"visibility": 68,
"shareOfVoice": 23.5,
"entityName": "CompetitorA",
"date": "2026-02-11"
}
}
}
]
Status codes
| Status | Description |
|---|---|
200 | Trend data returned. |
401 | Missing or invalid Bearer token. See Authentication. |
500 | Internal server error. |
What’s next
- Get Metrics — Get aggregated performance metrics.
- Get Share of Voice — Compare share of voice across brands.
Was this page helpful?