keyword_competitor_ranks
Per-keyword competitive rank tracking: for the keywords a brand TRACKS, which domains rank and at what position — one request for the whole set. This is the tool to use for competitive analysis; discover_competitors answers the weaker question 'who co-ranks for what we ALREADY rank for', which is noise for a new site. Read avg_position, not keyword count: <=3 is entrenched and rarely worth attacking, 11-30 is where the fastest wins are (the bucket field says which). positions maps each keyword to that competitor's rank. Uses the brand's ranking location. Source is our index of Google, so it lags a live SERP.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| top | No | With by_keyword: domains per keyword (default 10, max 100) | |
| limit | No | Competitors to return after filtering platforms (default 15, max 1000) | |
| site_id | Yes | Brand/site ID (from list_sites). Uses that brand's tracked keywords — add keywords first if it has none. | |
| by_keyword | No | Also return by_keyword: each tracked keyword's best-ranked domains. Use it for 'who is #1 for X'; the competitor list is ordered by coverage and hides single-keyword leaders. |