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.
- Price: $40 per 1,000 × prompt check
- Prefilled example: finished in 32 s on Oct 19, 2026 (2/2 checks done; your brand mentioned in 2/2 (100%), share of voice 40%, domain cited in 100%.)
- Reliability: 28/32 public runs succeeded in the last 30 days (88%)
- Works with: Apify Console, REST API, Python, JavaScript, MCP (Claude, Cursor, VS Code), n8n, Make, Zapier
- Last updated: 2026-10-19
Sample output
| Prompt | Engine | HubSpot mentioned | Position | Domain cited |
|---|---|---|---|---|
| What is the best CRM for a small… | Google AI Mode | yes | 1 | yes |
| What is the best CRM for a small… | ChatGPT | yes | 1 | yes |
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.
| Field | Type | Description |
|---|---|---|
type | string | check = one prompt answered by one AI engine; summary = share-of-voice row for one engine (or "all") and one brand |
prompt | string | The question sent to the AI engine |
prompt_source | string | input, template (generated from a seed topic) or ai (generated by AI from a seed topic) |
seed_topic | string | Seed topic the prompt was generated from |
engine | string | chatgpt, perplexity, gemini, google_ai_overview, google_ai_mode, claude (summary rows: also "all") |
engine_name | string | Engine display name |
model | string | Model / surface that produced the answer |
country | string | Country used for the check |
language | string | Language code |
status | string | ok = 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) |
note | string | Explanation for no_answer / error / incomplete |
brand | string | Your brand(s) |
brand_mentioned | boolean | Your brand is mentioned in the answer |
brand_position | integer | Rank of your brand among all tracked brands by first mention (1 = mentioned first) |
brand_mention_count | integer | How many times your brand is mentioned |
brand_sentiment | string | positive, neutral, negative or mixed (wording around your brand) |
brand_snippet | string | Sentence where your brand is first mentioned |
your_domain_cited | boolean | One of your domains is cited as a source (null if you gave no domain) |
your_cited_urls | array | Your URLs cited as sources |
your_organic_rank | integer | Google AI Overview engine only: rank of your domain in the top-10 organic results |
competitors_mentioned | array | Tracked competitors mentioned in the answer |
first_mentioned_brand | string | Tracked brand mentioned first |
brands_mentioned_count | integer | Number of tracked brands mentioned |
brand_results | array | Per 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.
| Event | Free plan | Bronze | Silver | Gold |
|---|---|---|---|---|
| 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