curl --request GET \
--url https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail', 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://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"content": "<string>",
"status": "winning",
"visibility_score": 123,
"coverage_cited": 123,
"coverage_total": 123,
"topic_id": 123,
"topic_name": "<string>",
"intent": "informational",
"journey_stage": "discovery",
"localizations": [
"worldwide"
],
"visibility_delta_7d": 123,
"best_rank": 123,
"best_rank_platform": "ChatGPT",
"ai_search_volume": 123,
"ai_volume_delta": 123,
"volume_trend": [],
"visibility_30d": [],
"per_platform": [],
"latest_answers": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Get Prompt Detail
Aggregate payload for prompt drill-down: visibility + 7d delta, best rank with platform, coverage X/N, 30-day sparkline, per-platform coverage grid, and the latest N answers in a single round trip.
curl --request GET \
--url https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail', 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://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tryhikoo.com/api/v1/public/prompts/{prompt_id}/detail")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"id": 123,
"content": "<string>",
"status": "winning",
"visibility_score": 123,
"coverage_cited": 123,
"coverage_total": 123,
"topic_id": 123,
"topic_name": "<string>",
"intent": "informational",
"journey_stage": "discovery",
"localizations": [
"worldwide"
],
"visibility_delta_7d": 123,
"best_rank": 123,
"best_rank_platform": "ChatGPT",
"ai_search_volume": 123,
"ai_volume_delta": 123,
"volume_trend": [],
"visibility_30d": [],
"per_platform": [],
"latest_answers": []
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal API key created in the dashboard (Settings > API keys).
Path Parameters
Query Parameters
1 <= x <= 20Target website id
Response
Successful Response
Full prompt detail payload powering the detail panel.
Aggregates: current visibility + 7d delta, best rank with platform, coverage X/N, 30-day sparkline, per-platform grid and N latest answers.
Derived health status for a prompt.
Computed at query time from the current visibility score and the 7-day delta. Not persisted: changing thresholds is a no-op migration.
Thresholds (validated with product):
- WINNING: score >= 70 AND delta_7d >= 0
- AT_RISK: 30 <= score < 70 OR delta_7d <= -10
- LOSING: score < 30 AND delta_7d < 0
- UNCLAIMED: score == 0 (no platform cites the website)
winning, at_risk, losing, unclaimed informational, comparative, transactional, navigational discovery, consideration, decision, retention ChatGPT, Gemini, AI Overviews, Google AI Mode, Perplexity, Mistral, Claude, DeepSeek, Grok, Copilot Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes