create_brand
ChatGPTValidates the brand name against the brand catalogue, creates or matches a canonical brand, and starts tracking it on the project. Garbage inputs (e.g. 'asdf') are rejected.
create_prompts
ChatGPTBatch-creates one or more prompts under a topic. Each prompt tracks a search phrase across the given locations and models.
create_topic
ChatGPTCreates a new topic in a project. Topics group related prompts.
delete_brand
ChatGPTStops tracking a brand on the project. Tracking stops and the brand and its history are hidden, but nothing is deleted — restore_brand brings it back with its past data.
get_brand_perception
ChatGPTReturns a structured evidence bundle for qualitative analysis of how a tracked brand appears across AI answers on the project. Includes: brand aliases and domain, project description and all tracked competing brands, per-answer excerpts centred on the brand mention with full output and competitor co-mention flags, and summary stats (models, locations, prompt count). Call list_brands first to get a brand_id.
get_brand_report
ChatGPTExports the project's primary brand tracking metrics at the aggregation level you choose. Use dimensions with any subset of {date, model, prompt, topic, location} to get one row per group. Omit dimensions to get one aggregate row for the full date range. The brand is resolved automatically from the project's configured primary brand.
get_citation_source_types
ChatGPTReturns the distribution of citations by page type (article, product, wiki, forum, etc.) across the reporting window, with absolute counts and percentages.
get_citation_summary
ChatGPTReturns headline citation KPIs for the reporting window: number of unique URLs AI engines retrieved, share of answers that cited a source, citation density (citations per answer), and source-to-answer conversion rate, each with period-over-period deltas.
get_competitor_ranking
ChatGPTReturns every competing brand observed on the project, each with a rank, visibility percentage, and average mention position (1 = mentioned first in the answer). Each brand includes display metadata.
get_domain_over_time
ChatGPTReturns a daily time series of retrieval and citation counts for a single domain over the reporting window, suitable for a dual-line chart.
get_domain_report
ChatGPTReturns the aggregated per-provider citation breakdown for a whole domain: totals across every URL on that domain, split by AI provider, with share percentages and mention counts.
get_mentions_over_time
ChatGPTReturns a daily mentions time series for the selected brand, with one point per (date, model_provider). value is the mention count and total_responses is the response count for that provider/day.
get_owned_citations_by_prompt
ChatGPTReturns per-prompt self-citation counts for the given brand: how many AI answers on each prompt/topic cited a URL on a domain owned by the brand. Requires brand_id.
get_owned_citations_by_prompt_and_location
ChatGPTReturns self-citation counts for the given brand grouped by location and then by prompt: a nested map { location: { prompt_id: count } }. The per-location companion to get_owned_citations_by_prompt. Requires brand_id and a non-empty prompt_ids array.
get_performance_radar
ChatGPTReturns six normalized performance metrics (visibility, share of voice, mentions, average position, frequency, and first-mention rate) for the selected brand aggregated across all AI models — or scoped to a single model when model is provided — shaped for a radar / spider chart. This is the rolled-up companion to get_performance_radar_by_model. Requires brand_id.
get_performance_radar_by_model
ChatGPTReturns six normalized performance metrics (visibility, share of voice, mentions, average position, frequency, and first-mention rate) for the selected brand on each AI model, shaped for a radar / spider chart.
get_primary_brand
ChatGPTReturns the primary brand of a project: the brand whose AI search visibility the project tracks. Returns null if none is set.
get_project_readiness
ChatGPTReturns a project's report readiness: whether the selected date range has data, whether any historical data exists at all, and the current prompt and topic setup counts.
get_prompt_answers
ChatGPTReturns the AI answers to one tracked prompt over the reporting window. Each answer includes its date, model, location, prompt text, optional topic, the answer text, the cited URLs with their positions and the search queries behind it. Requires prompt_id.
get_retrievals_by_model
ChatGPTReturns per-model totals for how many times the AI engine retrieved a web source versus how many it actually cited in its answer over the reporting window.
get_search_queries_over_time
ChatGPTReturns daily fan-out query volume and coverage over the reporting window, either as one overall series or split by top/selected brands (series_by=brand with optional brand_id) or top/selected terms (series_by=term with optional term_id).
get_search_query_brands
ChatGPTReturns brands detected inside fan-out queries, ranked by alias-match count, with occurrence count, distinct query count, answer coverage, and the top matched aliases. Shows which brands AI engines search for while answering prompts.
get_search_query_summary
ChatGPTReturns headline metrics for the search queries (fan-out) AI engines ran while answering prompts on this project: total and distinct query volume, brand relationship, retrieval-strategy distribution, website-targeted share, answer coverage, and data availability.
get_search_query_terms
ChatGPTReturns frequent recognized domains and 2- to 4-gram phrases extracted from fan-out queries, with frequency, distinct query count, and answer coverage. Reveals the recurring patterns AI engines use when searching around a topic.
get_share_of_voice
ChatGPTReturns every brand that appeared in AI answers on the project, each with its share of voice percentage (and period-over-period delta), rank, visibility percentage, and mention count. Each brand includes display metadata (logo, domain).
get_share_of_voice_over_time
ChatGPTReturns a daily time series of share of voice for every brand observed on the project, one entry per (brand, date) with its share-of-voice percentage and mention count. Each brand includes display metadata. Shaped for stacked-area or multi-line charts.
get_topic_uptime
ChatGPTReturns per-topic "uptime": for every topic on the project, on how many days the brand was mentioned out of the total days in the reporting window (mentioned_days / total_days), plus the per-day mention counts and total mention count.
get_url_over_time
ChatGPTReturns a daily time series of retrieval and citation counts for a single URL over the reporting window.
get_url_report
ChatGPTReturns a detailed per-provider breakdown for a single cited URL: how many citations each AI provider contributed, their share of the total, and associated mentions.
get_visibility_by_location
ChatGPTReturns aggregated visibility metrics per location for the project's primary brand, as a map keyed by location (entries with no location are grouped under "The World"). Aggregates across all prompts in each location. No period-over-period deltas.
get_visibility_by_prompt_and_location
ChatGPTReturns visibility metrics per (prompt, location) for the project's primary brand, as a nested map { location: { prompt_id: metrics } }. A prompt with data in several locations produces one entry per location. No deltas. Pass a non-empty prompt_ids array.
get_visibility_by_topic_and_prompt
ChatGPTReturns headline visibility metrics for many topics and prompts in one call, as a single map keyed by topic_id and prompt_id (their namespaces are disjoint). Pass topic_ids and/or prompt_ids arrays. Requested ids with no data come back as null, so the key set is stable. The bulk companion to get_visibility_summary — use it to render a per-topic / per-prompt table without one request per row.
get_visibility_heatmap
ChatGPTReturns a day-by-day series of visibility percentage and mention count for the selected brand over the reporting window, shaped for a calendar-style heatmap. Each entry is one calendar day with the brand's visibility pct and the mention count on that day.
get_visibility_over_time
ChatGPTReturns a daily visibility time series for the selected brand, with one point per (date, model_provider). value is the visibility percentage on that day for that provider.
get_visibility_over_time_by_brand
ChatGPTReturns a daily visibility-percentage time series for every brand observed on the project, one entry per (brand, date), each with display metadata. Shaped for comparative multi-line charts against competitors.
get_visibility_summary
ChatGPTReturns headline visibility KPIs for a project over a date window: visibility %, share of voice, avg mentions per prompt, total mentions, and rank — each with a period-over-period delta. Optionally scoped to one or more topics or locations, or an AI model.
get_visibility_trends
ChatGPTReturns a daily visibility-percentage series for each of the requested topic_ids and prompt_ids in one call, suitable for inline sparklines. With group_by: "location" it also returns per-location aggregate series and location-prefixed topic/prompt series.
invite_organization_member
ChatGPTInvites a user to the organization by email at the given role (defaults to member). Sends an invite email and returns the invitation, including an accept link you can share.
list_brands
ChatGPTReturns every brand that appeared in AI answers on the project over the reporting window, each with its visibility percentage. Display metadata (name, aliases, logo, domain, colors) is attached as info. Pass include_deleted: true to also return soft-deleted brands.
list_cited_domains
ChatGPTReturns domains ranked by how often AI engines cited a URL on them in answers for this project, with unique-URL counts, first-seen date, providers that cited them, and which tracked brands own them. Owned domains include the brand’s display metadata.
list_cited_urls
ChatGPTReturns every URL on the given domain that AI engines cited over the reporting window, with citation counts, page type, first-seen date, and which providers cited it.
list_models
ChatGPTLists the models a project may run prompts against, with the ids create_prompts and update_prompt take in modelIds. isDefault marks the models new prompts get by default.
list_models_with_answers
ChatGPTReturns the list of model slugs that have answered at least one prompt on the project. Use these values for the model parameter of other tools.
list_organization_invitations
ChatGPTReturns the pending (unexpired) invitations for an organization, each with a shareable accept link.
list_organization_members
ChatGPTReturns the active members of an organization — each member’s name, email, and role.
list_organizations
ChatGPTReturns all organizations the authenticated user is a member of.
list_projects
ChatGPTReturns projects the authenticated user can access. Optionally filter by organization_id.
list_search_queries
ChatGPTReturns ranked fan-out query rows grouped by query (default), topic, prompt, model, location, query type, or retrieval strategy. Query rows include both brand-led/generic and retrieval-strategy classifications. Supports pagination, search, sorting, retrieval-strategy filtering, answer-visibility filtering, and an optional rolling trend window.
list_topics
ChatGPTLists a project's topics. Optionally includes each topic's prompts — text, models, locations, language, and paused state.
remove_organization_member
ChatGPTRemoves a member from the organization, revoking their access. You can't remove yourself or the last super admin.
resend_organization_invitation
ChatGPTResends a pending invitation with a fresh link and a refreshed 7-day expiry.
restore_brand
ChatGPTReactivates a previously removed brand, bringing back its past data. Idempotent: returns restored for a removed brand, noop if it is already active, or created if it was never tracked. Use create_brand to add a brand-new brand by name.
revoke_organization_invitation
ChatGPTRevokes a pending invitation so its link stops working.
update_organization_member_role
ChatGPTChanges a member's role. You can't change your own role or demote the organization's last super admin.
update_prompt
ChatGPTEdits a prompt's type, locations, models, or paused status. The text is immutable because report data is keyed by prompt id: to track a different wording, create a new prompt (or duplicate this one) and delete the old one. Resuming a prompt also resumes its parent topic if it was paused.
update_topic
ChatGPTRenames a topic or changes its description or category, or pauses/resumes it. Pausing a topic stops tracking all its prompts until resumed.