- Brand
- Unknown
- Category
- Pending
- Primary Subcategory
- Pending
Integration details
Description
GoVISIBLE measures how brands appear in AI-generated answers from tracked AI engines. This plugin connects your GoVISIBLE account so you can ask about your tracked brands in plain language. What you can do: - List your GoVISIBLE projects and view brand profiles, tracked competitors and AI engines. - Get visibility, mention strength, sentiment and share of voice, overall or broken down by AI engine, date, cluster, journey stage, persona, intent or competitor. - Analyse citations: which websites, pages, domains and content formats are cited for your topics. - Drill into individual buyer prompts and review the raw AI answers behind the metrics. - Generate a complete AI visibility audit report or a monthly report for a project. Who it is for: marketing, SEO and GEO teams and agencies that already use GoVISIBLE. Limitations: a GoVISIBLE account is required and you sign in with your GoVISIBLE email and password. The plugin is read-only. It cannot create projects, run new benchmarks, change settings or make purchases. It only returns data for the brands your account can access, and results reflect the most recent completed GoVISIBLE benchmark runs.
- Integration type
- Plugin
- Verification status
- Not applicable
- Platform
- ChatGPT
- Category
- Pending
- Primary Subcategory
- Pending
- Secondary Subcategories
- None listed
- Brand
- Unknown
- Access
- Account required
- First tracked
- 2026-10-22
- Tool count
- 99
- Geography
- US
The broad Category that contains the Primary Subcategory.
The Primary Subcategory used for this profile’s headline score.
Other Subcategories where the Integration is listed.
Your score is coming
ChatGPT now suggests Plugins on its own when they match a user's request.Your Plugin Discovery Score measures how often yours appears, and it will show here as soon as it’s ready.
What discovery looks like

