curl --request GET \
--url https://api.rankspot.ai/v1/ai-visibility/responses/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rankspot.ai/v1/ai-visibility/responses/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rankspot.ai/v1/ai-visibility/responses/{id}', 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.rankspot.ai/v1/ai-visibility/responses/{id}",
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://api.rankspot.ai/v1/ai-visibility/responses/{id}"
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://api.rankspot.ai/v1/ai-visibility/responses/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rankspot.ai/v1/ai-visibility/responses/{id}")
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": "3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20",
"promptId": "9a8b7c6d-5e4f-4321-8765-1a2b3c4d5e6f",
"promptText": "best seo tools for small business",
"platform": "chatgpt",
"runDate": "2026-07-26",
"ownBrandMentioned": true,
"citationsCount": 12,
"brands": [
{
"name": "RankSpot",
"domain": "rankspot.ai",
"competitorId": "3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20",
"nameAsWritten": "Rankspot",
"position": 1,
"sentiment": 85,
"isOwnBrand": true
}
],
"answerMarkdown": "<string>",
"citations": [
{
"id": "3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20",
"url": "https://rankspot.ai/blog/ai-seo-tools/",
"domain": "rankspot.ai",
"title": "The 12 best AI SEO tools",
"position": 1,
"isOwnDomain": true,
"status": "new"
}
],
"fanoutQueries": [
"best seo tools 2026"
]
}Get one AI response
The full answer as markdown, the pages it cited in order, the searches the platform ran, and every brand it named with its rank and sentiment.
curl --request GET \
--url https://api.rankspot.ai/v1/ai-visibility/responses/{id} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.rankspot.ai/v1/ai-visibility/responses/{id}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.rankspot.ai/v1/ai-visibility/responses/{id}', 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.rankspot.ai/v1/ai-visibility/responses/{id}",
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://api.rankspot.ai/v1/ai-visibility/responses/{id}"
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://api.rankspot.ai/v1/ai-visibility/responses/{id}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rankspot.ai/v1/ai-visibility/responses/{id}")
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": "3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20",
"promptId": "9a8b7c6d-5e4f-4321-8765-1a2b3c4d5e6f",
"promptText": "best seo tools for small business",
"platform": "chatgpt",
"runDate": "2026-07-26",
"ownBrandMentioned": true,
"citationsCount": 12,
"brands": [
{
"name": "RankSpot",
"domain": "rankspot.ai",
"competitorId": "3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20",
"nameAsWritten": "Rankspot",
"position": 1,
"sentiment": 85,
"isOwnBrand": true
}
],
"answerMarkdown": "<string>",
"citations": [
{
"id": "3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20",
"url": "https://rankspot.ai/blog/ai-seo-tools/",
"domain": "rankspot.ai",
"title": "The 12 best AI SEO tools",
"position": 1,
"isOwnDomain": true,
"status": "new"
}
],
"fanoutQueries": [
"best seo tools 2026"
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Response
"3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20"
"9a8b7c6d-5e4f-4321-8765-1a2b3c4d5e6f"
"best seo tools for small business"
chatgpt, perplexity, google_ai_overview, google_ai_mode The UTC day the prompt was run, YYYY-MM-DD.
"2026-07-26"
Whether the answer named your own brand. null when the answer has not been analysed yet. Read brands for where it placed and how the answer spoke of it.
12
Brands the answer named, most prominent first.
Hide child attributes
Hide child attributes
"RankSpot"
"rankspot.ai"
The competitor this brand resolved to. Addresses the same record as the Competitors endpoints, so a brand named in an answer can be looked up there.
"3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20"
The surface form the answer used, kept for audit.
"Rankspot"
Where the answer placed this brand, 1-based.
1
How favourably the answer spoke, 0-100. Read it in bands if you need one: 0-33 negative, 34-66 neutral, 67-100 positive.
85
true
The full answer as markdown.
Hide child attributes
Hide child attributes
"3f1c2b4e-8d5a-4a2f-9c3e-7b1d6a5e4c20"
"https://rankspot.ai/blog/ai-seo-tools/"
"rankspot.ai"
"The 12 best AI SEO tools"
Where the answer placed this source, 1-based.
1
true
new, processed The searches the platform ran while composing the answer.
["best seo tools 2026"]
