Home / Tools / AI Search Visibility Tracker: ChatGPT, Perplexity

AI search visibility

AI Search Visibility Tracker: ChatGPT, Perplexity

Track brand mentions, share of voice and cited URLs in ChatGPT, Perplexity, Gemini, Google AI Overviews, AI Mode and Claude. Per prompt x engine: full answer, mention rank, sentiment, citations, your domain cited or not. Monitoring mode flags gained/lost mentions. GEO/AEO rank tracker.

Run it on Apify API & MCP

Sample output

PromptEngineHubSpot mentionedPositionDomain cited
What is the best CRM for a small…Google AI Modeyes1yes
What is the best CRM for a small…ChatGPTyes1yes

Real rows from the prefilled example run (Oct 19, 2026), 5 of 32+ fields shown. Export as JSON, CSV, Excel or HTML, or read them through the API.

Full JSON of one real output row (8 rows in the example dataset)
{
  "type": "check",
  "prompt": "What is the best CRM for a small business?",
  "prompt_source": "input",
  "seed_topic": null,
  "engine": "google_ai_mode",
  "engine_name": "Google AI Mode",
  "model": "google-ai-mode",
  "country": "United States",
  "language": "en",
  "status": "ok",
  "note": null,
  "brand": "HubSpot",
  "brand_mentioned": true,
  "brand_position": 1,
  "brand_mention_count": 3,
  "brand_sentiment": "positive",
  "brand_snippet": "The top overall CRM choices for small businesses include HubSpot for ease of use, Zoho CRM (or Bigin) for budget-conscious scaling, and Pipedrive for sales-focused teams.",
  "your_domain_cited": true,
  "your_cited_urls": [
    "https://www.hubspot.com/products/crm"
  ],
  "your_organic_rank": null,
  "competitors_mentioned": [
    "Pipedrive"
  ],
  "first_mentioned_brand": "HubSpot",
  "brands_mentioned_count": 2,
  "brand_results": [
    {
      "name": "HubSpot",
      "is_yours": true,
      "mentioned": true,
      "mention_count": 3,
      "first_mention_at_pct": 7.3,
      "sentiment": "positive",
      "snippet": "The top overall CRM choices for small businesses include HubSpot for ease of use, Zoho CRM (or Bigin) for budget-conscious scaling, and Pipedrive for sales-focused teams.",
      "cited": true,
      "cited_urls": [
        "https://www.hubspot.com/products/crm"
      ],
      "position_among_all_brands": null,
      "organic_rank": null,
      "position": 1
    },
    {
      "name": "Salesforce",
      "is_yours": false,
      "mentioned": false,
      "mention_count": 0,
      "first_mention_at_pct": null,
      "sentiment": null,
      "snippet": null,
      "cited": false,
      "cited_urls": [],
      "position_among_all_brands": null,
      "organic_rank": null,
      "position": null
    },
    {
      "name": "Pipedrive",
      "is_yours": false,
      "mentioned": true,
      "mention_count": 4,
      "first_mention_at_pct": 10,
      "sentiment": "positive",
      "snippet": "The top overall CRM choices for small businesses include HubSpot for ease of use, Zoho CRM (or Bigin) for budget-conscious scaling, and Pipedrive for sales-focused teams.",
      "cited": true,
      "cited_urls": [
        "https://www.pipedrive.com/"
      ],
      "position_among_all_brands": null,
      "organic_rank": null,
      "position": 2
    }
  ],
  "other_brands_mentioned": [],
  "cited_domains": [
    "pcmag.com",
    "uschamber.com",
    "slack.com",
    "... 8 more"
  ],
  "citations": [
    {
      "url": "https://www.pcmag.com/picks/the-best-small-business-crm-software",
      "domain": "pcmag.com",
      "title": "The Best Small Business CRM Software We've Tested for 2026 | PCMag"
    },
    {
      "url": "https://www.uschamber.com/co/start/strategy/low-cost-crm-tools",
      "domain": "uschamber.com",
      "title": "CRM for Small Business: Top Free or Low-Cost Options | CO- by US Chamber of Commerce"
    },
    {
      "url": "https://slack.com/blog/crm/best-crm-for-small-business",
      "domain": "slack.com",
      "title": "Best CRM for Small Business in 2026 | Slack"
    },
    "... 11 more"
  ],
  "citations_count": 14,
  "fan_out_queries": [],
  "answer_text": "Finding the **best CRM for your small business** depends heavily on what your team needs most: simplicity, free tools, heavy automation, or visual deal tracking. The top overall CRM choices for small businesses include **HubSpot** for ease of use, **Zoho CRM (or Bigin)** for budg...",
  "answer_length": 4194,
  "checked_at": "2026-10-19T10:00:11Z"
}

