AI Visibility fan-out and retrieval stats
curl --request POST \
--url https://app.reputably.net/api/functions/getRetrievalStats \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tracker_id": "<string>",
"business_location_id": "<string>",
"days": 123,
"query_limit": 123,
"domain_limit": 123
}
'import requests
url = "https://app.reputably.net/api/functions/getRetrievalStats"
payload = {
"tracker_id": "<string>",
"business_location_id": "<string>",
"days": 123,
"query_limit": 123,
"domain_limit": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tracker_id: '<string>',
business_location_id: '<string>',
days: 123,
query_limit: 123,
domain_limit: 123
})
};
fetch('https://app.reputably.net/api/functions/getRetrievalStats', 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://app.reputably.net/api/functions/getRetrievalStats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tracker_id' => '<string>',
'business_location_id' => '<string>',
'days' => 123,
'query_limit' => 123,
'domain_limit' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.reputably.net/api/functions/getRetrievalStats"
payload := strings.NewReader("{\n \"tracker_id\": \"<string>\",\n \"business_location_id\": \"<string>\",\n \"days\": 123,\n \"query_limit\": 123,\n \"domain_limit\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.reputably.net/api/functions/getRetrievalStats")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tracker_id\": \"<string>\",\n \"business_location_id\": \"<string>\",\n \"days\": 123,\n \"query_limit\": 123,\n \"domain_limit\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.reputably.net/api/functions/getRetrievalStats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tracker_id\": \"<string>\",\n \"business_location_id\": \"<string>\",\n \"days\": 123,\n \"query_limit\": 123,\n \"domain_limit\": 123\n}"
response = http.request(request)
puts response.read_body{}AI Visibility
AI Visibility fan-out and retrieval stats
What the engines searched for behind each prompt, where a trail is disclosed.
A platform-scoped credential may call this against another agency’s workspace.
POST
/
api
/
functions
/
getRetrievalStats
AI Visibility fan-out and retrieval stats
curl --request POST \
--url https://app.reputably.net/api/functions/getRetrievalStats \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"tracker_id": "<string>",
"business_location_id": "<string>",
"days": 123,
"query_limit": 123,
"domain_limit": 123
}
'import requests
url = "https://app.reputably.net/api/functions/getRetrievalStats"
payload = {
"tracker_id": "<string>",
"business_location_id": "<string>",
"days": 123,
"query_limit": 123,
"domain_limit": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
tracker_id: '<string>',
business_location_id: '<string>',
days: 123,
query_limit: 123,
domain_limit: 123
})
};
fetch('https://app.reputably.net/api/functions/getRetrievalStats', 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://app.reputably.net/api/functions/getRetrievalStats",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'tracker_id' => '<string>',
'business_location_id' => '<string>',
'days' => 123,
'query_limit' => 123,
'domain_limit' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.reputably.net/api/functions/getRetrievalStats"
payload := strings.NewReader("{\n \"tracker_id\": \"<string>\",\n \"business_location_id\": \"<string>\",\n \"days\": 123,\n \"query_limit\": 123,\n \"domain_limit\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.reputably.net/api/functions/getRetrievalStats")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"tracker_id\": \"<string>\",\n \"business_location_id\": \"<string>\",\n \"days\": 123,\n \"query_limit\": 123,\n \"domain_limit\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.reputably.net/api/functions/getRetrievalStats")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"tracker_id\": \"<string>\",\n \"business_location_id\": \"<string>\",\n \"days\": 123,\n \"query_limit\": 123,\n \"domain_limit\": 123\n}"
response = http.request(request)
puts response.read_body{}Authorizations
An agent key (rpk_...) created in Settings → API & MCP, sent as Authorization: Bearer rpk_.... Bearer only: a cookie session can never drive this API. An OAuth 2.1 access token obtained from the same host works identically and lands on the same ceiling.
Headers
Which workspace to read. Omit it and you get the account’s home workspace, which on an agency account is often not where the live businesses are. A workspace this credential cannot read is refused with 403 rather than quietly answered from the default.
Body
application/json
Response
Success.
The response is of type object.