curl --request GET \
--url https://server.promptwatch.com/api/v2/prompts/{id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/prompts/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/prompts/{id}")
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{
"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",
"averagePosition": 2.4
}Get Prompt
Get a single prompt by ID
curl --request GET \
--url https://server.promptwatch.com/api/v2/prompts/{id} \
--header 'X-API-Key: <api-key>'import requests
url = "https://server.promptwatch.com/api/v2/prompts/{id}"
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/{id}', 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/{id}",
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/{id}"
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/{id}")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://server.promptwatch.com/api/v2/prompts/{id}")
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{
"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",
"averagePosition": 2.4
}Authorizations
API key for authentication. Get yours from the Promptwatch dashboard under Settings > API Keys.
Path Parameters
Prompt ID
Response
Default Response
Prompt identifier
The prompt text
Type of prompt
ORGANIC, BRAND_SPECIFIC, COMPETITOR_COMPARISON Whether the prompt is active
Language code for the prompt
Monitor that owns this prompt
Show child attributes
Show child attributes
Total number of responses for this prompt
Weighted search volume across all keywords (Google + Bing + AI). Null if no keyword data available.
Prompt creation timestamp
Prompt last update timestamp
Average position of your brand in the responses that mention it (1 = mentioned first, lower is better), across the same responses as averageVisibility. Null if your brand has never been mentioned.
Intent of the prompt
BRANDED, INFORMATIONAL, NAVIGATIONAL, COMMERCIAL, TRANSACTIONAL Average visibility score across all responses
Weighted average keyword difficulty across all keywords