Ai Search Visibility Tracker avatar

Ai Search Visibility Tracker

Pricing

from $8.00 / 1,000 query results

Go to Apify Store
Ai Search Visibility Tracker

Ai Search Visibility Tracker

Monitor how AI answer engines mention your brand across prompts and countries. Detect target/competitor mentions, extract cited domains/URLs, and export clean datasets for weekly tracking and reporting on Apify.

Pricing

from $8.00 / 1,000 query results

Rating

0.0

(0)

Developer

Delowar Munna

Delowar Munna

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Track AI answer visibility for your brand across 500 prompts, weekly, by country — including which sources get cited and where you're missing.

AI Search Visibility Tracker

  • ✅ Target present/absent per query
  • ✅ Competitors detected
  • ✅ Cited domains + URLs extracted

What This Actor Does

  • Monitors brand mentions in AI answers — Checks Perplexity, Google AI Overview, and more to see if your brand appears when people ask AI search engines the questions that matter to your business.
  • Extracts cited sources — Captures every URL and domain the AI engine cites, so you know which sites are getting the visibility you want.
  • Detects competitors — See which competitors show up in the same AI answers, and how often.
  • Delivers structured, analysis-ready data — Every result is a clean JSON row with classification, match type, sources, and metadata — ready for spreadsheets, dashboards, or API workflows.

Why Not Just Ask ChatGPT?

Manually asking an AI engine one question at a time doesn't scale. This Actor solves three problems:

  1. Scale — Test hundreds of prompts across multiple engines and markets in a single run.
  2. Repeatability — Schedule weekly or daily runs and track how your visibility changes over time.
  3. Structured outputs — Get machine-readable rows with classification, competitor detection, and source extraction — not just a chat transcript.

Key Features

  • Batch prompts — Run 1 to 500+ queries per run
  • Query templates — Auto-generate prompts from seed keywords using preset packs (agency, SaaS, ecommerce, local)
  • Country & language targeting — 30 countries and 19 languages supported via dropdown selects
  • Competitor detection — Track which rivals appear alongside or instead of you
  • Citation extraction — Full source URLs, domains, and positions
  • Query groups — Label queries by group for agency-friendly reporting
  • Scheduling-ready — Connect to Apify Schedules for automated recurring monitoring

Templates

Choose a template to auto-generate queries from your seed keywords, or use custom to provide your own.

TemplateBest ForGenerated Patterns
customFull controlNo generation — uses your queries as-is
agencyBroad funnel monitoring"best {k}", "top {k} tools", "{k} vs {competitor}", "alternatives to {competitor}", "how to {k}", "best {k} for small business", "best {k} in {country}"
saasCompetitive SaaS visibility"best {k} software", "{brand} alternatives", "{competitor} alternatives", "{brand} vs {competitor}", "best {k} for startups", "best {k} for agencies", "pricing comparison for {k} tools"
ecommerceProduct/category prompts"best {k}", "top {k} brands", "best {k} for your needs", "{k} reviews", "where to buy {k}"
localCity-specific services"best {k} in {city}", "top-rated {k} near me in {city}", "{k} cost in {city}", "emergency {k} {city}", "{k} reviews {city}"

Placeholders

PlaceholderResolves To
{k}Each seed keyword
{brand}Your targetName
{competitor}Each competitor (patterns skipped if none provided)
{country}The country input value
{city}Each location (local template only)

Input

AI Search Visibility Tracker — Input UI

Quick Start Examples

1. SaaS Template with Query Groups

Use a template with grouped queries for organized reporting. When queryGroups is provided, it takes priority over queries and template generation.

{
"template": "saas",
"seedKeywords": ["YouTube video"],
"queryGroups": [
{
"groupName": "Video",
"queries": ["Best video making tools"]
}
],
"targetName": "YouTube",
"competitors": ["canva"],
"engines": ["perplexity"],
"country": "AU",
"language": "en",
"includeAnswerText": true,
"includeSources": true,
"includeCompetitors": false,
"deduplicateSources": true
}

2. SaaS Template with Multiple Query Groups

Scale up with multiple query groups across different topics.

{
"template": "saas",
"seedKeywords": ["YouTube video"],
"queryGroups": [
{
"groupName": "Video",
"queries": [
"Best video making tools",
"YouTube Transcript",
"AI Search"
]
}
],
"targetName": "YouTube",
"competitors": ["canva"],
"engines": ["perplexity"],
"country": "AU",
"language": "en",
"includeAnswerText": true,
"includeSources": true,
"includeCompetitors": false,
"deduplicateSources": true
}

3. Custom — Manual Queries

Provide your own queries for full control.

{
"queries": [
"best youtube transcript tools",
"best tools to analyze youtube comments"
],
"targetName": "Gitoken",
"competitors": ["TubeBuddy", "VidIQ"],
"engines": ["perplexity"],
"includeCompetitors": true
}

4. Local Template — City-Specific Services

Monitor AI visibility for local services across multiple cities.

{
"template": "local",
"seedKeywords": ["plumber", "emergency plumber"],
"locations": ["Sydney", "Melbourne", "Brisbane"],
"targetName": "PipeFixPro",
"engines": ["perplexity"],
"country": "AU"
}

Input Parameters