Get alerts for GoVISIBLE
Get updates when GoVISIBLE’s Discoverability Score or category rank changes.
Competitive lineup
99 tools agents can invoke
## PURPOSE Explain what contributed to the brand gaining citations for a selected period, source, page, or prompt. Identify the prompts, pages, sources, or AI engines responsible for the gain and return the citation increase with key contributors and evidence. ## WHEN TO USE Use when the user asks why citations rose, for example: - "Why did our citations increase?" - "Explain citation gain for this page/domain" - "Which prompts/engines drove our new citations?" - "What contributed to more AI citations this period?" Do NOT use this to explain a citation drop — use explain_citation_loss. Do NOT use this for general citation strategy without a gain framing — use recommend_citation_strategy or find_citation_gaps. ## SCOPE - Period: pass_through startDate/endDate; for before/after use compareStartDate/compareEndDate (call citation tools for both windows). - Source/domain: pass_through.sourceDomain when selected. - Page: pass_through.pageUrl when selected (never invent URLs). - Prompt: pass_through.promptId or the user-named tracked prompt. ## HARD RULES (from this tool's description) - Identify the prompts, pages, sources, or AI engines responsible for the gain. - Compare before-and-after citation patterns when a period comparison is requested. - Return the citation increase, key contributors, and supporting evidence — not every positive metric blip. - Never invent URLs, domains, or contributors — use tool data only. - Output: citation increase, key contributors, and supporting evidence. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_citation_gain
## PURPOSE Explain why the brand lost citations for a selected period, source, page, or prompt. Compare relevant before-and-after citation patterns and identify replacement or competitor activity and the strongest supported contributors to the loss. ## WHEN TO USE Use when the user asks why citations fell, for example: - "Why did we lose citations this month?" - "Explain citation loss for this page/domain" - "Why aren't we cited on this prompt anymore?" - "What replaced our citations?" Do NOT use this to explain a citation increase — use explain_citation_gain. Do NOT use this for a general "where aren't we cited?" landscape without a loss framing — use find_citation_gaps. ## SCOPE - Period: pass_through startDate/endDate; for before/after use compareStartDate/compareEndDate (call citation tools for both windows). - Source/domain: pass_through.sourceDomain when the user selected a domain. - Page: pass_through.pageUrl when the user selected a page (never invent URLs). - Prompt: pass_through.promptId or the user-named tracked prompt via get_prompt_data / get_prompt_drilldown. ## HARD RULES (from this tool's description) - Compare the relevant before-and-after citation patterns for the selected scope. - Return the citation loss, affected prompts or sources, replacement or competitor activity where relevant, and the strongest supported contributors. - Focus on strongest supported contributors — do not dump every citation metric. - Never invent URLs, domains, or replacement sources — use tool data only. - Output: citation loss, affected prompts or sources, replacement or competitor activity (where relevant), strongest supported contributors. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_citation_loss
## PURPOSE Explain why a selected competitor has stronger AI visibility than the brand for the relevant scope. Surface the most meaningful differences in visibility, prompts, AI responses, and citations — the key advantage and what contributes to it. ## WHEN TO USE Use when the user asks why a specific competitor is ahead, for example: - "Why is Competitor X more visible than us?" - "Explain Competitor X's AI visibility advantage" - "What makes [brand] beat us in AI answers?" Do NOT use this for a broad multi-competitor "who's beating us?" scan — use find_competitor_gaps or recommend_competitor_actions. Do NOT use this for own-brand period change without a competitor focus — use explain_visibility_change. ## SCOPE - Require a selected competitor: pass_through.competitorName (exact project competitor name) when known. - If competitorName is missing and the user named one, use that exact name; if still ambiguous, resolve via get_competitors_analysis / get_prompt_coverage before explaining. - Scope filters (dates, engines, clusters) in pass_through apply to the comparison. ## HARD RULES (from this tool's description) - Focus on the selected competitor vs the brand for the relevant scope. - Identify the most meaningful differences in visibility, prompts, AI responses, and citations. - Return the key advantage, supporting evidence, and contributing factors — not every minor difference. - Keep visibility evidence separate from citation evidence. - Never invent competitor presence, URLs, or answers — use tool data only. - Output: key advantage, supporting evidence, and contributing factors. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_competitor_advantage
## PURPOSE Determine how a selected page contributes to AI visibility and citations, and identify which prompts, clusters, and AI engines it supports. ## WHEN TO USE Use when the user asks how a page contributes to AI visibility/citations, for example: - "How does this page contribute to AI visibility?" - "Explain page contribution for <url>" - "What prompts/engines does this page support?" ## HARD RULES (from this tool's description) - Use get_page_intelligence_pages and get_brands_citation to determine contribution. - Use get_prompt_data, get_websitecitation_format_by_engine, and get_websitecitation_format_by_clusters where needed to identify which prompts, clusters, and AI engines the page supports. - Focus on the selected page (pass_through.pageUrl when provided; otherwise use the page the user named — never invent URLs). - Output: page contribution, supporting evidence, strongest areas, weak areas, and recommended actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_page_contribution
## PURPOSE Compare brand performance across AI platforms and explain why performance differs between platforms. ## WHEN TO USE Use when the user asks why engines/platforms differ, for example: - "Why do we perform differently on ChatGPT vs Gemini?" - "Explain platform differences" - "Compare our brand across AI platforms" ## HARD RULES (from this tool's description) - Use get_prompt_coverage_by_engines and get_share_of_voice_by_engines to compare brand performance across AI platforms. - Use get_prompt_data, get_prompt_drilldown, list_ai_answers, get_brands_citation_by_engines, and get_citation_domains where needed to explain why performance differs. - Output: platform difference, key reasons, supporting evidence, and specific recommended actions for weaker platforms. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_platform_difference
## PURPOSE Explain why the brand is weak, absent, or not cited for a selected tracked prompt. Inspect the relevant AI response, competitor presence, and citations to return brand performance, the key gap, supporting evidence, and the strongest contributing factors. ## WHEN TO USE Use when the user asks about a specific tracked prompt failure, for example: - "Why are we missing on this prompt?" - "Explain why we aren't cited for [prompt]" - "Why is our brand weak/absent on prompt X?" - "What is going wrong for this tracked prompt?" Do NOT use this for a bulk prompt-gap ranking across many prompts — use find_prompt_gaps. Do NOT use this for cluster/topic-level weakness — use find_cluster_gaps. ## SCOPE - Require a selected tracked prompt: pass_through.promptId when known, or the exact prompt text the user named. - Resolve via get_prompt_data / get_prompt_drilldown; if multiple prompts match, do not guess — ask or list matches. - Optional engine filter in pass_through when the failure is engine-specific. ## HARD RULES (from this tool's description) - Check the relevant AI response, competitor presence, and citations for the selected prompt. - Return brand performance, key gap, supporting evidence, and strongest contributing factors. - Focus on the selected prompt only — do not expand into unrelated prompt rankings. - Never invent answers, competitors, or citation URLs — use tool data only. - Output: brand performance, key gap, supporting evidence, and strongest contributing factors. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_prompt_failure
## PURPOSE Explain the main factors behind a brand's visibility increase or decrease for a selected period or period-vs-period comparison. Attribute the change to the strongest contributing shifts across AI engines, prompts, competitors, and citations — not to every metric movement. ## WHEN TO USE Use when the user asks why visibility went up or down, for example: - "Why did our visibility drop this month?" - "Explain the visibility increase vs last period" - "What drove our AI visibility change?" - "Why did coverage rise after the last runs?" Do NOT use this for a static "where are we weak?" scan with no change framing — use find_visibility_gaps. Do NOT use this for competitor-only "why are they stronger?" — use explain_competitor_advantage. ## SCOPE & PERIOD - Use pass_through startDate/endDate when the user specifies a period. - For period-vs-period comparison, call the same visibility tools twice (current window vs prior window) using the compare_* dates when provided, or derive a prior window of equal length when the user asks to compare without exact dates. - Prefer get_prompt_coverage_by_date and get_brand_run_metrics to establish direction and magnitude of the change before attributing drivers. ## HARD RULES (from this tool's description) - Identify the strongest contributing changes across relevant engines, prompts, competitors, and citations. - Focus on main factors / key drivers — do not list every small metric movement. - Separate visibility evidence from citation evidence; citations may help explain drivers but are not the visibility KPI itself. - Never invent metric values, URLs, or competitor names — use tool data only. - Output: visibility change (direction + magnitude), key drivers, and supporting evidence. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
explain_visibility_change
## PURPOSE Identify AI engines where our brand has the biggest meaningful gaps compared with competitors. ## WHEN TO USE Use for engine-focused questions, for example: - "Which AI engines are we weak on?" - "Find ChatGPT / Gemini / Perplexity gaps" - "Where do we lose by AI engine?" For broad multi-dimension weakness use find_visibility_gaps. For competitor-led questions use find_competitor_gaps. For tracked prompts use find_prompt_gaps. ## HARD RULES (also enforced in the returned playbook) - Focus on meaningful engine gaps vs competitors (and vs our own engine average where useful). - Keep visibility and share-of-voice evidence separate. - Mark inferred reasons as inferred. - If gaps are negligible, say so. - Output: AI engine, key gap, supporting evidence, likely reason, and 2–3 specific recommended actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_AiEngine_gaps
## PURPOSE Find where our citation presence is weaker than competitors' and linked to weak visibility. ## WHEN TO USE Use for "where aren't we cited?" questions, for example: - "Where aren't we cited?" - "Find our citation gaps" - "Which sources beat us in AI answers?" - "Why aren't we getting citations?" Do NOT use this for broad visibility-only weakness scans — use find_visibility_gaps. For topic/cluster weakness use find_cluster_gaps. For existing pages weak in AI use find_search_ai_gaps. ## HARD RULES (also enforced in the returned playbook) - Label each gap as own-site or third-party. - Treat website citation figures as counts (not invented percentages unless returned by the tool). - Never invent URLs — only use URLs/domains returned by tools. - Rank gaps by size and by how many weak-visibility prompts they affect. - Ignore gaps where we already perform well. - Mark inferred reasons as inferred. - Return a table: citation gap, affected prompts, competitor or source advantage, 2-3 actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_citation_gaps
## PURPOSE Find the prompt clusters where we underperform across visibility, share of voice, and mention strength (reported separately). ## WHEN TO USE Use for "which topics are we weak in?" questions, for example: - "Which topics are we weak in?" - "Find cluster gaps" - "Which prompt clusters underperform?" - "Where are we weak by topic/cluster?" For a broad multi-dimension visibility scan use find_visibility_gaps. For buyer-journey stages use find_journey_gaps. For citation-only questions use find_citation_gaps. For missing content diagnosis use find_content_gaps. ## HARD RULES (also enforced in the returned playbook) - Keep visibility, share of voice, and mention strength separate — do not blend into one score. - Rank clusters by how far we trail the best competitor and our own average across clusters. - Note any cluster with too few prompts to trust. - Mark inferred reasons as inferred. - If gaps are negligible, say so. - Return a table: cluster, key gap, evidence, likely reason, 2-3 actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_cluster_gaps
## PURPOSE Find where competitors outperform our brand across competitive and channel views. ## WHEN TO USE Use for "who's beating us?" questions, for example: - "Who's beating us?" - "Which competitors outperform us?" - "Where do competitors lead?" - "Who is winning against our brand in AI search?" Do NOT use this for broad own-brand weakness scans across journey/cluster/search type — use find_visibility_gaps for those. ## HARD RULES (also enforced in the returned playbook) - Keep visibility, share of voice, and mention strength separate — do not blend them into one metric story. - Mark inferred reasons as inferred. - If no competitor leads us, say so. - Return a table: competitor, gap area, evidence, likely reason, 2-3 actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_competitor_gaps
## PURPOSE Identify topics where our brand is weak or absent, and determine whether relevant content is missing, weak, or overlooked in favor of competitor content. ## WHEN TO USE Use for content strategy questions, for example: - "What content are we missing?" - "Find content gaps" - "Do we lack pages for topics where competitors win?" - "Which topics need new or stronger content?" For existing pages that are weak in AI (but content exists) use find_search_ai_gaps. For prompt-only ranking without content diagnosis use find_prompt_gaps. For citation landscape use find_citation_gaps. ## HARD RULES (also enforced in the returned playbook) - Never invent URLs — only use pages/domains returned by tools. - Distinguish missing vs weak vs overlooked content when evidence supports it; otherwise mark as inferred. - Output: topic or prompt, content gap, supporting evidence, relevant existing page if available, and recommended content action. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_content_gaps
## PURPOSE Find the customer journey stages where we are weak, and recommend content actions. ## WHEN TO USE Use for "where are we weak in the buyer journey?" questions, for example: - "Where are we weak in the buyer journey?" - "Find journey gaps" - "Which journey stages underperform?" - "Awareness vs consideration vs decision — where do we lose?" For topic/cluster weakness use find_cluster_gaps. For broad multi-dimension visibility scans use find_visibility_gaps. For missing content diagnosis use find_content_gaps. ## HARD RULES (also enforced in the returned playbook) - Do NOT mix visibility with mention strength — report them separately. - Rank stages by how far we trail the best competitor and our own average across stages. - If list_prompts has no stage/journey data, say so. - Mark inferred reasons as inferred. - If gaps are negligible, say so. - Return a table: journey stage, key gap, evidence, likely reason, recommended content actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_journey_gaps
## PURPOSE Identify tracked prompts where our brand has weak or no visibility while competitors appear strongly. Prioritize the most actionable prompt gaps. ## WHEN TO USE Use for prompt-level questions, for example: - "Which prompts are we missing?" - "Find prompt gaps" - "Where do competitors appear and we don't?" - "Which tracked prompts should we fix first?" For topic/cluster aggregates use find_cluster_gaps. For content/page recommendations use find_content_gaps. For existing pages weak in AI use find_search_ai_gaps. ## HARD RULES (also enforced in the returned playbook) - Focus on prompts with weak/no brand visibility and strong competitor presence. - Prioritize the most actionable gaps (clear competitor win + enough evidence). - Mark inferred reasons as inferred. - Output: prompt, current brand performance, competitor presence, likely reason, and specific recommended actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_prompt_gaps
## PURPOSE Identify existing website pages or topics that have relevant content but remain weak in AI visibility or citations — where competitors or third-party pages are surfaced instead. ## WHEN TO USE Use for "we have the page but AI ignores it" questions, for example: - "Which pages aren't showing up in AI answers?" - "Find search AI gaps" - "We have content — why aren't we cited?" - "Where do competitors beat our existing pages in AI?" For missing/absent content diagnosis use find_content_gaps. For citation-landscape scans use find_citation_gaps. For prompt-only ranking use find_prompt_gaps. ## HARD RULES (also enforced in the returned playbook) - Focus on existing relevant content that underperforms in AI visibility or citations. - Never invent URLs — only use pages/domains returned by tools. - Mark inferred reasons as inferred. - Output: page or topic, AI gap, supporting evidence, competitor or citation advantage, and recommended action. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_search_ai_gaps
## PURPOSE Find the biggest prompt coverage (same metric as visibility) gaps for our brand across available dimensions. ## WHEN TO USE Use for broad "where are we weak?" questions, for example: - "Where are we weak?" - "Find our biggest prompt coverage / visibility gaps" - "Where do we lose on prompt coverage?" - "What should we improve for AI prompt coverage?" For a single dimension, prefer the matching find_* tool instead of this one: - AI engines → find_AiEngine_gaps - clusters/topics → find_cluster_gaps - buyer journey → find_journey_gaps - citations → find_citation_gaps - competitors leading us → find_competitor_gaps - tracked prompts → find_prompt_gaps - missing/weak content → find_content_gaps - existing pages weak in AI → find_search_ai_gaps ## HARD RULES (also enforced in the returned playbook) - Prompt coverage tools only (same metric as visibility) — do NOT mix with mention strength or sentiment. - Rank segments by how far we trail the best competitor and our own average. - Mark inferred reasons as inferred. - If gaps are negligible or segments have too few prompts to trust, say so. - Return a table: gap area, evidence, likely reason, 2-3 actions. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range. After calling this tool, follow the returned playbook exactly: call every listed tool step (reusing pass_through filters), then produce final_output for the user. Do not treat this tool's response as the analysis itself.
find_visibility_gaps
Get GEO / AI-search readiness from a saved website crawl: schema, author, date, FAQ, and semantic HTML per page. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.geo, guide, score, band, missing{structuredData, author, date, semanticHtml, faqSchema}, GEO issue groups, and items weakest-first with geoSignals. USE when the user asks if pages are ready for AI search, missing schema, author, or dates. This is HTML on the crawled site, not brand mentions in ChatGPT.
get_ai_search_audit_geo
Get accessibility findings from a saved website AI Search Audit: missing link text, button text, labels, and skipped headings. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.accessibility, guide, score, band, totals, accessibility issue groups, and items weakest-first. USE when the user asks about accessibility, a11y, alt/labels, or WCAG-style crawl checks. Do not use this for GEO schema (get_ai_search_audit_geo) or broken links (get_ai_search_audit_links).
get_ai_search_audit_accessibility
Get a short website AI Search Audit briefing: headline, scores, and which section tool to open next. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.overview, guide, headline, scores with bands, facts, discovery chips, findingsByCategory, priorityPillars, and nextTools. USE headline + scores + priorityPillars for a briefing, then call the matching section tool. Do not use this for GEO flags (get_ai_search_audit_geo), accessibility counts, broken links, or robots.txt detail.
get_ai_search_audit_overview
Check whether the crawled site has robots.txt, a sitemap, and llms.txt. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.discovery, guide, and discovery{robotsFound, sitemapFound, llmsTxtFound, sitemapUrls, robotsBlocked}. USE when the user asks about robots.txt, sitemap.xml, llms.txt, or crawl discovery. Do not use this for page scores — that is get_ai_search_audit_pages or get_ai_search_audit_technical.
get_ai_search_audit_discovery
Compare previous website AI Search Audit runs for the same seed URL. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.history, guide, latestJobId, and items newest first with scores, finishedAtIso, isLatest, and vsPrevious deltas. USE vsPrevious for before/after. Positive score deltas are improvements. Pass items[].jobId into overview or any section tool. Do not use this as the first call when you only need the current scores — use get_ai_search_audit_scores or get_ai_search_audit_overview.
get_ai_search_audit_history
List findings from a saved website AI Search Audit, optionally filtered by severity or category. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.issues, guide, paginated items[{rule, title, category, categoryLabel, severity, severityLabel, url, detail}], groups[{rule, title, count, urls}], and pagination. USE after overview when the user asks what is broken or wants a filtered finding list. Do not use this for GEO page flags (get_ai_search_audit_geo), accessibility counts, or broken-link URLs — use the matching section tool.
get_ai_search_audit_issues
Get the crawled internal link graph and broken outbound links from a saved website AI Search Audit. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.links, guide, graph{nodeCount, orphans, deadEnds}, authorities, hubs, weakestPages, link issue groups, and items[] of brokenLinks. USE when the user asks about broken links, orphans, internal linking, or authority pages. Do not use this for robots.txt — that is get_ai_search_audit_discovery.
get_ai_search_audit_links
List crawled pages from a saved website AI Search Audit with SEO, GEO, and accessibility scores. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.pages, guide, and paginated items with seoScore, geoScore, a11yScore, indexable, scores{seo, geo, a11y, bands}, and geoSignals. Page body text is omitted. USE when the user asks which pages were crawled or wants the page table. Do not use this for the site-wide briefing — that is get_ai_search_audit_overview. Prefer get_ai_search_audit_geo or get_ai_search_audit_accessibility for those details.
get_ai_search_audit_pages
Get the website AI Search Audit 0-100 scores only (health, GEO, accessibility, technical, content, average SEO). WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.scores, guide, scores{healthScore, geoScore, a11yScore, technicalScore, contentScore, avgSeo} with bands (good/fair/needs_work), facts, and pageAverages. USE when the user asks for the numbers, health score, or how the site scored. Do not use this for issue lists or page tables — those are get_ai_search_audit_issues and get_ai_search_audit_pages.
get_ai_search_audit_scores
Get technical crawl facts from a saved website AI Search Audit: speed, indexability, HSTS, mixed content, and redirects. WEBSITE CRAWL ONLY from the Integrations → AI Search Audit page (technical SEO, GEO / AI-search readiness of HTML, accessibility). This is not brand visibility in ChatGPT, Gemini, Perplexity, Copilot, or Google AI Mode — use get_audit_report or get_prompt_coverage for those. Reads a saved completed run. It does not start a new crawl. Do not invent scores, issue counts, or URLs.Pass projectId. url is the audited seed URL; omit it to use the project brand URL, then the latest audited URL. Pass jobId to lock a specific historical run from get_ai_search_audit_history. RETURNS kind=ai_search_audit.technical, guide, technical score, flags{notIndexable, mixedContent, missingHsts, redirected}, technical issue groups, and items slowest-first. USE when the user asks about performance, noindex, security headers, or redirects. Do not use this for GEO schema (get_ai_search_audit_geo) or accessibility labels (get_ai_search_audit_accessibility).
get_ai_search_audit_technical
Website citations for your brand and each competitor. A citation is counted when an AI answer links to a page on that brand’s site. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). Use this for overall citation share, cited page volume, and the list of pages earning citations. Prefer the by-dimension tools when the question is about engines, clusters, intent, journey, labels, search type, or date. WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation
Website citations by prompt cluster for your brand and each competitor. Each row adds cluster. Share of citations is competitive within that cluster. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_cluster
Website citations by report date for your brand and each competitor. Each row adds date. Share of citations is competitive within that day. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_date
Website citations by AI engine for your brand and each competitor. Each row adds engine. Share of citations is competitive within that engine. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_engines
Website citations by prompt intent (informational, commercial, navigational, transactional, or branded) for your brand and each competitor. Use get_brands_citation_by_search_type for branded versus non-branded. Each row adds intent. Share of citations is competitive within that intent. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_intent
Website citations by buyer journey stage for your brand and each competitor. Each row adds journey. Share of citations is competitive within that stage. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_journey
Website citations by prompt label for your brand and each competitor. Prompts with multiple labels appear under each matching label. Use the labels filter to focus on specific labels. Each row adds label. Share of citations is competitive within that label. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_labels
Website citations by search type (branded and non-branded) for your brand and each competitor. Each row adds searchType. Share of citations is competitive within that search type. Each row is one brand (your brand and each competitor) with brand, isOwnBrand, domain, pagesCount (citation occurrences of that brand’s pages), uniquePageCount (distinct URLs), shareOfCitations (that brand’s pagesCount as a percent of all tracked-brand citation occurrences in the same slice), and uniqueCitedPages (top cited URLs with per-page citation counts, up to 50). Your brand and competitors are returned together. Use isOwnBrand to separate them. Citation counts are raw and unweighted (not market-share weighted). WEIGHTING: citation and query-fanout metrics use raw unweighted counts (never market-share weighted), whether combined or broken out by engine. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_brands_citation_by_search_type
Overall mention strength for your brand and each competitor. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. Prefer this over get_metrics_summary for period reports. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength
Mention strength by prompt cluster for your brand and each competitor. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_cluster
Mention strength by date for your brand and each competitor. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_date
Mention strength by AI engine for your brand and each competitor. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Per-engine values are unweighted. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_engines
Mention strength by prompt intent (informational, commercial, navigational, transactional, or branded) for your brand and each competitor. Use get_mention_strength_by_search_type for branded versus non-branded. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_intent
Mention strength by buyer journey stage for your brand and each competitor. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_journey
Mention strength by prompt label for your brand and each competitor. Prompts with multiple labels appear under each matching label. Use the labels filter to focus on specific labels. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_labels
Mention strength by search type (branded and non-branded) for your brand and each competitor. Returns strong and weak mention percentages for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. Combined across AI engines using market-share weights for the default one-month report window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_mention_strength_by_search_type
Prompt coverage is the same metric as visibility (prompt coverage %). Overall prompt coverage % for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. Prefer this over get_metrics_summary for period reports. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by prompt cluster for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_cluster
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by date for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_date
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by AI engine for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. UNWEIGHTED (visible prompts ÷ prompts on that engine only). WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_engines
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by original prompt intent (informational, commercial, navigational, transactional, branded). Does not collapse intents into branded / non-branded — use get_prompt_coverage_by_search_type for that. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_intent
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by buyer journey stage for your brand and each competitor. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_journey
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by prompt label for your brand and each competitor. A prompt with multiple labels is counted in each matching label. Filter with labels / promptLabels to restrict to specific labels. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_labels
Prompt coverage is the same metric as visibility (prompt coverage %). Prompt coverage % by search type: branded and non-branded. Uses stored buyerPrompts.searchType when present, otherwise branded vs non-branded inferred from intent. Each row includes brand and isOwnBrand so your brand and competitors are returned together. COMBINES all AI engines with market-share weights across the default 1-month brandReports window. WEIGHTING RULE: when a metric COMBINES multiple AI engines into one number, values are market-share weighted. When results are broken out PER AI ENGINE (by_AiEngine / by_AiEngines), values are UNWEIGHTED simple slot counts — market-share weights are not applied. DEFAULT DATE RANGE: omit startDate and endDate unless the user explicitly asks for a custom range. When omitted, the API uses the last 1 calendar month ending on the latest completed brandReports.createdAt day and aggregates ALL completed runs in that window (not a single run / one day). Only pass startDate/endDate (YYYY-MM-DD) for a user-requested custom range.
get_prompt_coverage_by_search_type
GoVISIBLE ChatGPT Plugin FAQ
How the directory, categories and Discoverability Score work.
Read the methodologyHow do I improve GoVISIBLE's ChatGPT Plugin discoverability?
The levers are the listing surface agents actually read: names, descriptions, keywords, tool metadata, and registry health. Which lever matters depends on where discovery breaks, which is what continuous measurement shows.
Where is this profile measured?
This profile uses the geography attached to the latest public registry snapshot: US. Locale tags are intentionally omitted.