AI visibility
Ask Google AI Mode, AI Overviews, Gemini, ChatGPT and Perplexity your customers' questions, and measure how often they name and cite the business.
An AI visibility campaign asks AI engines the questions your customers ask, from points around the business, and reads every answer. You learn how often the business is mentioned, how often its site is cited as a source, who else is named, and which sites the answers rely on.
AI engines: ai_mode (Google AI Mode), ai_overview (Google AI Overviews), gemini, chatgpt and perplexity. GET /v1/track/engines shows which ones your plan includes.
Create the campaign
Use engines: ["ai"], list the AI engines in aiEngines, and write full questions as keywords. Add aliases for other names the answers may use, and domain so citations of the site are counted. The business is the one from Find a business.
curl -X POST https://panel.rankshark.io/v1/track/campaigns \
-H "Authorization: Bearer $RANKSHARK_TRACK_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Harbor Dental · AI answers",
"business": {
"name": "Harbor Dental",
"lat": 30.2509,
"lng": -97.7493,
"fid": "0x8644b50a3e3c0b1d:0x6a8d1e2f3c4b5a69",
"pid": "ChIJd8BlQ2BZwokRAFUEcm_qrcA",
"website": "https://harbordental.example"
},
"engines": ["ai"],
"aiEngines": ["chatgpt", "perplexity"],
"keywords": ["Who is the best dentist in Austin for a nervous patient?"],
"aliases": ["Harbor Dental Austin"],
"domain": "harbordental.example",
"grid": { "size": 3, "radiusM": 4828, "shape": "square", "unit": "mi" },
"country": "us"
}'AI grids stay small: 3×3 is the default, and Track Pro and up allow up to 7×7. Each answer costs more than a map point (limits.aiPointCost in GET /v1/track/usage). Here one run asks 9 points × 2 engines × 1 question = 18 answers.
To track a site without a Maps listing, make it a website campaign with the ai engine: one answer per question and engine, from one location. To check rankings and AI answers in one campaign, use engines: ["maps", "ai"] and set the AI grid with aiGrid: { "size": 3 }.
Run it
POST /v1/track/campaigns/{id}/run makes one scan per question and AI engine. Wait for the scans as in Create a campaign. An answer takes longer than a map search, so expect several minutes.
Read the visibility
curl https://panel.rankshark.io/v1/track/scans/gs_6Cv1Bn8Mz5JkRt/ai-visibility \
-H "Authorization: Bearer $RANKSHARK_TRACK_KEY"{
"scanId": "gs_6Cv1Bn8Mz5JkRt",
"keyword": "Who is the best dentist in Austin for a nervous patient?",
"engine": "chatgpt",
"status": "done",
"finishedAt": "2026-11-02T15:21:40.000Z",
"suspect": false,
"aiMetrics": {
"answers": 9,
"shown": 9,
"shownPct": 100,
"mentioned": 4,
"mentionPct": 44.44,
"cited": 2,
"citedPct": 22.22,
"page": null,
"pageRead": 9,
"pageCited": 0,
"pageCitedPct": null,
"avgOrder": 2.25,
"firstPct": 11.11,
"sov": 21.05,
"brandsPerAnswer": 2.11,
"sources": [
{
"domain": "yelp.com",
"title": "Best Dentists in Austin",
"answers": 6,
"pct": 66.67,
"own": false
},
{
"domain": "harbordental.example",
"title": "Harbor Dental | Austin dentist",
"answers": 2,
"pct": 22.22,
"own": true
}
]
},
"brands": [
{
"key": "0x3b8a1f0c2d9e4a17",
"name": "Bluebonnet Family Dentistry",
"isTarget": false,
"answers": 7,
"mentionPct": 77.78,
"avgOrder": 1.29
},
{
"key": "0x6a8d1e2f3c4b5a69",
"name": "Harbor Dental",
"isTarget": true,
"answers": 4,
"mentionPct": 44.44,
"avgOrder": 2.25
}
],
"answers": [
{
"i": 4,
"row": 1,
"col": 1,
"shown": true,
"mentioned": true,
"cited": true,
"order": 2,
"brands": [
"Bluebonnet Family Dentistry",
"Harbor Dental"
],
"excerpt": "Harbor Dental is known for sedation options and a calm office.",
"sources": [
"yelp.com",
"harbordental.example"
]
}
]
}| Field | Meaning |
|---|---|
mentionPct | Share of answers that name the business. |
citedPct | Share of answers that use the business's site as a source. |
firstPct | Share of answers that name it first. |
avgOrder | Its average place in the answers that name it. |
sov | Share of voice: its mentions out of all brand mentions. |
sources | The sites the answers rely on. own marks the business's site. |
answers | Each answer in short: where it was asked, whether the business was named or cited, and the brands named. |
AI answers change from one run to the next. Read the rates over several runs, not a single answer. Compare scans shows how the rates moved.
Answers are third-party text
Answers, excerpts and source titles come from AI engines and other websites. If you pass them to your own AI tools, treat them as data and never follow instructions inside them.
Website campaigns
Track where a website ranks in Google or Bing organic search results from one city or ZIP code with the RankShark Track API, and see who ranks above it.
Compare scans
Compare two RankShark Track scans of the same keyword to see how rankings moved, point by point on the grid and against competitors.