curl --request GET \
--url https://api.radarkit.ai/v1/projects/{project}/visibility \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.radarkit.ai/v1/projects/{project}/visibility"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.radarkit.ai/v1/projects/{project}/visibility', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"summary": {
"visibility": 41.3,
"brand_score": 58,
"days": 7
},
"by_model": {
"chatgpt": {
"visibility": 52.1,
"brand_score": 63.4,
"days": 7
},
"gemini": {
"visibility": 30.5,
"brand_score": 52.6,
"days": 7
}
},
"series": [
{
"date": "2026-08-25",
"model": "chatgpt",
"visibility": 50,
"brand_score": 61.2,
"positions": {
"top": 9,
"middle": 8,
"bottom": 7
},
"sentiment": {
"positive": 17,
"mixed": 5,
"negative": 2
}
}
]
},
"meta": {
"project": "64f1a2b3c4d5e6f708192a3b",
"from": "2026-08-25",
"to": "2026-08-31",
"models": [
"chatgpt",
"gemini"
],
"days": 14
},
"credits": {
"charged": 1,
"remaining": 2948
},
"request_id": "req_01j9x4p1a2b3c4d5e6f7g8h9i0"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Missing or invalid API key. Send it as: Authorization: Bearer rk_live_YOUR_KEY"
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r6"
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough API credits."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r7"
}{
"error": {
"code": "PROJECT_FORBIDDEN",
"message": "This key cannot access that project."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r9"
}{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "No project with that id."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5s0"
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "One or more parameters are invalid.",
"details": [
{
"path": "from",
"message": "The from field must match the format Y-m-d."
}
]
},
"request_id": "req_01j9x4s6b7c8d9e0f1g2h3i4j5"
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Slow down and retry.",
"details": {
"retry_after": 21
}
},
"request_id": "req_01j9x4r2s3t4u5v6w7x8y9z0a1"
}{
"error": {
"code": "QUERY_TIMEOUT",
"message": "The query took too long. Narrow the date range or use exports."
},
"request_id": "req_01j9x4r2s3t4u5v6w7x8y9z0a2"
}Get visibility
The daily visibility score and brand score per model, with position and sentiment counts for each day, plus the average over the range.
summary is the average across all models. by_model has one average per model. series has one row per model per day.
Cost: 1 API credit.
Limits: Up to 366 days in one call.
Needs: Read.
curl --request GET \
--url https://api.radarkit.ai/v1/projects/{project}/visibility \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.radarkit.ai/v1/projects/{project}/visibility"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.radarkit.ai/v1/projects/{project}/visibility', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"summary": {
"visibility": 41.3,
"brand_score": 58,
"days": 7
},
"by_model": {
"chatgpt": {
"visibility": 52.1,
"brand_score": 63.4,
"days": 7
},
"gemini": {
"visibility": 30.5,
"brand_score": 52.6,
"days": 7
}
},
"series": [
{
"date": "2026-08-25",
"model": "chatgpt",
"visibility": 50,
"brand_score": 61.2,
"positions": {
"top": 9,
"middle": 8,
"bottom": 7
},
"sentiment": {
"positive": 17,
"mixed": 5,
"negative": 2
}
}
]
},
"meta": {
"project": "64f1a2b3c4d5e6f708192a3b",
"from": "2026-08-25",
"to": "2026-08-31",
"models": [
"chatgpt",
"gemini"
],
"days": 14
},
"credits": {
"charged": 1,
"remaining": 2948
},
"request_id": "req_01j9x4p1a2b3c4d5e6f7g8h9i0"
}{
"error": {
"code": "<string>",
"message": "<string>",
"details": {}
},
"request_id": "req_01j9x4m2p7q8r9s0t1u2v3w4x5"
}{
"error": {
"code": "UNAUTHENTICATED",
"message": "Missing or invalid API key. Send it as: Authorization: Bearer rk_live_YOUR_KEY"
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r6"
}{
"error": {
"code": "INSUFFICIENT_CREDITS",
"message": "Not enough API credits."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r7"
}{
"error": {
"code": "PROJECT_FORBIDDEN",
"message": "This key cannot access that project."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5r9"
}{
"error": {
"code": "PROJECT_NOT_FOUND",
"message": "No project with that id."
},
"request_id": "req_01j9x4q7z8y9x0w1v2u3t4s5s0"
}{
"error": {
"code": "VALIDATION_FAILED",
"message": "One or more parameters are invalid.",
"details": [
{
"path": "from",
"message": "The from field must match the format Y-m-d."
}
]
},
"request_id": "req_01j9x4s6b7c8d9e0f1g2h3i4j5"
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests. Slow down and retry.",
"details": {
"retry_after": 21
}
},
"request_id": "req_01j9x4r2s3t4u5v6w7x8y9z0a1"
}{
"error": {
"code": "QUERY_TIMEOUT",
"message": "The query took too long. Narrow the date range or use exports."
},
"request_id": "req_01j9x4r2s3t4u5v6w7x8y9z0a2"
}Authorizations
Your API key. Create one in Settings, API keys. Send it as Authorization: Bearer rk_live_YOUR_KEY.
Path Parameters
The project id. 24 characters. From List projects.
^[0-9a-f]{24}$Query Parameters
First day, YYYY-MM-DD, in the project's timezone. Default: the window your dashboard shows, 7 or 30 days back.
Last day, YYYY-MM-DD, included. Default: today.
One model name, or several separated by commas: chatgpt, gemini, perplexity, copilot, aimode, aioverview. Default: every model the project tracks. Names the plan does not include are ignored.
120Response
The scores.
Show child attributes
Show child attributes
Show child attributes
Show child attributes
What this call cost and what is left. Also in the X-RadarKit-Credits-Charged and X-RadarKit-Credits-Remaining headers.
Show child attributes
Show child attributes
A unique id for this call. Also in the X-Request-Id header. Quote it when you contact support.
"req_01j9x4m2p7q8r9s0t1u2v3w4x5"