Get workspace AI visibility analytics
curl --request GET \
--url https://api.lindo.ai/v1/workspace/analytics/ai-visibility \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.lindo.ai/v1/workspace/analytics/ai-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.lindo.ai/v1/workspace/analytics/ai-visibility', 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.lindo.ai/v1/workspace/analytics/ai-visibility",
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.lindo.ai/v1/workspace/analytics/ai-visibility"
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.lindo.ai/v1/workspace/analytics/ai-visibility")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lindo.ai/v1/workspace/analytics/ai-visibility")
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{
"success": true,
"result": {
"total_ai_crawls": 412,
"total_ai_referrals": 87,
"unique_ai_visitors": 62,
"citation_to_click_ratio": 0.211,
"top_ai_bots": [
{
"bot": "gptbot",
"purpose": "crawler",
"requests": 412,
"visitors": 38
}
],
"top_ai_referrers": [
{
"platform": "chatgpt",
"requests": 87,
"visitors": 62
}
],
"top_cited_pages": [
{
"path": "/pricing",
"ai_crawls": 124,
"ai_referrals": 19
}
],
"ai_traffic_over_time": [
{
"timestamp": "2025-05-11T00:00:00Z",
"ai_crawls": 18,
"ai_referrals": 5
}
]
}
}{
"success": false,
"errors": [
"Client already exists"
],
"message": "Validation failed"
}{
"success": false,
"errors": [
"Client already exists"
],
"message": "Validation failed"
}Analytics
Get workspace AI visibility analytics
Retrieves AI-specific traffic analytics for the workspace: how often AI crawlers (GPTBot, ClaudeBot, PerplexityBot, …) fetch your pages, and how many human visitors arrive from AI chat platforms (ChatGPT, Perplexity, Claude, Gemini, …). Supports optional date range filtering.
GET
/
v1
/
workspace
/
analytics
/
ai-visibility
Get workspace AI visibility analytics
curl --request GET \
--url https://api.lindo.ai/v1/workspace/analytics/ai-visibility \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.lindo.ai/v1/workspace/analytics/ai-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.lindo.ai/v1/workspace/analytics/ai-visibility', 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.lindo.ai/v1/workspace/analytics/ai-visibility",
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.lindo.ai/v1/workspace/analytics/ai-visibility"
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.lindo.ai/v1/workspace/analytics/ai-visibility")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.lindo.ai/v1/workspace/analytics/ai-visibility")
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{
"success": true,
"result": {
"total_ai_crawls": 412,
"total_ai_referrals": 87,
"unique_ai_visitors": 62,
"citation_to_click_ratio": 0.211,
"top_ai_bots": [
{
"bot": "gptbot",
"purpose": "crawler",
"requests": 412,
"visitors": 38
}
],
"top_ai_referrers": [
{
"platform": "chatgpt",
"requests": 87,
"visitors": 62
}
],
"top_cited_pages": [
{
"path": "/pricing",
"ai_crawls": 124,
"ai_referrals": 19
}
],
"ai_traffic_over_time": [
{
"timestamp": "2025-05-11T00:00:00Z",
"ai_crawls": 18,
"ai_referrals": 5
}
]
}
}{
"success": false,
"errors": [
"Client already exists"
],
"message": "Validation failed"
}{
"success": false,
"errors": [
"Client already exists"
],
"message": "Validation failed"
}Authorizations
Enter your API key (starts with lindo_sk_)
Query Parameters
Start date for analytics data (ISO timestamp)
Example:
"2024-01-01T00:00:00Z"
End date for analytics data (ISO timestamp)
Example:
"2024-01-31T23:59:59Z"
Was this page helpful?
⌘I

