---
title: "Competitor Dashboard Ep"
method: GET
path: "/sites/{site_id}/competitors/dashboard"
tags: ["sites"]
---

# Competitor Dashboard Ep

`GET /sites/{site_id}/competitors/dashboard`

## Request

- Base URL: `https://api.xeorank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.xeorank.com/sites/{site_id}/competitors/dashboard`
- Auth: API key in header `X-Agent-Key`

Aggregated competitor dashboard data.

## Path parameters

- `site_id` string, required

## Query parameters

- `email` string, nullable

## Response `200`

Successful Response

- CompetitorDashboardResponse
  - `site_domain` string, required
  - `site_cwv_phone` CompetitorCwvOut
    - `device` string, required
    - `lcp_ms` number, nullable
    - `inp_ms` number, nullable
    - `cls` number, nullable
    - `fcp_ms` number, nullable
    - `ttfb_ms` number, nullable
    - `measured_at` string, date-time, nullable
  - `site_cwv_desktop` CompetitorCwvOut
    - `device` string, required
    - `lcp_ms` number, nullable
    - `inp_ms` number, nullable
    - `cls` number, nullable
    - `fcp_ms` number, nullable
    - `ttfb_ms` number, nullable
    - `measured_at` string, date-time, nullable
  - `competitors` CompetitorDashboardCard[]
    - `id` string, required
    - `url` string, required
    - `domain` string, required
    - `title` string, nullable
    - `favicon_url` string, nullable
    - `source` string, required
    - `rationale` string, nullable
    - `latest_snapshot` CompetitorSnapshotOut
      - `title` string, nullable
      - `meta_desc` string, nullable
      - `headings` string[], nullable
      - `word_count` integer, nullable
      - `crawled_at` string, date-time, nullable
    - `cwv_phone` CompetitorCwvOut
      - `device` string, required
      - `lcp_ms` number, nullable
      - `inp_ms` number, nullable
      - `cls` number, nullable
      - `fcp_ms` number, nullable
      - `ttfb_ms` number, nullable
      - `measured_at` string, date-time, nullable
    - `cwv_desktop` CompetitorCwvOut
      - `device` string, required
      - `lcp_ms` number, nullable
      - `inp_ms` number, nullable
      - `cls` number, nullable
      - `fcp_ms` number, nullable
      - `ttfb_ms` number, nullable
      - `measured_at` string, date-time, nullable
    - `traffic` CompetitorTrafficOut
      - `estimated_visits` integer, nullable
      - `organic_traffic` integer, nullable
      - `paid_traffic` integer, nullable
      - `traffic_trend` string, nullable
      - `organic_keywords_count` integer, nullable
      - `backlinks_count` integer, nullable
      - `referring_domains` integer, nullable
      - `fetched_at` string, date-time, nullable
    - `changes_count_30d` integer
    - `last_change_at` string, date-time, nullable
    - `keywords_count` integer
  - `recent_changes` CompetitorChangeOut[]
    - `id` string, required
    - `competitor_domain` string, required
    - `change_type` string, required
    - `summary` string, nullable
    - `old_value` string, nullable
    - `new_value` string, nullable
    - `ai_analysis` string, nullable
    - `detected_at` string, date-time, nullable
  - `setup_done` boolean

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/xeorank/apis/seo-intelligence-engine.md) · [All operations](https://skmtc.dev/xeorank/apis/seo-intelligence-engine/llms.txt) · [OpenAPI document](https://skmtc.dev/xeorank/apis/seo-intelligence-engine/revisions/449a3fd73454?raw)
