List Prompt Brand Ranks
curl --request GET \
--url https://server.promptwatch.com/api/v2/prompts/brand-rank \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/prompts/brand-rank"
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/prompts/brand-rank', 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/prompts/brand-rank",
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/prompts/brand-rank"
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/prompts/brand-rank")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/prompts/brand-rank")
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",
"llmMonitorId": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"averageVisibility": 49.5,
"brands": [
{
"rank": 1,
"brandId": "6ba7b840-9dad-11d1-80b4-00c04fd430c8",
"name": "Example Brand",
"domain": "example.com",
"relation": "SELF",
"visibilityScore": 72.5
},
{
"rank": 2,
"brandId": "6ba7b841-9dad-11d1-80b4-00c04fd430c8",
"name": "Fabrikam",
"domain": "fabrikam.com",
"relation": "DIRECT_COMPETITOR",
"visibilityScore": 40.13
}
]
}
],
"total": 1,
"page": 1,
"size": 25,
"totalPages": 1
}Prompts
List Prompt Brand Ranks
For each active prompt, rank your brand and your direct competitors by visibility over the date range (the prompts page By Position view). Defaults to the last 30 days.
GET
/
prompts
/
brand-rank
List Prompt Brand Ranks
curl --request GET \
--url https://server.promptwatch.com/api/v2/prompts/brand-rank \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/prompts/brand-rank"
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/prompts/brand-rank', 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/prompts/brand-rank",
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/prompts/brand-rank"
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/prompts/brand-rank")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/prompts/brand-rank")
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",
"llmMonitorId": "6ba7b815-9dad-11d1-80b4-00c04fd430c8",
"averageVisibility": 49.5,
"brands": [
{
"rank": 1,
"brandId": "6ba7b840-9dad-11d1-80b4-00c04fd430c8",
"name": "Example Brand",
"domain": "example.com",
"relation": "SELF",
"visibilityScore": 72.5
},
{
"rank": 2,
"brandId": "6ba7b841-9dad-11d1-80b4-00c04fd430c8",
"name": "Fabrikam",
"domain": "fabrikam.com",
"relation": "DIRECT_COMPETITOR",
"visibilityScore": 40.13
}
]
}
],
"total": 1,
"page": 1,
"size": 25,
"totalPages": 1
}Authorizations
API key for authentication. Get yours from the Promptwatch dashboard under Settings > API Keys.
Query Parameters
Start date (YYYY-MM-DD). Defaults to 29 days before today (30 days including today). Max range 90 days.
End date (YYYY-MM-DD). Defaults to today. Max range 90 days.
Page number (1-based)
Required range:
x >= 1Page size
Required range:
1 <= x <= 100Filter by monitor
Filter by prompt type. Repeat for multiple: types=x&types=y
Available options:
ORGANIC, BRAND_SPECIFIC, COMPETITOR_COMPARISON Only rank brands using responses from these LLM models. Repeat for multiple: models=x&models=y
Search query for prompt text
Order prompts by average visibility
Available options:
asc, desc