Skip to main content
GET
Tracked competitor comparison
Your tracked competitor set with visibility, mentions, citations, share of voice, sentiment, and change vs the previous window. Pass matrices=true for the per-AI-model breakdown. search matches the brand name and website before limit is applied; total, rows and roster cover the matches, while stats and the trend stay unfiltered. The trend carries one line per brand unless you narrow it: trendBrands=default keeps your brand plus up to 9 tracked competitors, or pass a JSON array of names. Set includeRows=false when you only need the trend or the matrices. rowFields=roster returns every brand’s name, website, flags and segment tags in roster instead of full rows. stats always holds the average share of voice and the tracked competitor count across all rows. Scope filters are described on AI Visibility.

Authorizations

Authorization
string
header
required

Your SnowSEO API key (sk_...).

Query Parameters

teamId
string
platform
string

Comma-separated AI platform names, or 'All Platforms' for no filter.

competitor
string

Comma-separated competitor names, or 'All Competitors' for no filter. Keeps prompts where ANY listed competitor appears.

country
string

Comma-separated ISO2 country codes, or 'All Countries' for no filter.

startDate
string

YYYY-MM-DD. Omit with endDate set for All Time (from the first answer, no previous-period comparison).

endDate
string

YYYY-MM-DD

days
integer
default:30

Days back from today on the team's calendar, converted to startDate/endDate. Ignored when startDate or endDate is set. Defaults to 30.

Required range: x >= 1
promptBrand
string

'branded', 'unbranded', or 'all'.

tracking
string

'tracked', 'untracked', or empty for both.

intent
string

Comma-separated prompt intents, or empty for all.

includePrevious
string

Include previous-period comparison values alongside each data point (roughly doubles the time-series payload). Defaults to false.

homeOverview
enum<string>

Home chart projection: top eight non-user brands by share of voice and mentions, plus your brand. Global totals remain unchanged.

Available options:
true,
false

Case-insensitive text matched against the brand name and website. Applied before limit; total, rows and roster cover the matches. Stats and trend stay unfiltered.

limit
string

Max competitor rows, or 'all'. Defaults to 25. Also bounds the trend series and the matrix; the response reports total and truncated.

includeHistory
string

Include each row's daily visibility sparkline (~85% of a row). Defaults to false.

matrices
string

Include the per-competitor x per-AI-model matrix. Defaults to false.

includeTrend
string

Include the daily visibility trend across competitors. Defaults to true.

trendBrands
string

Brands to keep in the trend: a JSON array of names, or 'default' for your brand plus up to 9 tracked competitors. Your brand is always kept. Omit for every brand.

includeRows
string

Include the competitor rows. Defaults to true; set false when only the trend or matrices are needed.

rowFields
enum<string>

roster returns every brand's name, website, flags and segment tags in roster instead of full rows, ignoring limit. Defaults to full.

Available options:
full,
roster

Response

Default Response

meta
object
competitors
object
roster
object[]
stats
object
total
number
truncated
boolean