Visibility
get_platform_detail
- Plan
- Grow and above
- Rate cost
- 3 units
Try asking
“What are we losing on ChatGPT, and who is winning those answers?”
Visibility
Try asking
“What are we losing on ChatGPT, and who is winning those answers?”
Passed as the tool call's arguments.
project_idstringrequiredThe project to read, from list_projects.
platformstringrequiredEngine id.
Values:chatgptperplexitygeminicopilotai_overviewsclaude
pageintegerdefault 1Page number, from 1.
statusenum<string>Keep only won or only lost answers.
Values:wonlost
querystringSearch the prompt text, up to 200 characters.
The same object as Get engine detail, returned as structured output.
statobjectThe engine's numbers for the latest run.
platform_idstringEngine id. Engines your plan doesn't run are listed with zeros.
Values:chatgptperplexitygeminicopilotai_overviewsclaude
platform_labelstringDisplay name, e.g. AI Overviews.
probes_wonintegerAnswers that won: the brand recommended with a quality of at least 0.5.
total_probesintegerAnswers on this engine, counting every prompt, run and sample.
geo_scorenumberGEO score, 0–100: the average answer quality across prompts, scaled to 100.
visibilitynumberShare of answers that mention the brand at all, 0–100.
visibility_deltanumberChange in visibility against the previous window, in percentage points. 0 with no comparable window.
mention_qualitynumbernullableAverage quality of the answers that do mention the brand, 0–100. Null until at least 8 prompts have a mention.
citation_ratenumberShare of answers that cite one of the brand's own domains, 0–100.
citation_rate_deltanumberChange in citation_rate, in percentage points.
win_ratenumberprobes_won as a share of total_probes, 0–100.
ci_halfwidthnumbernullableHalf-width of the 95% confidence interval on stat.geo_score, in score points. Null with fewer than 2 prompts.
wonintegerWon answers in the latest run.
lostintegerLost answers in the latest run.
sentimentsobject[]Answers per tone. Tones with no answers are left out.
labelstringTone.
Values:positiveneutralnegative
countintegerHow many.
positionsobject[]Answers per brand position.
labelstringPosition, as a string: "1", "2"…
countintegerHow many.
competitor_winsobject[]Competitors that won answers the brand was absent from, most wins first.
namestringCompetitor.
winsintegerAnswers it won.
probesobject[]This page of results, 25 per page.
idstringResult id. Pass it to Get a reasoning card.
prompt_idstringThe tracked prompt that was asked.
prompt_refintegerThe prompt's short number, as the dashboard shows it (#12). 0 when not available.
prompt_textstringThe prompt that was asked.
platformstringEngine id.
Values:chatgptperplexitygeminicopilotai_overviewsclaude
wonbooleanTrue when the answer recommended the brand with a quality of at least 0.5.
brand_positionintegernullableWhere the brand is first named among itself and the tracked competitors, from 1. Null when the answer doesn't name it.
sentimentstringnullableTone toward the brand. Null when it isn't mentioned.
Values:positiveneutralnegative
endorsementstringnullableHow the answer treats the brand, from named as the one to choose to advised against. Null when the brand isn't mentioned.
Values:strongrecommendedneutralreference_onlydiscouraged
qualitynumberThe answer's quality for the brand, 0–1: endorsement weighted by position. 0.5 or more is a win.
top_competitorstringnullableThe first tracked competitor the answer names.
citation_countintegerDistinct URLs the answer cites.
competitor_countintegerTracked competitors the answer names.
reasoning_card_idstringnullableThe “Why?” card explaining the result. Null when there isn't one.
pageobjectWhere these rows sit in the full list.
pageintegerThis page's number, from 1.
page_sizeintegerRows per page.
totalintegerRows across every page.
| 404 not_found | The project or item doesn't exist in this workspace. A project from another workspace also returns 404, never 403. |
| 422 invalid_request | A parameter or body field is missing or has the wrong type or value. The message names the field. Also returned when a write would pass the plan's prompt limit. |
| 401 unauthorized | No key was sent, or the key is unknown, revoked or expired, or the member who created it has left the workspace or been deactivated. |
| 402 plan_required | The workspace's plan doesn't include API access. It's included on Grow, Scale and Custom. |
| 403 workspace_not_approved | The workspace is still waiting for approval, or wasn't approved. |
| 429 rate_limited | Too many requests this minute. Wait for the number of seconds in the `Retry-After` header, then retry. |
Every code, and what to retry, is in Errors.
Failures arrive as a tool error — isError: true with code: message as text. See Using the tools.