---
title: "Get creator outliers for a comet configuration"
method: GET
path: "/v1/comet/{id}/creators/outliers"
tags: ["Comet"]
---

# Get creator outliers for a comet configuration

`GET /v1/comet/{id}/creators/outliers`

## Request

- Base URL: `https://api.virlo.ai`
- URL: `https://api.virlo.ai/v1/comet/{id}/creators/outliers`
- Auth: HTTP bearer

Retrieves creators who significantly outperform their follower count. Every row uses one canonical shape (V1OutlierItemDto). With `order_by=rising` (Phase 3) rows are ranked by true run-over-run velocity and carry additive `growth_followers` / `growth_views` / `growth_video_count` / `local_video_count` fields, while the outlier-only metrics (`avg_views`, `outlier_ratio`, `creator_topics`, `identified_at`) come back null/empty. On a young Comet without two snapshots, `rising` transparently falls back to the weighted-outlier ranking. Because the velocity snapshots carry no topic data, combining `order_by=rising` with `category` uses the topic-aware weighted ranking so the filter is honored (`ranking: "outlier_fallback"`). Each row carries an `author_id` — pass it as `:creator_id` to `GET /v1/comet/:id/creators/:creator_id/similar` to find adjacent creators.

## Path parameters

- `id` string, required

## Query parameters

- `limit` number
- `page` number
- `order_by` 'outlier_ratio' | 'avg_views' | 'follower_count' | 'weighted_score' | 'rising'
- `sort` 'asc' | 'desc'
- `platform` 'youtube' | 'tiktok' | 'instagram'
- `follower_tier` 'nano' | 'micro' | 'mid' | 'macro'
- `category` string

## Response `200`

Successfully retrieved creator outliers

- CometOutliersResponseDto
  - `data` CometOutliersDataDto, required
    - `comet_id` string, required
    - `comet_name` string
    - `total` number, required
    - `limit` number, required
    - `offset` number, required
    - `hasMore` boolean, required
    - `outliers` V1OutlierItemDto[], required
      - `author_id` string, uuid, nullable, required: Stable creator identifier. Pass this as `:creator_id` to `GET /v1/comet/:id/creators/:creator_id/similar`. Null only when the upstream record has no linked author.
      - `creator_url` string, nullable, required
      - `creator_avatar_url` string, nullable, required
      - `follower_count` number, nullable, required
      - `avg_views` number, nullable, required: Average views across the creator's analyzed videos. Null when `order_by=rising` — the velocity ranking exposes `growth_*` instead of outlier metrics.
      - `outlier_ratio` number, nullable, required: How far the creator outperforms its follower count. Null when `order_by=rising` (not applicable to a velocity ranking).
      - `weighted_score` number: Size-weighted outlier score (Virality Score)
      - `videos_analyzed` number, required
      - `creator_topics` string[], required: Empty on `order_by=rising` (velocity snapshots carry no topic data — pass `category` to use the topic-aware weighted ranking instead).
      - `matching_topics` string[], required: Empty on `order_by=rising` (see `creator_topics`).
      - `platform` string, nullable, required
      - `identified_at` string, nullable, required: Null when `order_by=rising`.
      - `median_views` number, nullable: Median views across the creator's analyzed videos — a robust "typical reach" that a single viral spike cannot inflate. Null when `order_by=rising`.
      - `top_video_views` number, nullable: Views of the creator's best analyzed video (the breakout headline). Null when `order_by=rising`.
      - `breakout_video_count` number: How many analyzed videos individually overperformed (consistency signal). Pairs with `videos_analyzed` as "N of M videos overperformed".
      - `avg_engagement_rate` number, nullable: Mean engagement rate = (likes+comments+shares+bookmarks)/views across analyzed videos. Null when the platform does not expose the underlying counts.
      - `posts_per_week` number, nullable: Posting cadence (posts per week) derived from the publish-date spread of analyzed videos. Null when there are too few dated videos.
      - `content_angle` string, nullable: One-sentence AI rationale describing what this creator does that makes them stand out. Null when unavailable.
      - `growth_followers` number, nullable: Phase 3 (`order_by=rising` only): change in follower count vs the previous run. Null otherwise.
      - `growth_views` number, nullable: Phase 3 (`order_by=rising` only): change in total niche views vs the previous run. Null otherwise.
      - `growth_video_count` number, nullable: Phase 3 (`order_by=rising` only): change in the creator's niche video count vs the previous run. Null otherwise.
      - `local_video_count` number: Phase 3 (`order_by=rising` only): number of this creator's videos in the niche.
      - `videos` V1OutlierVideoDto[]
        - `id` string, required
        - `title` string, required
        - `description` string, required
        - `views` number, required
        - `likes` number, required
        - `comments` number, required
        - `publish_date` string, nullable: ISO publish timestamp.
        - `publishDate` string, nullable: Deprecated camelCase alias for `publish_date`. Removed Aug 3, 2026.
        - `url` string, required
        - `hashtags` string[], required
        - `thumbnail_url` string, required
        - `type` string, required

## Other responses

- `401`: Unauthorized - missing or invalid API key
- `404`: Comet configuration not found
- `429`: Rate limit exceeded (`rate_limit_exceeded`); see the Retry-After header

---

[API](https://skmtc.dev/virlo/apis/virlo-public-api.md) · [All operations](https://skmtc.dev/virlo/apis/virlo-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/virlo/apis/virlo-public-api/revisions/3b69c6145087?raw)