Output fields

From the Actor's dataset schema. Every row has the same flat shape, so it drops straight into a spreadsheet, a database or an agent's context.

FieldTypeDescription
typestringcheck = one prompt answered by one AI engine; summary = share-of-voice row for one engine (or "all") and one brand
promptstringThe question sent to the AI engine
prompt_sourcestringinput, template (generated from a seed topic) or ai (generated by AI from a seed topic)
seed_topicstringSeed topic the prompt was generated from
enginestringchatgpt, perplexity, gemini, google_ai_overview, google_ai_mode, claude (summary rows: also "all")
engine_namestringEngine display name
modelstringModel / surface that produced the answer
countrystringCountry used for the check
languagestringLanguage code
statusstringok = answer received; no_answer = the engine showed no AI answer (e.g. no AI Overview for this query); error = check failed (not charged); incomplete = the engine returned a cut-off answer twice (not charged)
notestringExplanation for no_answer / error / incomplete
brandstringYour brand(s)
brand_mentionedbooleanYour brand is mentioned in the answer
brand_positionintegerRank of your brand among all tracked brands by first mention (1 = mentioned first)
brand_mention_countintegerHow many times your brand is mentioned
brand_sentimentstringpositive, neutral, negative or mixed (wording around your brand)
brand_snippetstringSentence where your brand is first mentioned
your_domain_citedbooleanOne of your domains is cited as a source (null if you gave no domain)
your_cited_urlsarrayYour URLs cited as sources
your_organic_rankintegerGoogle AI Overview engine only: rank of your domain in the top-10 organic results
competitors_mentionedarrayTracked competitors mentioned in the answer
first_mentioned_brandstringTracked brand mentioned first
brands_mentioned_countintegerNumber of tracked brands mentioned
brand_resultsarrayPer tracked brand: mentioned, mention_count, position, sentiment, snippet, cited, cited_urls, position_among_all_brands, organic_rank

Pricing

Pay per result, billed by Apify. No subscription and no minimum. Discount tiers apply automatically on paid Apify plans.

EventFree planBronzeSilverGold
Prompt check main
Charged once per successful prompt answered by one AI engine.
$0.04$0.036$0.032$0.028

Examples on the Free plan: 100 prompt checks = $4, 1,000 prompt checks = $40, 10,000 prompt checks = $400. Apify's Free plan includes $5 of monthly usage credit. Prices read from the Apify API at build time (2026-10-19).

Scheduled price change from 2026-11-02 (Free-plan tier): Prompt check: $0.04 → $0.06. Paid-plan tiers change accordingly. The table shows today's prices.

Example input

This is the prefilled input on the Store page. Keep it and click Start to see real data in seconds.

{
  "brands": [
    "HubSpot"
  ],
  "domains": [
    "hubspot.com"
  ],
  "competitors": [
    "Salesforce | salesforce.com",
    "Pipedrive | pipedrive.com"
  ],
  "prompts": [
    "What is the best CRM for a small business?"
  ],
  "promptsPerTopic": 3,
  "promptGeneration": "templates",
  "engines": [
    "chatgpt",
    "google_ai_mode"
  ],
  "country": "United States",
  "language": "English",
  "monitoringMode": false,
  "monitoringStoreName": "ai-visibility-monitor",
  "maxChecks": 200,
  "chatgptWebSearch": true,
  "includeAnswerText": true,
  "caseSensitive": false,
  "maxConcurrency": 5
}

Use it from code, no-code or an AI agent

cURL (one request, returns rows)
curl -X POST \
  "https://api.apify.com/v2/acts/wrenfield-data~ai-search-visibility-tracker/run-sync-get-dataset-items" \
  -H "Authorization: Bearer $APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"brands": ["HubSpot"], "domains": ["hubspot.com"], "competitors": ["Salesforce | salesforce.com", "Pipedrive | pipedrive.com"], "prompts": ["What is the best CRM for a small business?"], "promptsPerTopic": 3, "promptGeneration": "templates", "engines": ["chatgpt", "google_ai_mode"], "country": "United States", "language": "English", "monitoringMode": false, "monitoringStoreName": "ai-visibility-monitor", "maxChecks": 200, "chatgptWebSearch": true, "includeAnswerText": true, "caseSensitive": false, "maxConcurrency": 5}'
Python
# pip install apify-client
import os
from apify_client import ApifyClient

