Window overview of one prompt
curl --request POST \
--url https://app.geoly.ai/api/v1/reports/prompt-overview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt_id": "<string>"
}
'import requests
url = "https://app.geoly.ai/api/v1/reports/prompt-overview"
payload = { "prompt_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt_id: '<string>'})
};
fetch('https://app.geoly.ai/api/v1/reports/prompt-overview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"prompt": {
"id": "<string>",
"text": "<string>",
"country": "<string>",
"is_active": true,
"topic_id": "<string>",
"topic_name": "<string>",
"is_branded": true,
"created_at": "2023-11-07T05:31:56Z"
},
"platform": "<string>",
"window": {
"time_range": "7d",
"start_at": "2023-11-07T05:31:56Z",
"end_at": "2023-11-07T05:31:56Z",
"end_bounded": true
},
"caliber": "legacy",
"kpi_state": "ok",
"brand": {
"completed_records": 1,
"mentioned_records": 1,
"mention_rate_pct": 50,
"visibility_score": 50,
"share_pct": 50,
"rank": 2
},
"top_competitor": {
"name": "<string>",
"mention_rate_pct": 50
},
"competitor_board": {
"rows": [
{
"name": "<string>",
"visibility_score": 50,
"share_pct": 50
}
],
"total_rows": 1,
"discovered_competitors": 1
},
"platform_matrix": {
"columns": [
{
"platform_code": "<string>",
"platform_name": "<string>",
"completed_records": 1,
"filterable": true
}
],
"brand_mention_rate_pct": [
50
],
"competitors": [
{
"name": "<string>",
"mention_rate_pct": [
50
]
}
]
},
"source_domains": {
"status": "ready",
"rows": [
{
"domain": "<string>",
"citations": 1
}
],
"total_domains": 1,
"citations_by_owner": {
"total": 1,
"brand": 1,
"competitor": 1,
"other": 1
},
"own_domains": [
"<string>"
]
},
"coverage": {
"floor_date": "<string>",
"clamped": true
}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"schema_conformant": true,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}报表
单条提示词概览
caliber and kpi_state distinguish legacy, mention-based and unavailable KPIs; with kpi_state own_pending the brand mention counts, rates and rank are null rather than placeholder zeros. Rates use percentages without conversion. Custom windows over 90 days are clamped by the tool; window echoes the actual interval. Source domains include the first page and total counts. GET with body payload — no resources created. Billed per call at the price in x-geoly-cost (the same as the matching GEOly MCP tool).
POST
/
api
/
v1
/
reports
/
prompt-overview
Window overview of one prompt
curl --request POST \
--url https://app.geoly.ai/api/v1/reports/prompt-overview \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"prompt_id": "<string>"
}
'import requests
url = "https://app.geoly.ai/api/v1/reports/prompt-overview"
payload = { "prompt_id": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({prompt_id: '<string>'})
};
fetch('https://app.geoly.ai/api/v1/reports/prompt-overview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"data": {
"prompt": {
"id": "<string>",
"text": "<string>",
"country": "<string>",
"is_active": true,
"topic_id": "<string>",
"topic_name": "<string>",
"is_branded": true,
"created_at": "2023-11-07T05:31:56Z"
},
"platform": "<string>",
"window": {
"time_range": "7d",
"start_at": "2023-11-07T05:31:56Z",
"end_at": "2023-11-07T05:31:56Z",
"end_bounded": true
},
"caliber": "legacy",
"kpi_state": "ok",
"brand": {
"completed_records": 1,
"mentioned_records": 1,
"mention_rate_pct": 50,
"visibility_score": 50,
"share_pct": 50,
"rank": 2
},
"top_competitor": {
"name": "<string>",
"mention_rate_pct": 50
},
"competitor_board": {
"rows": [
{
"name": "<string>",
"visibility_score": 50,
"share_pct": 50
}
],
"total_rows": 1,
"discovered_competitors": 1
},
"platform_matrix": {
"columns": [
{
"platform_code": "<string>",
"platform_name": "<string>",
"completed_records": 1,
"filterable": true
}
],
"brand_mention_rate_pct": [
50
],
"competitors": [
{
"name": "<string>",
"mention_rate_pct": [
50
]
}
]
},
"source_domains": {
"status": "ready",
"rows": [
{
"domain": "<string>",
"citations": 1
}
],
"total_domains": 1,
"citations_by_owner": {
"total": 1,
"brand": 1,
"competitor": 1,
"other": 1
},
"own_domains": [
"<string>"
]
},
"coverage": {
"floor_date": "<string>",
"clamped": true
}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"schema_conformant": true,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}{
"error": {
"code": "INVALID_BODY",
"message": "<string>",
"details": {}
},
"meta": {
"request_id": "<string>",
"report": "<string>",
"duration_ms": 123,
"quota": {
"cost": 123,
"unlimited": true,
"remaining": 123,
"resets_at": "2023-11-07T05:31:56Z",
"charge": "charged",
"min_fee_reason": "missing_locale"
}
}
}授权
API key from Settings → Developer → API keys (prefix geom_). Each key is bound to one brand.
请求体
application/json
Resource id for this API key brand.
Required string length:
1 - 64可用选项:
7d, 30d, custom Start of a custom window (UTC+8 business day, YYYY-MM-DD).
Pattern:
^\d{4}-\d{2}-\d{2}$End of a custom window (UTC+8 business day, YYYY-MM-DD).
Pattern:
^\d{4}-\d{2}-\d{2}$可用选项:
all, chatgpt, perplexity, gemini, google_ai, copilot, google_ai_overview