---
title: "Brand against competitors"
description: "Every keyword matched in the window with its counts and its share of brand plus competitor matches; topic keywords are counted but stay out of the split. The window is `range` (7d, 30d, 90d, 365d, ending today) or `from` and `to`, cut into days in `timezone` (UTC by default); `keywordIds` and `platforms` narrow it; `compare=true` adds the period of the same length right before it. Time axis is the publish date."
canonical: https://docs.mentio.dev/api/analytics/get-share-of-voice
markdown: https://docs.mentio.dev/api/analytics/get-share-of-voice.mdx
---

# Brand against competitors

`GET /v1/analytics/share-of-voice`

Every keyword matched in the window with its counts and its share of brand plus competitor matches; topic keywords are counted but stay out of the split. The window is `range` (7d, 30d, 90d, 365d, ending today) or `from` and `to`, cut into days in `timezone` (UTC by default); `keywordIds` and `platforms` narrow it; `compare=true` adds the period of the same length right before it. Time axis is the publish date.

## Parameters

- `range` (query): Preset window ending today. Ignored when from or to is given. Default 30d.
- `from` (query): First day, YYYY-MM-DD, inclusive, in `timezone`.
- `to` (query): Last day, YYYY-MM-DD, inclusive, in `timezone`. Default today.
- `keywordIds` (query): Only these keyword ids. Repeatable, or comma-separated; omit for every keyword.
- `platforms` (query): Only these platforms. Repeatable, or comma-separated; omit for every platform.
- `compare` (query): true adds the period of the same length right before the window as `previous`.
- `timezone` (query): IANA zone the days are cut in (Europe/Madrid). Default UTC. One offset, the zone's at the end of the window, applies to the whole window.

## Responses

- 200: Keywords, most matched first
- 400: Invalid query
- 401: Missing or invalid API key

Full schemas: https://api.mentio.dev/v1/openapi.json. Conventions: https://docs.mentio.dev/conventions.mdx
