> ## Documentation Index
> Fetch the complete documentation index at: https://docs.searchable.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Recipe: Where do we stand against our competitors?

> Read share-of-voice standing with ranks and movement, then find the topics where a rival currently leads.

## The one-call version

```
investigate(projectId, question="competitive_position", days=30)
```

Returns your share and rank with period movement, the competitor table, the
topics where a rival out-ranks you, and your own direction of travel — in one
request.

## The chain, step by step

### 1. The standing

```
get_share_of_voice(projectId, compare="previous_period")
```

Read three things, in this order: your **rank**, your **delta**, and *who* moved.
A rank held while everyone's share compressed is a different story from a rank
held while one rival doubled.

### 2. Where the gap is

```
get_topic_analysis(projectId, days=30)
```

Per-topic visibility with the leading rival for each. The actionable subset is
the topics where someone else currently leads — that is the shortest route to
share, because the demand is already proven.

### 3. Drill into a contested topic

```
get_topic_analysis(projectId, view="prompts", topicId="<contested topic>")
```

Per-prompt rank inside that topic, with the competitors outranking you on each.
This is the level at which you can write something.

### 4. How they are winning it

```
search_sources(projectId, topicId="<contested topic>")
get_source_detail(projectId, level="domain", domain="<a source they own>")
```

If a rival leads a topic, some set of sources is carrying them. Those sources are
the target — more reliably than out-writing the rival's own page.

### 5. Your own trajectory

```
get_share_of_voice(projectId, group_by="date", days=90)
```

Standing is a snapshot; this is the direction. A #3 climbing is a much better
position than a #2 sliding.

## How to read it

| What you see                              | What it usually means                                                                        |
| ----------------------------------------- | -------------------------------------------------------------------------------------------- |
| Your share fell, absolute visibility flat | You did not get worse — someone else got better. Respond to *them*, not to your own content. |
| Your share rose, absolute visibility flat | A rival lost ground. Worth understanding why before assuming it holds.                       |
| Strong overall, weak on several topics    | The usual shape. Topic gaps are where the remaining share actually is.                       |
| A rival leads a topic you do not cover    | Not a loss — an unentered market. Cheaper to win than a contested one.                       |
| One rival gaining across every topic      | A category-level move (a launch, a campaign, a partnership), not a topic problem.            |

## What this cannot tell you

Share of voice measures presence in AI answers, not revenue, intent quality, or
whether a topic is worth winning. A topic where you rank last may be one you
deliberately do not serve — the data cannot see that, and will keep reporting it
as a gap.
