Get Prompt
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"
}Prompts
Get Prompt
Get a single prompt by ID
GET
/
prompts
/
{id}
Get Prompt
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"
}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
Available options:
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
Intent of the prompt
Available options:
BRANDED, INFORMATIONAL, NAVIGATIONAL, COMMERCIAL, TRANSACTIONAL Average visibility score across all responses
Weighted average keyword difficulty across all keywords