FieldTypeRequiredDefaultDescription
templatestringNo"custom"Preset prompt pack: custom, agency, saas, ecommerce, local
seedKeywordsarrayWhen using template[]Keywords to expand into queries via template patterns
locationsarrayFor local template[]Cities/areas for local query generation
queriesarrayWhen customPrompts/questions to test against AI engines
queryGroupsarrayNo[]Grouped queries for agency reporting: [{ groupName, queries[] }]
targetNamestringYesBrand, product, or topic to track
targetAliasesarrayNo[]Alternate names, spelling variants
competitorsarrayNo[]Competitor names/domains to detect
enginesarrayNo["perplexity"]AI engines to query
countrystringNo"US"Country (30 countries supported)
languagestringNo"en"Language (19 languages supported)
includeAnswerTextbooleanNotrueInclude full AI answer text
includeSourcesbooleanNotrueInclude cited sources
includeCompetitorsbooleanNofalseEnable competitor detection
deduplicateSourcesbooleanNotrueRemove duplicate source URLs
saveScreenshotbooleanNofalseSave page screenshots to KVS
saveHtmlbooleanNofalseSave page HTML to KVS
maxConcurrencyintegerNo1Max concurrent browser pages (1–5)
navigationTimeoutSecsintegerNo60Page load timeout in seconds
maxRetriesintegerNo2Retries for failed pages
proxyConfigurationobjectNoOptional proxy settings
debugModebooleanNofalseVerbose logging + debug info in output

Query Resolution Precedence

The Actor resolves queries in this order:

  1. queryGroups provided → uses grouped queries, ignores queries and template generation
  2. queries provided → uses them as-is, template only affects metadata labeling
  3. Neither → generates queries from template + seedKeywords (+ locations for local)

Output

Table View

AI Search Visibility Tracker — Output Table View

JSON Output

Each result row contains structured data like this real output from a production run:

[
{
"query": "Best video making tools",
"queryGroup": "Video",
"template": "saas",
"engine": "perplexity",
"country": "AU",
"language": "en",
"classification": "target_present",
"targetName": "YouTube",
"targetPresent": true,
"targetMatchType": "exact",
"sourceCount": 2,
"answerLength": 1625,
"timestamp": "2026-03-02T05:15:45.347Z"
}
]

AI Search Visibility Tracker — Output JSON View

Full Result Row Fields

FieldTypeDescription
querystringThe prompt that was tested
enginestringEngine used (e.g., perplexity)
countrystringCountry code
languagestringLanguage code
timestampstringISO 8601 timestamp
aiAnswerFoundbooleanWhether an AI answer block was detected
answerTextstringFull extracted AI answer text
answerLengthnumberCharacter count of answer
targetNamestringBrand being tracked
targetPresentbooleanWhether target was found
targetMatchTypestringHow target was matched: exact, normalized, alias, domain
targetMentionsarraySpecific strings that matched
competitorsCheckedarrayCompetitors that were checked
competitorsPresentarrayCompetitors found in answer
classificationstringResult classification (see below)
sourcesarrayCited source objects with domain, url, title, position
sourceDomainsarrayUnique domains from sources
sourceCountnumberNumber of sources found
templatestringTemplate used for this run
templateVersionstringTemplate version (e.g., "1.0")
queryGroupstringGroup label if using queryGroups
notesstringWarnings or error messages
debugobjectDebug info (when debugMode: true)

Classification Values

ValueMeaning
target_presentAI answer found, target brand detected
target_absentAI answer found, target brand NOT detected
no_ai_answer_foundPage loaded but no AI answer block found
partial_extractionExtraction completed with warnings
errorRequest failed entirely

Run Summary

Each run saves a RUN_SUMMARY to the Key-Value Store with aggregated metrics:

  • visibilityRate — Fraction of successful AI answers where the target was present
  • topCompetitors — Competitor mention counts (sorted)
  • topSourceDomains — Most frequently cited domains (top 20)
  • template, templateVersion, queryGroupCount — Template metadata
  • Result counts: present, absent, no AI answer, errors

Interpreting Results

  • Visibility ratetargetPresentCount / (results - errors - noAiAnswer). A rate of 0.40 means your brand appears in 40% of AI answers where an answer was found.
  • Top cited domains — The topSourceDomains in the run summary shows which sites AI engines reference most. If your domain isn't there, consider improving content authority.
  • Missing prompts — Filter for classification = "target_absent" to find the queries where your brand is NOT being recommended. These are your content gaps.
  • Query groups — When using queryGroups, filter by queryGroup to compare visibility across different topic categories (e.g., "Brand awareness" vs "Competitor comparison").

Pricing

This Actor uses pay-per-event pricing: 1 event per query-engine pair processed (event name: query-result).

ScenarioEvents
10 queries × 1 engine10
10 queries × 2 engines20
SaaS template, 3 keywords, 2 competitors, 1 engine~21

Cost tips:

  • Start with 1 engine (Perplexity) to validate prompts before adding more
  • Use fewer seed keywords during testing
  • Set includeAnswerText: false if you only need presence/absence classification (reduces storage)

Limitations

  • Engine availability may vary — AI search engines can change their page structure or add bot detection at any time. The Actor includes retry logic, but some requests may still fail.
  • Experimental engines — Engines labeled "experimental" (e.g., Google AI) have lower extraction reliability due to inconsistent AI Overview availability and aggressive bot detection.
  • No LLM-based extraction — Answers are extracted via DOM selectors, not by calling an LLM API. This keeps costs predictable but means extraction depends on page structure.

Engine Support

EngineKeyStatusNotes
PerplexityperplexityStablePrimary engine, reliable extraction
Google AI Overviewgoogle_aiExperimentalInconsistent availability, aggressive bot detection

Proxy

The Actor does not bundle proxies. If you need proxy support:

  • Provide your own proxy configuration via the proxyConfiguration input
  • Residential proxies recommended for Google AI to reduce blocking