Algrow

Docs

Channel Research

Search and filter YouTube channels with similarity search and realtime growth metrics.

Search and filter YouTube channels programmatically. Uses similarity search combined with keyword matching, advanced filters, and realtime 24h/48h growth metrics. No credits required — available on all plans.

Two channel databases: /api/channels/search queries Shorts channels (vertical short-form content creators). /api/longform-channels/search queries Longform channels (standard YouTube video creators). Both support the same search and filter capabilities.

Search Shorts channels with similarity search, keyword matching, and advanced filters. Returns channel metadata, realtime growth metrics (24h/48h), and recent videos. Results are paginated.

Query Parameters

NameTypeRequiredDefaultDescription
qstringRequired—Search query. Accepts a channel ID (e.g. UCXx6GV...), @handle (e.g. @MrBeast), a video URL (e.g. https://youtube.com/shorts/..., https://youtu.be/...), or a search term. Comma-separated for multiple keywords. Prefix with - to exclude (e.g. gaming,-minecraft).
sortstringOptionalsubs_descSort field and direction. Format: {field}_{asc|desc}. Fields: subs, views, videos, age, added, views_24h, subs_24h, views_48h, similarity
pageintegerOptional1Page number (1-indexed)
per_pageintegerOptional20Results per page (max 50)
min_subsintegerOptional—Minimum subscriber count
max_subsintegerOptional—Maximum subscriber count
min_avg_viewsintegerOptional—Minimum average views per video
max_avg_viewsintegerOptional—Maximum average views per video
min_ageintegerOptional—Minimum channel age in days
max_ageintegerOptional—Maximum channel age in days
min_uploadsintegerOptional—Minimum number of videos
max_uploadsinteger——Maximum number of videos
min_viewsintegerOptional—Minimum total view count
max_viewsintegerOptional—Maximum total view count
min_views_24hintegerOptional—Minimum views gained in last 24 hours
max_views_24hintegerOptional—Maximum views gained in last 24 hours
min_views_48hintegerOptional—Minimum views gained in last 48 hours
max_views_48hintegerOptional—Maximum views gained in last 48 hours
min_similarityintegerOptional—Minimum similarity score (0–100). Tightens the default similarity bar; only effective when q is a channel identifier or topic keyword and an embedding was generated.

Response Fields

FieldTypeDescription
channel_idstringYouTube channel ID
channel_titlestringChannel name
subscriber_countintegerCurrent subscriber count
avg_views_per_videointegerAverage views across all videos
total_videosintegerNumber of videos on the channel
channel_age_daysintegerDays since first upload
view_countintegerTotal channel views
primary_languagestringDetected content language
thumbnail_urlstringChannel profile picture URL
view_increase_24hinteger|nullViews gained in last 24 hours
sub_increase_24hinteger|nullSubscribers gained in last 24 hours
view_increase_48hinteger|nullViews gained in last 48 hours
similarity_scoreinteger|nullSimilarity score (0–100) when using q search. Higher = more relevant.
recent_videosarrayUp to 6 most recent videos with video_id, title, view_count, upload_date, thumbnail_url, url

200 Success 401 Auth failed 500 Server error

Example Requests
# Similarity search for gaming channels
curl "https://api.algrow.online/api/channels/search?q=gaming&per_page=5" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Filter: young channels with high views, sorted by 24h growth
curl "https://api.algrow.online/api/channels/search?max_age=90&min_avg_views=500000&sort=views_24h_desc" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Exclude keywords: cooking channels but not baking
curl "https://api.algrow.online/api/channels/search?q=cooking,-baking&per_page=10" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200
{
  "success": true,
  "page": 1,
  "per_page": 5,
  "count": 5,
  "channels": [
    {
      "channel_id": "UCxxxxxxxxxxxxxxxxxxxxxx",
      "channel_title": "Epic Gaming Shorts",
      "subscriber_count": 245000,
      "avg_views_per_video": 1850000,
      "total_videos": 47,
      "channel_age_days": 182,
      "view_count": 86950000,
      "primary_language": "English",
      "thumbnail_url": "https://yt3.ggpht.com/...",
      "view_increase_24h": 320000,
      "sub_increase_24h": 1200,
      "view_increase_48h": 580000,
      "similarity_score": 87,
      "recent_videos": [
        {
          "video_id": "dQw4w9WgXcQ",
          "title": "This game is INSANE",
          "view_count": 4200000,
          "upload_date": "2026-03-15",
          "thumbnail_url": "https://i.ytimg.com/vi/...",
          "url": "https://www.youtube.com/shorts/dQw4w9WgXcQ"
        }
      ]
    }
  ]
}

Search Longform channels (standard YouTube creators) with the same similarity search and filtering capabilities. Returns channel metadata, realtime growth metrics, and recent videos with duration info.

Query Parameters

NameTypeRequiredDefaultDescription
qstringOptional—Search query. Accepts a channel ID, @handle, a video URL (e.g. https://youtube.com/shorts/..., https://youtu.be/...), or a search term. Comma-separated for multiple keywords, - to exclude. Omittable for browse mode when a sells/monetization/faceless/gender/age filter is present — combine with sort=age_asc for newest-first browsing.
sortstringOptionalsubs_descSort field and direction. Fields: subs, views, videos, age, total_views, added, views_24h, subs_24h, views_48h, similarity
pageintegerOptional1Page number (1-indexed)
per_pageintegerOptional20Results per page (max 50)
min_subsintegerOptional—Minimum subscriber count
max_subsintegerOptional—Maximum subscriber count
min_avg_viewsintegerOptional—Minimum average views per video
max_avg_viewsintegerOptional—Maximum average views per video
min_ageintegerOptional—Minimum channel age in days
max_ageintegerOptional—Maximum channel age in days
min_uploadsintegerOptional—Minimum number of videos
max_uploadsintegerOptional—Maximum number of videos
min_durationintegerOptional—Minimum average video duration in seconds
max_durationintegerOptional—Maximum average video duration in seconds
monetizedstringOptional—Filter by monetization: yes or no
facelessstringOptional—Filter by faceless classification: yes = only faceless channels (no on-camera host), no = only on-camera channels. Channels not yet classified are excluded from both filtered views.
min_views_24hintegerOptional—Minimum views gained in last 24 hours
max_views_24hintegerOptional—Maximum views gained in last 24 hours
min_views_48hintegerOptional—Minimum views gained in last 48 hours
max_views_48hintegerOptional—Maximum views gained in last 48 hours
categoriesstringOptional—Comma-separated content categories. Lowercase, from: tutorial, educational, documentary, gaming, reviews, commentary, compilation, stories, interview, challenge videos, diy, speeches, memes. Unknown values return 400.
min_similarityintegerOptional—Minimum similarity score (0–100). Tightens the default 30% similarity floor; only effective when q is a channel identifier or topic keyword. Values below 30 are clamped to the default.

Longform vs Shorts response differences: Longform channels use id and name instead of channel_id and channel_title. Videos include a duration field (in seconds). Longform also has monetized, url, and upload_day (days active) fields.

200 Success 401 Auth failed 500 Server error

Example Requests
# Search for finance channels under 1 year old
curl "https://api.algrow.online/api/longform-channels/search?q=finance&max_age=365" \
  -H "Authorization: Bearer YOUR_API_KEY"

# High-growth longform channels sorted by 24h views
curl "https://api.algrow.online/api/longform-channels/search?min_views_24h=50000&sort=views_24h_desc&per_page=10" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Monetized channels with specific subscriber range
curl "https://api.algrow.online/api/longform-channels/search?min_subs=10000&max_subs=100000&monetized=yes" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Documentary channels only
curl "https://api.algrow.online/api/longform-channels/search?q=ancient+civilizations&categories=documentary" \
  -H "Authorization: Bearer YOUR_API_KEY"
Response200
{
  "success": true,
  "page": 1,
  "per_page": 20,
  "count": 20,
  "channels": [
    {
      "id": "UCxxxxxxxxxxxxxxxxxxxxxx",
      "name": "Smart Money Moves",
      "subscriber_count": 52000,
      "avg_views_per_video": 185000,
      "total_videos": 34,
      "upload_day": 210,
      "view_count": 6290000,
      "primary_language": "English",
      "profile_picture": "https://yt3.ggpht.com/...",
      "monetized": true,
      "category": "documentary",
      "url": "https://youtube.com/@SmartMoneyMoves",
      "views_24h": 18500,
      "subs_24h": 340,
      "views_48h": 31200,
      "similarity_score": 92,
      "recent_videos": [
        {
          "video_id": "abc123xyz",
          "title": "How I Built a $10K/Month Side Income",
          "view_count": 420000,
          "upload_date": "2026-03-12",
          "thumbnail_url": "https://i.ytimg.com/vi/...",
          "url": "https://www.youtube.com/watch?v=abc123xyz",
          "duration": 845
        }
      ]
    }
  ]
}

Browse the top-growing channels ranked by recent view or subscriber deltas — the leaderboard that powers the Channel Trends page. Use this for browse-by-filter queries with no real topic to anchor a similarity search (e.g. “newest channels”, “biggest by subs”, “started in last 90 days”). Optionally pass q to narrow the leaderboard to a niche via embedding similarity.

Query Parameters

NameTypeRequiredDefaultDescription
content_typestringOptionalshortsshorts or longform — which index to rank.
metricstringOptionalviewsSort metric. 24h: views, subs. Rolling 48h: views_48h, subs_48h. Rolling 7d: views_7d, subs_7d. similarity only when q is set.
qstringOptional—Niche keyword or @handle to narrow the leaderboard. Comma-separated for multiple, - to exclude. Omit to browse the raw growth leaderboard.
pageintegerOptional1Page (1–20).
per_pageintegerOptional50Results per page (1–50).
min_subs / max_subsintegerOptional—Subscriber count range.
min_avg_views / max_avg_viewsintegerOptional—Average views per video range.
min_age / max_ageintegerOptional—Channel age in days since first upload. max_age=60 = “started in last 2 months”.
min_videos / max_videosintegerOptional—Video count range.
min_avg_duration / max_avg_durationintegerOptional—Average video duration in seconds (longform only; floor of 420s/7min is enforced).
remove_low_qualitybooleanOptionalfalseExclude channels flagged low-quality.
remove_musicbooleanOptionalfalseExclude music channels (longform only).
facelessstringOptional—yes = only faceless channels, no = only on-camera channels (longform only). Channels not yet classified are excluded from both filtered views.

200 Success 400 Invalid metric/content_type 401 Auth failed 500 Server error

Example Requests
# Fastest-growing longform channels in the last 90 days
curl "https://api.algrow.online/api/channel-trends?content_type=longform&metric=views_7d&max_age=90&per_page=20" \
  -H "Authorization: Bearer YOUR_API_KEY"

# Top growing Shorts channels in a specific niche
curl "https://api.algrow.online/api/channel-trends?q=cooking&metric=subs_48h&content_type=shorts" \
  -H "Authorization: Bearer YOUR_API_KEY"