API Docs / Niches

Niches

Endpoints for exploring YouTube niches, including market dynamics, channels, keywords, and videos.

Endpoints

Method Path Description
GET /api/v1/niches/search Search niches by keyword
GET /api/v1/niches/:id Get niche details
GET /api/v1/niches/:id/channels List channels in a niche
GET /api/v1/niches/:id/keywords Get niche keywords
GET /api/v1/niches/:id/videos List videos in a niche

Search Niches

GET /api/v1/niches/search

Search for niches by name, with filters for market type, channel count, and Skool presence.

Parameters

Parameter Type Required Description
q string Yes Search query (matches niche name)
market_type string No Filter by market type (see values below)
min_channels integer No Minimum channel count
has_skool string No Set to true to filter niches with Skool communities
sort_by string No Sort field: channels (default), demand, supply, monetization, skool_mrr
page integer No Page number (default: 1)
per_page integer No Results per page (default: 25)

Market Types

Value Description
tiny Fewer than 3 channels — too early to classify
hidden Very few creators but some audience demand — a hidden gem waiting to be tapped
unestablished Low creator activity and low audience interest — not yet a proven niche
rising Growing audience demand but creators are still small — the opportunity zone
declining Established creators but audience interest is fading
established Mature creators with proven, sustained audience demand

Example Request

curl -X GET "https://tuberalytics.com/api/v1/niches/search?q=fitness&min_channels=10" \
  -H "Authorization: Bearer sk_live_your_api_key"

Example Response

{
  "data": [
    {
      "id": 15,
      "name": "home fitness",
      "slug": "home-fitness",
      "channels_count": 87,
      "market_type": "established",
      "supply_score": 7.2,
      "demand_score": 8.4,
      "monetization_score": 6.9,
      "total_skool_mrr": 125000,
      "avg_views_per_video": 45000
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "total_pages": 2,
    "total_count": 34
  }
}

Get Niche

GET /api/v1/niches/:id

Get full details for a niche, including market dynamics scores and monetization data.

Example Request

curl -X GET "https://tuberalytics.com/api/v1/niches/15" \
  -H "Authorization: Bearer sk_live_your_api_key"

Example Response

{
  "data": {
    "id": 15,
    "name": "home fitness",
    "slug": "home-fitness",
    "channels_count": 87,
    "market_type": "established",
    "supply_score": 7.2,
    "demand_score": 8.4,
    "monetization_score": 6.9,
    "total_skool_mrr": 125000,
    "avg_views_per_video": 45000,
    "description": "Content focused on home workout routines, equipment reviews, and fitness challenges...",
    "youtube_revenue_score": 6.5,
    "niche_rpm": 4.20,
    "total_videos": 12500,
    "total_subscribers": 35000000,
    "median_channel_subscribers": 92000,
    "skool_channels_count": 12,
    "market_dynamics_computed_at": "2026-03-30T03:00:00Z",
    "created_at": "2026-01-20T10:00:00Z",
    "updated_at": "2026-03-30T03:00:00Z"
  }
}

List Niche Channels

GET /api/v1/niches/:id/channels

List all channels in a niche, sorted by subscriber count.

Parameters

Parameter Type Required Description
page integer No Page number (default: 1)
per_page integer No Results per page (default: 25)

Example Request

curl -X GET "https://tuberalytics.com/api/v1/niches/15/channels" \
  -H "Authorization: Bearer sk_live_your_api_key"

Example Response

{
  "data": [
    {
      "id": 120,
      "youtube_channel_id": "UCexample123",
      "title": "THENX",
      "handle": "@THENX",
      "subscriber_count": 8500000,
      "average_views": 320000,
      "quality_classification": "established",
      "has_skool": true,
      "skool_estimated_mrr": 45000
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "total_pages": 4,
    "total_count": 87
  }
}

Get Niche Keywords

GET /api/v1/niches/:id/keywords

Get ranked keywords for a niche, including autocomplete suggestions.

Example Request

curl -X GET "https://tuberalytics.com/api/v1/niches/15/keywords" \
  -H "Authorization: Bearer sk_live_your_api_key"

Example Response

{
  "data": [
    {
      "name": "home workout no equipment",
      "rank": 1,
      "autocompletes": ["home workout no equipment for beginners", "home workout no equipment women"],
      "suggestions": ["bodyweight workout", "at home HIIT"]
    },
    {
      "name": "resistance band exercises",
      "rank": 2,
      "autocompletes": ["resistance band exercises for arms", "resistance band exercises full body"],
      "suggestions": ["band workout routine", "resistance training at home"]
    }
  ]
}

List Niche Videos

GET /api/v1/niches/:id/videos

List videos in a niche, with optional outlier filtering.

Parameters

Parameter Type Required Description
outliers string No Set to true for positive outliers only
page integer No Page number (default: 1)
per_page integer No Results per page (default: 25)

Example Request

curl -X GET "https://tuberalytics.com/api/v1/niches/15/videos?outliers=true" \
  -H "Authorization: Bearer sk_live_your_api_key"

Example Response

{
  "data": [
    {
      "id": 1501,
      "youtube_video_id": "xyz789abc123",
      "channel_id": 120,
      "title": "10 Min Morning Workout (No Equipment Needed)",
      "published_at": "2026-03-10T08:00:00Z",
      "view_count": 8500000,
      "like_count": 250000,
      "is_positive_outlier": true,
      "average_views_ratio": 26.5,
      "views_per_day": 425000
    }
  ],
  "meta": {
    "current_page": 1,
    "per_page": 25,
    "total_pages": 12,
    "total_count": 285
  }
}