List Tracked Page Responses
curl --request GET \
--url https://server.promptwatch.com/api/v2/page-tracker/{id}/responses \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/page-tracker/{id}/responses"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://server.promptwatch.com/api/v2/page-tracker/{id}/responses', 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://server.promptwatch.com/api/v2/page-tracker/{id}/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://server.promptwatch.com/api/v2/page-tracker/{id}/responses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://server.promptwatch.com/api/v2/page-tracker/{id}/responses")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/page-tracker/{id}/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"responses": [
{
"id": "550e8400-e29b-41d4-a716-446655440003",
"content": "Illustrative snippet of model output…",
"model": "claude-sonnet-4-20250514",
"provider": "anthropic",
"visibilityScore": 65,
"sentimentScore": null,
"sentiment": "NEUTRAL",
"toneOfVoice": null,
"mentionedOurBrand": false,
"competitorMentions": [],
"citationCount": 0,
"prompt": {
"id": "6ba7b816-9dad-11d1-80b4-00c04fd430c8",
"prompt": "How do I export a weekly visibility report?",
"type": "BRAND_SPECIFIC",
"intent": "INFORMATIONAL",
"llmMonitor": {
"id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"name": "US English monitor"
}
},
"createdAt": "2026-03-28T10:00:00.000Z"
}
],
"total": 128,
"page": 1,
"size": 10,
"totalPages": 13
}{
"code": "TRACKED_PAGE_NOT_FOUND",
"message": "Tracked page not found"
}{
"error": "Unauthorized",
"message": "Missing or invalid X-API-Key header."
}{
"code": "TRACKED_PAGE_NOT_FOUND",
"message": "Tracked page not found"
}{
"code": "TRACKED_PAGE_NOT_FOUND",
"message": "Tracked page not found"
}Page Tracker
List Tracked Page Responses
Paginated responses that cited this tracked page. Date range uses inclusive UTC calendar days. When both startDate and endDate are omitted, the default range is today only (00:00:00.000Z through 23:59:59.999Z on the current UTC date). When only one bound is omitted, the missing bound defaults to today.
GET
/
page-tracker
/
{id}
/
responses
List Tracked Page Responses
curl --request GET \
--url https://server.promptwatch.com/api/v2/page-tracker/{id}/responses \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/page-tracker/{id}/responses"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://server.promptwatch.com/api/v2/page-tracker/{id}/responses', 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://server.promptwatch.com/api/v2/page-tracker/{id}/responses",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$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://server.promptwatch.com/api/v2/page-tracker/{id}/responses"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://server.promptwatch.com/api/v2/page-tracker/{id}/responses")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/page-tracker/{id}/responses")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"responses": [
{
"id": "550e8400-e29b-41d4-a716-446655440003",
"content": "Illustrative snippet of model output…",
"model": "claude-sonnet-4-20250514",
"provider": "anthropic",
"visibilityScore": 65,
"sentimentScore": null,
"sentiment": "NEUTRAL",
"toneOfVoice": null,
"mentionedOurBrand": false,
"competitorMentions": [],
"citationCount": 0,
"prompt": {
"id": "6ba7b816-9dad-11d1-80b4-00c04fd430c8",
"prompt": "How do I export a weekly visibility report?",
"type": "BRAND_SPECIFIC",
"intent": "INFORMATIONAL",
"llmMonitor": {
"id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"name": "US English monitor"
}
},
"createdAt": "2026-03-28T10:00:00.000Z"
}
],
"total": 128,
"page": 1,
"size": 10,
"totalPages": 13
}{
"code": "TRACKED_PAGE_NOT_FOUND",
"message": "Tracked page not found"
}{
"error": "Unauthorized",
"message": "Missing or invalid X-API-Key header."
}{
"code": "TRACKED_PAGE_NOT_FOUND",
"message": "Tracked page not found"
}{
"code": "TRACKED_PAGE_NOT_FOUND",
"message": "Tracked page not found"
}Authorizations
API key for authentication. Get yours from the Promptwatch dashboard under Settings > API Keys.
Path Parameters
Tracked page identifier
Query Parameters
Page number (1-based)
Required range:
x >= 1Page size
Required range:
1 <= x <= 100First inclusive UTC calendar day (YYYY-MM-DD). Defaults to today when omitted. Future dates return 400 DATE_RANGE_IN_FUTURE. Max range 90 days.
Last inclusive UTC calendar day (YYYY-MM-DD). Defaults to today when omitted. Future dates return 400 DATE_RANGE_IN_FUTURE. Max range 90 days.