curl --request GET \
--url https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}', 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://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}",
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: Bearer <token>"
],
]);
$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://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "01HXP1DRTM5G8Z2N3KQ7VAW4PA",
"reportId": "01HXBR1DGM5XY8Z2N3KQ7VAW4P",
"prompt": "best running shoes 2025",
"intentVolume": 12500,
"brandCoverageHistory": [
{
"brand": "Adidas",
"coverage": 0.42,
"date": "2025-01-15"
}
],
"brandRank": [
{
"brand": "Adidas",
"rank": 1,
"mentions": 1705,
"brandCoverage": 0.42,
"sentiment": {
"positive": 0.6,
"neutral": 0.3,
"negative": 0.1,
"nss": 0.5
}
}
],
"domainCategories": [
{
"category": "News/Media",
"value": 18
},
{
"category": "Brand",
"value": 7
}
],
"brandReports": [
{
"id": "01HXBR1DGM5XY8Z2N3KQ7VAW4P",
"brand": "Adidas",
"brandDomain": "adidas.com",
"reportTitle": "Adidas Visibility Report"
}
],
"tags": [
{
"id": "01HX8AB3CDE4FG5HJ6KL7MN8PQ",
"name": "Running Shoes",
"color": "orange"
}
]
}{
"message": "Validation failed",
"target": "query",
"errors": [
{
"path": "country",
"message": "Required",
"code": "invalid_type"
}
]
}{
"message": "Report not found"
}{
"message": "Report not found"
}{
"message": "Report not found"
}Get prompt details from a brand report.
curl --request GET \
--url https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}', 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://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}",
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: Bearer <token>"
],
]);
$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://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data.otterly.ai/v1/reports/brand/{reportId}/prompts/{promptId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": "01HXP1DRTM5G8Z2N3KQ7VAW4PA",
"reportId": "01HXBR1DGM5XY8Z2N3KQ7VAW4P",
"prompt": "best running shoes 2025",
"intentVolume": 12500,
"brandCoverageHistory": [
{
"brand": "Adidas",
"coverage": 0.42,
"date": "2025-01-15"
}
],
"brandRank": [
{
"brand": "Adidas",
"rank": 1,
"mentions": 1705,
"brandCoverage": 0.42,
"sentiment": {
"positive": 0.6,
"neutral": 0.3,
"negative": 0.1,
"nss": 0.5
}
}
],
"domainCategories": [
{
"category": "News/Media",
"value": 18
},
{
"category": "Brand",
"value": 7
}
],
"brandReports": [
{
"id": "01HXBR1DGM5XY8Z2N3KQ7VAW4P",
"brand": "Adidas",
"brandDomain": "adidas.com",
"reportTitle": "Adidas Visibility Report"
}
],
"tags": [
{
"id": "01HX8AB3CDE4FG5HJ6KL7MN8PQ",
"name": "Running Shoes",
"color": "orange"
}
]
}{
"message": "Validation failed",
"target": "query",
"errors": [
{
"path": "country",
"message": "Required",
"code": "invalid_type"
}
]
}{
"message": "Report not found"
}{
"message": "Report not found"
}{
"message": "Report not found"
}Authorizations
Provide your API key as a Bearer token: Authorization: Bearer YOUR_API_KEY.
Path Parameters
Brand report identifier.
1"01HX7K2YV9D3M8N0G6Q5R4S3T2"
Prompt identifier within the brand report.
1"01HX7K2YV9D3M8N0G6Q5R4S3T2"
Query Parameters
Start date for the lookup window (inclusive). Accepts YYYY-MM-DD or a full ISO timestamp; only the date portion is used and the window is anchored at 00:00:00.000Z.
1"2025-01-01"
End date for the lookup window (inclusive). Accepts YYYY-MM-DD or a full ISO timestamp; only the date portion is used and the window is anchored at 23:59:59.999Z.
1"2025-01-31"
Country code to filter by. Lowercase ISO 3166-1 alpha-2; use uk for the United Kingdom.
1"us"
Response
Details for the prompt within the brand report.
1"01HX7K2YV9D3M8N0G6Q5R4S3T2"
1"01HX7K2YV9D3M8N0G6Q5R4S3T2"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes