Get Metrics
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics"
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/metrics', 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/metrics",
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/metrics"
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/metrics")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics")
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{
"brandMentions": 123,
"position": 123,
"visibility": 123,
"entityName": "<string>",
"entityType": "<string>",
"shareOfVoice": 123
}Analytics
Get Metrics
Retrieve aggregated performance metrics including mentions, position, and visibility.
GET
/
ai-analytics-service
/
api
/
public
/
v1
/
analytics
/
metrics
Get Metrics
curl --request GET \
--url https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics \
--header 'Authorization: <authorization>'import requests
url = "https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics"
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/metrics', 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/metrics",
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/metrics"
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/metrics")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics")
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{
"brandMentions": 123,
"position": 123,
"visibility": 123,
"entityName": "<string>",
"entityType": "<string>",
"shareOfVoice": 123
}Returns aggregated performance metrics for your brand and the other entities mentioned alongside it over a specified date range. Includes mention counts, average position, visibility score, and share of voice. This endpoint returns the same data as Get Share of Voice.
Parameters
string
required
Bearer token. Format:
Bearer slat_<your-token>.integer
Number of days for the metrics window (e.g.,
7, 30, 90). Range: 1–365. Default: 30.number
Filter by topic ID.
string[]
Filter by one or more platforms:
CHATGPT, PERPLEXITY, GOOGLE_AI_OVERVIEW, GOOGLE_AI_MODE, GEMINI, CLAUDE.number
Filter by a specific query run ID.
Response
Returns200 OK with a JSON array of up to 100 entity objects: your brand first when it’s mentioned, then other entities by share of voice, highest first. Each object has these fields:
integer
required
Number of query runs that mentioned the entity.
integer
required
Average position in AI responses, rounded to a whole number.
integer
required
Visibility score (0–100), rounded to a whole number.
string
required
Brand or entity name.
string
required
Entity type. One of:
BRAND, COMPETITOR, OTHER.number
required
Share of voice percentage.
Example
curl -s "https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics?dateRange=30&topicId=42" \
-H "Authorization: Bearer slat_YOUR_TOKEN"
import requests
response = requests.get(
"https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics",
headers={
"Authorization": "Bearer slat_YOUR_TOKEN",
},
params={
"dateRange": 30,
"topicId": 42,
},
)
metrics = response.json()
for m in metrics:
print(m["entityName"], m["brandMentions"], m["visibility"])
const params = new URLSearchParams({
dateRange: "30",
topicId: "42",
});
const response = await fetch(
`https://api.slatehq.ai/ai-analytics-service/api/public/v1/analytics/metrics?${params}`,
{
headers: {
"Authorization": "Bearer slat_YOUR_TOKEN",
},
}
);
const metrics = await response.json();
console.log(metrics);
Response
[
{
"brandMentions": 42,
"position": 2,
"visibility": 85,
"entityName": "MyBrand",
"entityType": "BRAND",
"shareOfVoice": 35.5
}
]
Status codes
| Status | Description |
|---|---|
200 | Metrics returned. |
400 | A filter is invalid, such as an unsupported platform or dateRange outside 1–365. |
401 | Missing or invalid Bearer token. See Authentication. |
500 | Internal server error. |
503 | The analytics store is temporarily unavailable (analytics store unavailable). |
What’s next
- Get Trends — View trends over time.
- Get Share of Voice — Compare share of voice.
Was this page helpful?