create_location
ChatGPTCreate a location for a website
create_prompts
ChatGPTCreate one or more prompts on a website
create_topic
ChatGPTCreate a topic on a website (returns the existing topic when the name is already taken)
delete_location
ChatGPTDelete a location from a website
delete_prompt
ChatGPTDelete a prompt (soft when responses exist, hard otherwise)
delete_topic
ChatGPTDelete a topic (soft delete; optionally also delete its prompts)
get_ai_search_value
ChatGPTAI Search Value for a website: topic-market value, captured value range, headroom, coverage, value-weighted AI share of voice, per-topic detail, and modeled attributed contribution.
get_citation_rate_cumulative
ChatGPTGet cumulative citation rate — average citation rate for each competitor across the date range.
get_citation_rate_time_series
ChatGPTGet citation rate over time — how often AI models cite (link to) the website, grouped by day.
get_competitors
ChatGPTList competitors tracked for a website
get_content_citation_prompts
ChatGPTFor a single tracked content item, list every prompt whose AI responses cited it — with citations, citation %, and estimated impressions. Use after get_tracked_content to drill into which prompts a given URL is appearing for.
get_content_detail
ChatGPTFetch the full detail of a single tracked content item — its brief and body text (drafts, optimize rewrites, snipes, authored and scraped pages), plus status, cited source URLs, and links. Use after get_tracked_content to read the actual text behind a content_id. A status of generated_brief means the brief is ready while the article is still being written.
get_content_hub_sheets
ChatGPTList the Content Hub tabs/sheets configured for a website. Use to discover available tabs (e.g. 1st-party content, 3rd-party placements, Reddit) before calling get_tracked_content with a specific sheet_id.
get_credits_organization
ChatGPTGet credit balance for the organization
get_credits_website
ChatGPTGet credit balance for a specific website
get_date_range
ChatGPTGet the earliest and latest response dates for a website
get_group_detail
ChatGPTFetch a single group by id with its member websites.
get_group_saved_views
ChatGPTList group-level saved views (filter presets) shared across the websites in a group
get_groups
ChatGPTList all groups in the organization (global API key only)
get_locations
ChatGPTList geo-locations configured for a website
get_mention_rate_cumulative
ChatGPTGet cumulative mention rate — average mention rate for each competitor across the date range. mention_rate is absolute (share of all responses); relative_mention_rate is the share of responses mentioning any tracked brand.
get_mention_rate_time_series
ChatGPTGet mention rate over time — how often AI models mention the website by name, grouped by day. mention_rate is absolute (share of that day's responses); relative_mention_rate is the share of that day's responses mentioning any tracked brand.
get_pitch
ChatGPTGet a pitch report by ID including competitors, prompts, attributes, top citing sources, and aggregate metrics (brand mentions, sentiment, response rate).
get_position_cumulative
ChatGPTGet cumulative position — average ranking position for each competitor across the date range.
get_position_distribution
ChatGPTGet position distribution: share of responses where the brand ranks top/middle/bottom across the date range.
get_position_time_series
ChatGPTGet ranking position over time — average position of the website in AI model responses, grouped by day.
get_prompt_tags
ChatGPTList prompt tags for a website with per-tag prompt counts. Tag IDs can be used with the prompt_tags filter on the prompts endpoint.
get_prompts
ChatGPTList prompts (search queries) tracked for a website
get_response_detail
ChatGPTFetch a single LLM response by id with full sources, mentions, and rank details.
get_response_streaming_status
ChatGPTRead the latest (or a specific) response-streaming run's state and queue progress for a website
get_responses
ChatGPTGet LLM responses for a website. Shows how AI models answer queries, with sources, sentiment, and ranking data.
get_saved_views
ChatGPTList saved views (filter presets) for a website
get_share_of_voice_cumulative
ChatGPTGet cumulative share of voice — overall SOV for each competitor across the date range. Each entry also includes relative_mention_rate: the share of responses mentioning any tracked brand that mention this entity.
get_share_of_voice_time_series
ChatGPTGet share of voice over time — how often the website is mentioned vs competitors, grouped by day. Each entry also includes relative_mention_rate: the share of that day's responses mentioning any tracked brand that mention this entity.
get_source_pages
ChatGPTList individual cited URLs (pages) for a website with citation, mention, and impression metrics plus a per-URL daily sparkline. Each row is classified as owned / competitor / partner / third_party. Companion to get_sources (root-domain-level). Supports filters (date range, models, prompts, competitors, locations, personas), search, sort, and pagination.
get_sources
ChatGPTList top cited sources (root domains) for a website with citation, mention, brand-mention, and impression metrics. Each row is classified as owned / competitor / partner / third_party. Supports filters (date range, models, prompts, competitors, locations, personas), sort, and pagination via page_num / page_size.
get_topics
ChatGPTList topics (groupings of prompts) for a website, with the count of prompts in each
get_tracked_content
ChatGPTList tracked content (1st-party drafts, imported pages, 3rd-party placements) with citation, mention, and impression metrics for the supplied date range and filters. Supports pagination via page_num / page_size and optional filtering by Content Hub sheet_id or content_type.
get_user_by_email
ChatGPTLook up a user by email address, scoped to the caller's organization. Returns 404 when the email does not belong to a member of the organization or of one of its websites.
list_pitches
ChatGPTList pitch workspace reports for the organization. Returns all non-deleted pitches with their status and metadata.
list_websites
ChatGPTList every website accessible to the calling session. Works with any API key (global or scoped) and with MCP/OAuth sessions. Call with an empty argument object {}.
query_metrics
ChatGPTQuery aggregated metrics from ClickHouse. Use for any analytics question about brand performance, competitor analysis, sources, citations, or response trends. Cubes (same set as query_rows): attributes, citations, competitors, contents, prompts, response_mentions, responses, source_mentions, sources, topics, websites. Measures: count, count_distinct, avg, sum, min, max with optional per-measure where for conditional aggregation. Group by any dimension. Use alsoSelect for name columns (e.g. entity_name when grouping by entity_id). Use compare for period-over-period analysis (growth/drop between two date ranges). Brand vs competitor: - Brand mentions: from "response_mentions", where { is_website: true } - Competitor mentions: from "response_mentions", where { is_competitor: true } - Specific competitor: where { entity_id: { eq: "<uuid>" } } - Brand citations: from "citations", where { is_website: true } - Competitor citations: from "citations", where { is_competitor: true } Common dimensions: date, prompt_id, model_category, persona_id, location_id, prompt_topic_id, prompt_type, entity_id, domain, normalized_url. (Not every cube has every dim — see the per-cube schema; e.g. source_mentions has no prompt/model dims.) For anything model-related (filtering OR grouping/breakdowns), use model_category — its values are already display names ("ChatGPT", "Claude"). There is no raw "model" dimension to group or filter on. Name lookups via alsoSelect: entity_name (for entity_id), prompt_text (for prompt_id), topic_name (for prompt_topic_id; on the prompts cube, for topic_id). Text search in responses: use where { content: { like: "%keyword%" } } on the responses cube. Content-hub attribution (sources cube): where { is_attributed_content: true } keeps only URLs matching a content-hub article; group by content_id (alsoSelect content_title; add content_type to by if you need the type) for citation metrics per article, or by content_type alone for a type rollup. Article records live in the contents cube via query_rows.
query_rows
ChatGPTQuery individual rows from ClickHouse. Use for qualitative data like response text, specific identifiers, or individual mentions. Cubes (same set as query_metrics): attributes, citations, competitors, contents, prompts, response_mentions, responses, source_mentions, sources, topics, websites. Returns { rows, nextCursor, hasMore }. Pass nextCursor back as "after" to paginate. Use query_metrics for aggregates instead.
set_prompts_status
ChatGPTPause or unpause multiple prompts in one transaction
start_response_streaming
ChatGPTStart a response-streaming run for a website (all prompts or a selection)
update_location
ChatGPTUpdate a location for a website
update_prompt
ChatGPTUpdate a prompt's metadata (text, type, topic, geography)
update_topic
ChatGPTUpdate a topic's name or description