Get a report on source URL visibility and citations across AI search engines.
Results are aggregated for the entire date range by default. Use the "date" dimension for daily breakdowns.
Returns columnar JSON: {columns, rows, rowCount}. Each row is an array of values matching column order. Columns:
- url: the full source URL (e.g. "https://example.com/page")
- classification: page type — Homepage, Category Page, Product Page, Listicle (list-structured articles), Comparison (product/service comparisons), Profile (directory entries like G2 or Yelp), Alternative (alternatives-to articles), Discussion (forums, comment threads), How-To Guide, Article (general editorial content), Other, or null
- title: page title or null
- channel_title: channel or author name (e.g. YouTube channel, subreddit) or null
- citation_count: total number of explicit citations across all chats
- retrieval_count: total number of distinct chats that retrieved this URL, regardless of whether it was cited
- citation_rate: average number of inline citations per chat when this URL is retrieved. Can exceed 1.0 — higher values indicate more authoritative content.
- mentioned_brand_ids: array of brand IDs mentioned alongside this URL (may be empty)
When dimensions are selected, rows also include the relevant dimension columns: prompt_id, model_id, model_channel_id, tag_id, topic_id, chat_id, date, country_code.
Dimensions explained:
- prompt_id: individual search queries/prompts
- model_id: AI search engine (e.g. chatgpt-scraper, gpt-4o, gpt-4o-search, gpt-3.5-turbo, llama-sonar, perplexity-scraper, sonar, gemini-2.5-flash, gemini-scraper, google-ai-overview-scraper, google-ai-mode-scraper, llama-3.3-70b-instruct, deepseek-r1, deepseek-v4-pro, claude-3.5-haiku, claude-haiku-4.5, claude-sonnet-4, grok-scraper, microsoft-copilot-scraper, grok-4, qwen-3-6-plus, amazon-rufus-scraper) — deprecated, prefer model_channel_id
- model_channel_id: stable engine channel (e.g. openai-0, openai-1, qwen-0, openai-2, perplexity-0, perplexity-1, google-0, google-1, google-2, google-3, anthropic-0, anthropic-1, deepseek-0, meta-0, xai-0, xai-1, microsoft-0, amazon-0) — survives model upgrades
- tag_id: custom user-defined tags
- topic_id: topic groupings
- date: (YYYY-MM-DD format)
- country_code: country (ISO 3166-1 alpha-2, e.g. "US", "DE")
- chat_id: individual AI chat/conversation ID
Filters use {field, operator, values} where operator is "in" or "not_in". Filterable fields: model_id (deprecated), model_channel_id, tag_id, topic_id, prompt_id, domain, domain_classification, url, url_classification, country_code, chat_id, mentioned_brand_id.
Additional filters:
- mentioned_brand_count: {field: "mentioned_brand_count", operator: "gt"|"gte"|"lt"|"lte", value: <number>} — filter by number of unique brands mentioned.
- gap: {field: "gap", operator: "gt"|"gte"|"lt"|"lte", value: <number>} — gap analysis filter. Excludes URLs where the project's own brand is mentioned, and filters by the number of competitor brands present. Example: {field: "gap", operator: "gte", value: 2} returns URLs where the own brand is absent but at least 2 competitors are mentioned.
Sort results with order_by: array of {field, direction} entries. Direction defaults to desc. Sortable fields: retrieval_count, retrievals, citation_count, citation_rate. Multiple entries create a multi-key sort.