Skip to main content
The leaderboard on the Competitors page is the visibility report with brands: "all": one row per brand, you plus every confirmed competitor, each with its rank by Visibility Score.

How this example works

  1. brands: "all" returns you and every confirmed competitor. Your row has brand.owned: true.
  2. rank is by Visibility Score, 1 = best. To order by another metric, pass sort or sort in your code. Use descending order for rates and the score, and ascending for average_position, where lower is better.
  3. One page is enough. A leaderboard holds you plus your confirmed competitors, well under the 100-row page size.

Per engine

Add group_by: ["platform"] and rank restarts within each engine, so you can see where a competitor leads and where you do. Rows come sorted by engine, then rank.

Only some brands

Pass a list instead of "all": brands: ["Misali Foods", "Shan Foods"]. Names match your brand or a confirmed competitor, ignoring case. rank is still the brand’s position among everyone, not among the brands you listed. A name that matches neither returns no row, so check that every brand you asked for came back.

With change

Run the same call for the previous window (how to compute it) and join on brand.name to show each brand’s change in score and in rank.
Unconfirmed competitors are measured but not ranked. Confirm them on the Competitors page and they appear here, for past ranges too. See Why past numbers change.

Common follow-ups

Compare competitors over time

The same brands, day by day.

Your brand, domains and competitors

Who is confirmed, and their domains.