Tracked competitor comparison
Changed onPer-competitor AI-visibility rollup: visibility, mentions, citations, share of voice, sentiment and change vs the previous window, ordered by share of voice. Defaults to the top 25 brands without their daily history - raise limit or set includeHistory=true only if you need more, both grow the payload fast. matrices=true adds the per-AI-model breakdown. For every brand seen in answers rather than the tracked set, use ai_visibility_brands.
Request
- Base URLhttps://api.snowseo.com
- Auth
- HTTP bearer
- or API key in header x-api-key
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Query parameters
Comma-separated AI platform names, or 'All Platforms' for no filter.
Comma-separated competitor names, or 'All Competitors' for no filter. Keeps prompts where ANY listed competitor appears.
Comma-separated ISO2 country codes, or 'All Countries' for no filter.
YYYY-MM-DD. Omit with endDate set for All Time (from the first answer, no previous-period comparison).
YYYY-MM-DD
Days back from today on the team's calendar, converted to startDate/endDate. Ignored when startDate or endDate is set. Defaults to 30.
'branded', 'unbranded', or 'all'.
'tracked', 'untracked', or empty for both.
Comma-separated prompt intents, or empty for all.
Include previous-period comparison values alongside each data point (roughly doubles the time-series payload). Defaults to false.
Home chart projection: top eight non-user brands by share of voice and mentions, plus your brand. Global totals remain unchanged.
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.
Max competitor rows, or 'all'. Defaults to 25. Also bounds the trend series and the matrix; the response reports total and truncated.
Include each row's daily visibility sparkline (~85% of a row). Defaults to false.
Include the per-competitor x per-AI-model matrix. Defaults to false.
Include the daily visibility trend across competitors. Defaults to true.
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.
Include the competitor rows. Defaults to true; set false when only the trend or matrices are needed.
roster returns every brand's name, website, flags and segment tags in roster instead of full rows, ignoring limit. Defaults to full.
Response
Default Response
Changes
- info
added the new optional
queryrequest parametersearch - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status - info
added the optional property
to the response with the status
- info
- breaking
for the
queryrequest parameterdays, default value30was added - warning
for the
queryrequest parameterdays, the min was set to1.00
- breaking