client = ApifyClient(os.environ["APIFY_TOKEN"])
run = client.actor("wrenfield-data/ai-search-visibility-tracker").call(
    run_input={
    "brands": [
        "HubSpot"
    ],
    "domains": [
        "hubspot.com"
    ],
    "competitors": [
        "Salesforce | salesforce.com",
        "Pipedrive | pipedrive.com"
    ],
    "prompts": [
        "What is the best CRM for a small business?"
    ],
    "promptsPerTopic": 3,
    "promptGeneration": "templates",
    "engines": [
        "chatgpt",
        "google_ai_mode"
    ],
    "country": "United States",
    "language": "English",
    "monitoringMode": False,
    "monitoringStoreName": "ai-visibility-monitor",
    "maxChecks": 200,
    "chatgptWebSearch": True,
    "includeAnswerText": True,
    "caseSensitive": False,
    "maxConcurrency": 5
},
    max_total_charge_usd=1.00,  # hard cap for this run
)
for row in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(row)
JavaScript / Node
// npm i apify-client
import { ApifyClient } from 'apify-client';

const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('wrenfield-data/ai-search-visibility-tracker').call({
  "brands": [
    "HubSpot"
  ],
  "domains": [
    "hubspot.com"
  ],
  "competitors": [
    "Salesforce | salesforce.com",
    "Pipedrive | pipedrive.com"
  ],
  "prompts": [
    "What is the best CRM for a small business?"
  ],
  "promptsPerTopic": 3,
  "promptGeneration": "templates",
  "engines": [
    "chatgpt",
    "google_ai_mode"
  ],
  "country": "United States",
  "language": "English",
  "monitoringMode": false,
  "monitoringStoreName": "ai-visibility-monitor",
  "maxChecks": 200,
  "chatgptWebSearch": true,
  "includeAnswerText": true,
  "caseSensitive": false,
  "maxConcurrency": 5
}, { maxTotalChargeUsd: 1 });
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items);
MCP (Claude, Cursor, VS Code, any MCP client)
{
  "mcpServers": {
    "wrenfield-ai-search-visibility-tracker": {
      "url": "https://mcp.apify.com?tools=wrenfield-data/ai-search-visibility-tracker"
    }
  }
}

Remote MCP server hosted by Apify. Sign in with OAuth on first use, or send Authorization: Bearer <APIFY_TOKEN>. The tool appears as wrenfield-data--ai-search-visibility-tracker. More client setups on the MCP page.

n8n, Make, Zapier

Use the official Apify node or app, pick Run Actor, enter wrenfield-data/ai-search-visibility-tracker and paste the input JSON above. Then read the run's dataset items. Ready-made n8n workflows are on the n8n templates page.

FAQ

How much does AI Search Visibility Tracker: ChatGPT, Perplexity cost?

$0.04 per prompt check on the Apify Free plan ($40 per 1,000), billed per result by Apify with no subscription. Higher Apify plans get the discounted tiers shown in the pricing table. You can cap any run with a maximum cost.

Where does the data come from?

From a licensed AI-answer data provider. ChatGPT (with web search), Gemini, Google AI Overviews and Google AI Mode are collected from the live consumer products for your country. Perplexity uses the Sonar model with web search. Claude uses Claude Haiku without web search, so Claude rows have no citations.

Why does the same prompt give different answers on different runs?

AI engines aren't deterministic. Answers change with time, location and model updates. That's why share of voice over many prompts and repeated runs is more reliable than a single answer. Use monitoring mode to track the trend.

What does no_answer mean?

The engine didn't show an AI answer, most often because Google showed no AI Overview for that query. That's still a valid visibility result (your brand isn't visible), so it counts as a completed check.

How is the rank calculated?

By order of first mention among your brand and the competitors you entered: 1 = named first. ChatGPT rows also include position_among_all_brands when ChatGPT marks brand entities.

How is sentiment detected?

With a fast word-list model applied to the sentences that mention the brand. It flags clear praise ("best", "easy", "recommended") or criticism ("expensive", "limited", "clunky"). Read brand_snippet for context.

My brand name is a common word. Will it over-count?

Turn on Case-sensitive brand matching and add precise variants (e.g. Monday.com | monday CRM).

Related tools

AI Answer Scraper Launching soon

Full answers and citations from ChatGPT, Perplexity, Gemini and AI Mode.

Compare and plan

Try AI Search Visibility Tracker: ChatGPT, Perplexity now

Open it on Apify, keep the prefilled example and click Start. The Apify Free plan includes $5 of monthly credit, no card needed.

Open on Apify