nvNeuralVerge
Social media

YouTube Channel API and MCP — Videos, Views, Subscribers & Subtitles

Send a YouTube channel handle or URL, a playlist URL or a single video URL and this source returns the videos as data: title, description and its links, views, likes, comment count, duration, hashtags, publish date and paid-promotion flag — each with the channel's subscribers, total videos, total views and links attached.

You send
A channel handle or URL, playlist URL or video URL
You get back
Videos, shorts and streams with stats, plus the channel's totals
Coverage
Public YouTube channels, playlists and videos.
Price
5 points per returned video, up to 1,000 of each type per request — $5 per 1,000
Billed per video, short or stream actually returned, capped by your limits. A channel with nothing to return costs nothing.
Comparison

Ways to get this data

Three approaches teams use today, and where each one runs into trouble.

ApproachWhat it takesCostTrade-off
Browsing the channelOpen the Videos tab and note the numbersFree, and slowNo subtitles, no consistent numbers across channels
The YouTube Data APIA Google Cloud project, API key and quota managementFree within a daily quotaWorkable, but quota runs out fast across many channels, and captions for videos you don't own aren't available
NeuralVergeOne request per channel$5 per 1,000, misses not billedPublic stats only — watch time and audience data stay with the channel owner
Response

What you get back

Every field in the example response below.

FieldTypeDescription
total_itemsnumberHow many videos came back.
items[].idstringYouTube's video ID.
items[].urlstringDirect link to the video.
items[].typestringvideo, shorts or stream.
items[].titlestringVideo title.
items[].descriptionstringFull description text.
items[].description_linksarrayLinks in the description, resolved to their real targets.
items[].hashtagsarrayHashtags on the video.
items[].datestringWhen the video was published (ISO 8601).
items[].durationstringLength as HH:MM:SS.
items[].view_countnumberViews at read time.
items[].likesnumberLikes at read time.
items[].comments_countnumberComment count.
items[].comments_turned_offbooleanWhether comments are disabled.
items[].is_paid_contentbooleanWhether the video declares a paid promotion.
items[].subtitlesarraySubtitle tracks, when download_subtitles is on.
items[].channelobjectThe channel: name, handle, subscribers, total videos, total views, description, links, joined date, verified.
Response

Example response

A real response, as returned.

{
  "session_id": "041d22cf-688c-4be9-bce3-4488d7017c3c",
  "kind": "youtube_channel",
  "url": "https://www.youtube.com/@NASA",
  "max_results": 1,
  "max_results_shorts": 0,
  "max_results_streams": 0,
  "download_subtitles": false,
  "partial": false,
  "machine": {
    "total_items": 1,
    "items": [
      {
        "id": "Zezt6EsG9WE",
        "url": "https://www.youtube.com/watch?v=Zezt6EsG9WE",
        "type": "video",
        "title": "NASA Moon Base: Rovers and Lunar Terrain Vehicles (October 2026 Update)",
        "description": "There's a lot of ground to cover when you're building a Moon Base. From robotic rovers exploring the rugged lunar landscape to lunar terrain vehicles carrying Artemis astronauts across the surface, mobility will play a crucial role in establishing an enduring human presence on the Moon. …",
        "description_links": [
          { "text": "https://www.nasa.gov/missions/moon-ba...", "url": "https://www.nasa.gov/missions/moon-base/nasa-provides-progress-update-on-moon-base-rovers/" },
          { "text": "https://www.nasa.gov/moonbase/", "url": "https://www.nasa.gov/moonbase/" }
        ],
        "hashtags": [],
        "date": "2026-10-20T15:02:15.000Z",
        "duration": "00:09:17",
        "view_count": 897152,
        "likes": 10000,
        "comments_count": 0,
        "comments_turned_off": false,
        "is_members_only": false,
        "is_paid_content": false,
        "subtitles": [],
        "channel": {
          "id": "UCLA_DiR1FfKNvjuUpBHmylQ",
          "name": "NASA",
          "username": "NASA",
          "subscribers": 15100000,
          "total_videos": 6194,
          "total_views": 1132208768,
          "description_links": [
            { "text": "nasa.gov", "url": "https://www.nasa.gov" },
            { "text": "Instagram", "url": "https://www.instagram.com/nasa" }
          ],
          "joined_date": "Jun 3, 2008",
          "is_verified": true
        },
        "found_on_url": "https://www.youtube.com/@NASA/videos"
      }
    ],
    "errors": []
  },
  "total_points": 5
}
Integration

How to run it

The same lookup works from the app, the API, or as a tool an agent can call mid-task.

This endpoint is synchronous: the call blocks until the lookup completes and returns the records directly. If a lookup hits its time budget before finishing, the response comes back with partial: true and whatever it collected so far — re-run with smaller limits for a complete result. url is required. Optional: max_results (videos, 0-1,000, default 10), max_results_shorts and max_results_streams (0-1,000, default 0), sort_videos_by (POPULAR or OLDEST), download_subtitles (boolean), subtitles_language (any, de, es, fr, it, ja, ko, nl, pt, ru), subtitles_format (vtt, xml or plaintext).

curl -X POST https://api.neuralverge.ai/functions/v1/run-youtube-channel \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "url": "@NASA", "max_results": 10, "sort_videos_by": "POPULAR", "download_subtitles": true, "subtitles_format": "plaintext" }'
Use cases

What teams use it for

Where this field shows up in an actual workflow.

Competitor video strategy

See what a competitor publishes on YouTube and which videos get watched.

Transcript research

Pull subtitles from webinars and demos to search and quote what was said.

Creator vetting

Check subscribers, upload cadence and views per video before a sponsorship.

Account research

Read a prospect's recent videos to see what they're talking about.

Coverage & limits

Coverage, freshness and limits

What this source covers, how fresh it is, and where it stops.

Coverage

Public YouTube channels, playlists and videos.

Freshness

Read at request time — view and like counts are a snapshot at that moment.

Handling

This source returns what a channel published publicly, stamped with the URL it was read from and a session id you can trace.

What it will not do
  • —Subtitles only come back when the video has them; videos without captions return an empty list.
  • —Like counts can be rounded the way YouTube displays them (the sample shows 10000).
  • —Watch time, retention and audience demographics are private to the channel owner.
FAQ

Questions, answered

Yes — every Data Source endpoint, including this one, is synchronous: the lookup runs inside the request and the result comes back in the same response, no polling. If a lookup hits its time budget before finishing, the response comes back with partial: true and whatever records it collected so far — re-run with smaller limits to get a complete result instead of a partial one.

Related

Related sources

Try youtube channel on your own data

One request format across every source in the catalog.

Get started