REST API
The AI visibility and rank tracking API for your reporting stack
Pull the visibility, prompts, answers, citations and competitor data from Geoptie into BigQuery, Looker Studio, client dashboards or your own product. One bearer key, JSON over HTTPS, and no monthly request quota.
ChatGPT
Claude
PerplexityGemini
AI Overviews
AI Mode
Copilot
curl -sS "https://api.geoptie.com/v1/brands" \
-H "Authorization: Bearer $GEOPTIE_API_KEY"{
"data": [
{
"id": "3f2a6c1e-0b7d-4e59-9a41-2c8d5e7f9b10",
"name": "Example Brand",
"domain": "example.com",
"engines": ["chatgpt", "claude", "perplexity", "gemini"],
"country": "US"
}
],
"has_more": false,
"next_cursor": null
}v1
stable REST API
7
AI engines covered
120/min
requests, no monthly cap
$99
per month, Professional plan
Trusted by marketing teams and agencies














What is an AI visibility API?
An AI visibility API returns how AI engines such as ChatGPT, Claude, Perplexity, Gemini and Google's AI answers mention and cite a brand, as data your own systems can use. It also works as an AI rank tracker API: visibility and position for every tracked prompt, on every engine, each day.
Geoptie's REST API serves the same metrics as the dashboard, so the numbers in a warehouse, a BI dashboard, a client report or a Slack alert match what your team sees.
Your first request in under a minute
Create a key in the dashboard and send it as a bearer token. GET /v1/brands proves the key works and returns the brand ids every other endpoint uses.
Set up in three steps
- 1
Create a key
In the dashboard under API keys, for the whole workspace or for chosen brands.
- 2
Call GET /v1/brands
It proves the key works and returns the brand ids every other endpoint uses.
- 3
Pull the data you need
Visibility, prompts, answers, citations and competitors, by brand and engine.
curl -sS "https://api.geoptie.com/v1/brands" \
-H "Authorization: Bearer $GEOPTIE_API_KEY"import os, requests
r = requests.get(
"https://api.geoptie.com/v1/brands",
headers={"Authorization": f"Bearer {os.environ['GEOPTIE_API_KEY']}"},
timeout=30,
)
r.raise_for_status()
print(r.json())const r = await fetch("https://api.geoptie.com/v1/brands", {
headers: { Authorization: `Bearer ${process.env.GEOPTIE_API_KEY}` },
});
if (!r.ok) throw new Error(`${r.status} ${await r.text()}`);
console.log(await r.json());Endpoint catalogue
Brands
- GET
/v1/ brands - POST
/v1/ brands - GET
/v1/ brands/ {id} - GET
/v1/ brands/ {id}/ visibility
Prompts and answers
- GET
/v1/ brands/ {id}/ prompts - POST
/v1/ brands/ {id}/ prompts - GET
/v1/ prompts/ {id}/ responses - GET
/v1/ prompts/ {id}/ mentions
Citations
- GET
/v1/ brands/ {id}/ citations - GET
/v1/ brands/ {id}/ citations/ urls - GET
/v1/ brands/ {id}/ citations/ domains - GET
/v1/ brands/ {id}/ citations/ trends
Competitors
- GET
/v1/ brands/ {id}/ competitors - GET
/v1/ brands/ {id}/ competitors/ trends - POST
/v1/ brands/ {id}/ tracked-competitors - POST
/v1/ brands/ {id}/ ignored-competitors
Recommendations and audits
- GET
/v1/ brands/ {id}/ recommendations - POST
/v1/ brands/ {id}/ recommendations/ generate - POST
/v1/ audit-reports - GET
/v1/ audit-reports/ {id}
Content
- POST
/v1/ brands/ {id}/ generations - POST
/v1/ brands/ {id}/ generations/ {generationId}/ draft - POST
/v1/ brands/ {id}/ optimizations - GET
/v1/ brands/ {id}/ topics
48 operations in total, including updates and deletes. The full reference is in the API docs.
Built for production reporting
The API returns the numbers your dashboard shows, in a shape that drops straight into a warehouse or a client report.
Same numbers as the dashboard
Precomputed visibility, position and share of voice, not raw rows to reassemble, so a client report matches what your team sees.
Read and write
Track prompts, manage topics and competitors, work the recommendation queue, run audits and generate content through the same API.
Workspace and brand-scoped keys
Give a client, a dashboard or an internal team a key that reaches only their own brand. Revoking takes effect within a minute.
Paced, predictable jobs
Cursor pagination, ISO 8601 dates and rate-limit headers on every response, so a scheduled job paces itself without hitting a 429.
Errors you can act on
Standard HTTP status codes with a stable error code, and an X-Request-Id on every response for support to trace.
Stable versioning
v1 is stable. New fields are added without notice, and breaking changes ship as /v2 with 90 days' notice.
What teams build with it
Client dashboards
Agencies feed each client's AI visibility into Looker Studio or their own portal, with a brand-scoped key per client.
Warehouse sync
A nightly job copies visibility, citations and competitor data into BigQuery or Snowflake next to SEO and analytics data.
Alerts
A scheduled check posts to Slack or email when a priority prompt drops on an engine.
AI assistants
The same key powers the Geoptie MCP server for Claude Code, Cursor and Codex.
Included on Professional and Enterprise
Professional
$99/month
- 10 brands and 100 prompts
- REST API and MCP server
- White-label reports
- Unlimited seats
Enterprise
$399/month
- Unlimited brands and 400 prompts
- REST API and MCP server
- White-label reports
- Unlimited seats
AI visibility API FAQ
What data does the Geoptie API return?
Which plans include API access?
How does authentication work?
What are the API rate limits?
Can I pull competitor data through the API?
Can I give a client API access to only their brand?
Which AI engines does the API cover?
Is there an MCP server as well?
Put AI visibility next to the rest of your data
Start on Professional, create a key, and your first request returns your brands in under a minute.
Get started