List Tracked Page Prompts
curl --request GET \
--url https://server.promptwatch.com/api/v2/page-tracker/{id}/prompts \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/page-tracker/{id}/prompts"
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}/prompts', 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}/prompts",
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}/prompts"
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}/prompts")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/page-tracker/{id}/prompts")
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{
"prompts": [
{
"id": "6ba7b82e-9dad-11d1-80b4-00c04fd430c8",
"prompt": "What is the best workflow automation tool for finance teams?",
"type": "ORGANIC",
"intent": "INFORMATIONAL",
"isActive": true,
"languageCode": "en-US",
"llmMonitorId": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"llmMonitor": {
"id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"name": "US English monitor"
},
"amountOfResponses": 36,
"averageVisibility": 49.5,
"volume": 8800,
"difficulty": 37,
"createdAt": "2026-02-05T11:00:00.000Z",
"updatedAt": "2026-03-29T18:20:00.000Z"
},
{
"id": "6ba7b82f-9dad-11d1-80b4-00c04fd430c8",
"prompt": "Example Brand vs Fabrikam for invoicing",
"type": "COMPETITOR_COMPARISON",
"intent": "BRANDED",
"isActive": true,
"languageCode": "en-US",
"llmMonitorId": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"llmMonitor": {
"id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"name": "US English monitor"
},
"amountOfResponses": 12,
"averageVisibility": 61,
"volume": 2100,
"difficulty": 52,
"createdAt": "2026-02-05T11:00:00.000Z",
"updatedAt": "2026-03-29T18:20:00.000Z"
}
],
"total": 2,
"page": 1,
"size": 10,
"totalPages": 1
}{
"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 Prompts
Paginated prompts whose responses 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}
/
prompts
List Tracked Page Prompts
curl --request GET \
--url https://server.promptwatch.com/api/v2/page-tracker/{id}/prompts \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/page-tracker/{id}/prompts"
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}/prompts', 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}/prompts",
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}/prompts"
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}/prompts")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/page-tracker/{id}/prompts")
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{
"prompts": [
{
"id": "6ba7b82e-9dad-11d1-80b4-00c04fd430c8",
"prompt": "What is the best workflow automation tool for finance teams?",
"type": "ORGANIC",
"intent": "INFORMATIONAL",
"isActive": true,
"languageCode": "en-US",
"llmMonitorId": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"llmMonitor": {
"id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"name": "US English monitor"
},
"amountOfResponses": 36,
"averageVisibility": 49.5,
"volume": 8800,
"difficulty": 37,
"createdAt": "2026-02-05T11:00:00.000Z",
"updatedAt": "2026-03-29T18:20:00.000Z"
},
{
"id": "6ba7b82f-9dad-11d1-80b4-00c04fd430c8",
"prompt": "Example Brand vs Fabrikam for invoicing",
"type": "COMPETITOR_COMPARISON",
"intent": "BRANDED",
"isActive": true,
"languageCode": "en-US",
"llmMonitorId": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"llmMonitor": {
"id": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"name": "US English monitor"
},
"amountOfResponses": 12,
"averageVisibility": 61,
"volume": 2100,
"difficulty": 52,
"createdAt": "2026-02-05T11:00:00.000Z",
"updatedAt": "2026-03-29T18:20:00.000Z"
}
],
"total": 2,
"page": 1,
"size": 10,
"totalPages": 1
}{
"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.