Get share of voice
Brand vs competitor share of voice — mention-share percentage, rank among all tracked entities, and each entity's point change against the equal-length window just before the requested one (null when either window has no mentions). mentions/citations are always null here (not computed by the backing service, and not shown by the in-app view either) — use /competitors for those. Pass unbranded=true or branded=true to restrict by prompt brand state. days defaults to 30, max 365.
Request
- Base URLhttps://app.searchable.com
- AuthHTTP bearer
Path parameters
The project id.
Query parameters
Lookback window in days. Default and maximum vary by endpoint — see the operation description.
Comma-separated AI platform filter (e.g. chatgpt,claude,gemini). Accepted values and whether the param is required vary by endpoint — see the operation description.
Restrict to a single topic id.
Pass true to restrict every metric to non-branded prompts only.
Pass true to restrict every metric to branded prompts only.
Return only one kind of competitor, as split in the app's Competitors list: direct competitors are the ones you track on purpose, serp competitors were found in AI answers (a competitor never marked either way counts as serp). all (the default) returns both. This narrows which competitor rows come back, not how they are measured: share of voice, visibility and rank stay calculated against every brand and competitor in the market, and the brand's own figures are unchanged.
Comma-separated ISO 3166-1 country codes (e.g. US,GB) or country names.
Comma-separated tracked-location ids.
Period comparison. previous_period re-runs the same metrics over the window immediately before the current one (same length); previous_year over the same window shifted back exactly 365 days. The response gains an additive comparison block: { mode, dateRange, previous, delta } — delta is current minus previous for every shared numeric metric (on /visibility/topics, per-topic deltas ride inline on each topic row instead). Invalid values return 400 invalid_argument.
Start of an absolute window (inclusive, UTC). Accepts YYYY-MM-DD or a full ISO timestamp. Requires to, and is mutually exclusive with days — sending both returns 400 invalid_argument. A range longer than the endpoint's maximum is rejected rather than clamped.
End of an absolute window (inclusive, UTC). Accepts YYYY-MM-DD or a full ISO timestamp. Requires from.
Response
Share of voice.