Data access

The YouTube Data API for AI agents

By . Published 1 November 2026. Updated .

The YouTube Data API is the most open of the big platforms' official APIs. With an API key, an AI agent can search public Videos, read their view counts and durations, look up channels and read comments. Most other platforms' APIs do not let you read a competitor's posts at all.

It still runs out fast for marketing research. Search has its own small daily quota, search results carry no view counts, and the API will not give you the captions of a Video you do not own. This guide covers what the API returns as of November 2026, where the limits sit, and when an agent is better served by a YouTube scraper or a data service.

What the YouTube Data API covers

The API reads public YouTube resources: Videos, channels, playlists, comments and search results. Read calls work with an API key. Writing, such as uploading a Video or editing a playlist, needs the account owner to sign in with OAuth.

For a Video, videos.list returns the title, description, publish date, duration and statistics: views, likes and comment count. The dislike count has been private since 13 December 2021 and only comes back to the Video's owner.

What it does not return is anything about the Video's content. There is no hook, no on-screen text, no format and no transcript of someone else's Video. If an agent needs to know how a Video opens, it has to watch or transcribe it some other way.

Where the quota bites

Every project gets a default allocation of 100 search.list calls a day plus 10,000 units a day for all other endpoints combined. Costs per call, from Google's quota page and method pages (last updated 15 October 2026):

Sources: Google for Developers, YouTube Data API quota calculator, search.list, videos.list, commentThreads.list, captions.download and getting started pages. Checked 2026-11-01.
MethodQuota costWhat you get
search.list1 call from the separate search bucket of 100 a dayUp to 50 results a page, default 5. Snippet only: titles, channel and publish date, no view counts.
videos.list1 unitStatistics, duration and details for the Videos you name.
channels.list1 unitA channel's profile and totals.
commentThreads.list1 unitUp to 100 top-level comments a page, default 20.
captions.list50 unitsThe caption tracks a Video has.
captions.download200 unitsA caption file, but only if you have permission to edit the Video.

What that means for an agent

The search quota runs out first. At 100 calls a day and 50 results a call, one project can see at most 5,000 search results a day, and each page of results needs a second videos.list call before the agent knows how many views anything got. An agent that tries several phrasings per question, for several people on a team, uses up the search calls quickly.

Transcripts of other people's Videos are out of reach. captions.download requires the youtube.force-ssl or youtubepartner scope and permission to edit the Video, so the API cannot give an agent the words spoken in a competitor's Video.

You also cannot ask search for Shorts. The videoDuration filter splits at four and 20 minutes, and the search.list page does not mention Shorts at all. You filter by duration yourself after a videos.list call.

YouTube's developer policies (last updated 1 November 2026) say an API client must delete or refresh stored API data after 30 calendar days, and must not scrape YouTube. You can ask for more quota through Google's quota extension request form for YouTube API Services.

YouTube scraper, the official API or a data service

Use the official API when it covers what you need: your own channel, a few hundred public Videos a day, view counts and comments. It is free within quota and stable.

A YouTube scraper you write yourself can reach what a logged-out visitor sees, including search pages with view counts. It also needs proxies, retries and an engineer to fix it when YouTube changes its pages, and a project that also holds an API key is bound by the developer policies above. Check YouTube's terms and your own legal advice before you build one.

A data service fits when the agent needs things the API does not return, such as the hook, on-screen text and transcript of other people's Videos, or more searches than the quota allows, and nobody wants to maintain collection code. ShortsIntel is one: an MCP server and REST API that reads public YouTube data and returns it with views, duration and analysis in one response.

YouTube Data API and ShortsIntel side by side

YouTube Data API facts as documented on 2026-11-01. ShortsIntel prices as charged on the day this page was updated.
QuestionYouTube Data APIShortsIntel
Search a phrase100 searches a day by default, no view counts in the results.3 credits per Platform per page, with views and duration on each Video.
One Video's stats1 unit with videos.list.3 credits for a lookup by link or id.
Transcript of someone else's VideoNot available: captions.download needs edit permission.10 credits for a transcript, or 23 credits for full analysis with a timed transcript. Analysis takes Videos up to 10 minutes.
Hook, on-screen text, format, call to actionNot available.Part of a Video's analysis.
A channel and its recent uploadschannels.list for the profile, then more calls to list its uploads.6 credits for a channel lookup. Its videos are its Shorts only.
Works in Claude or ChatGPTOnly if someone wraps it as a tool.Yes, as a connector.

Data limits

ShortsIntel's YouTube data limits

  • Our YouTube Creator data is Shorts only. A channel lookup returns the channel's Shorts, not its long-form uploads.
  • Search and single Video lookups do return long-form Videos. Analysis and downloads work on Videos up to 10 minutes long.
  • There are no Hashtags or Sounds on YouTube, so get_hashtag_or_sound does not work there. score_video is TikTok only; Scores still come back on a channel's Shorts through get_creator.
  • Creator Trackers do not run on YouTube. Keyword Trackers do.
  • Everything is public data. It never signs in to your channel, so watch time, retention and revenue are not available.

What an agent gets back

Two real responses from our own account, trimmed. The first is one YouTube Video from a Research, with the analysis the official API does not have. The second is what an Assistant gets over MCP when it reads a Keyword on YouTube: views and duration come back with the search, with no second call.

YouTube, via REST API

Read the Videos from a B2B SaaS marketing Research on YouTube. (GET /v1/research/{id}/videos, one of 49 shown)

{
  "id": "02QPPnYwb0U",
  "platform": "youtube",
  "creator": { "name": "SelectHub", "handle": "SelectHub" },
  "snapshot": { "views": 1286 },
  "duration_seconds": 295,
  "intelligence": {
    "hook": {
      "type": "PROBLEM",
      "opening_line": "In a lot of companies, the CRM is seen as a sales tool and little more.",
      "visual_hook": "man speaking directly to camera with hand gestures"
    },
    "tone": { "speaking_style": "INSTRUCTIONAL", "sentiment_label": "Neutral" },
    "visual": {
      "format": "TALKING_HEAD",
      "on_screen_text": [
        "Tip #1: Map the Journey, Not Just the Funnel",
        "Tip #2: Set Up Scoring That Reflects Intent",
        "Tip #3: Create Segment-Based Campaign Triggers",
        ...
      ],
      "has_on_screen_captions": false
    },
    "content": {
      "niche": "BUSINESS",
      "transcript_segments": [
        { "text": "In a lot of companies, the CRM is seen", "start_ms": 0, "end_ms": 4800 },
        { "text": "as a sales tool and little more.", "start_ms": 2640, "end_ms": 7000 },
        { "text": "Marketing might dump in leads, glance at", "start_ms": 4800, "end_ms": 9240 },
        ...
      ]
    }
  }
}
(safety, keywords, scene breakdown and the rest of the transcript trimmed)
Captured 1 November 2026. Tools used: GET /v1/research/{id}/videos. Output trimmed; live results change.

YouTube, via MCP server

What do YouTube Videos about "saas marketing" get this month? (get_keyword, platform youtube)

{
  "run": { "kind": "keyword_lookup", "status": "completed", "charge_credits": 3 },
  "result": {
    "phrase": "saas marketing",
    "platform": "youtube",
    "stats": { "sampled_videos": 15, "views_median": 263, "views_max": 73228 },
    "top_videos": [
      {
        "url": "https://www.youtube.com/watch?v=QXxESN94Y6s",
        "creator": { "name": "Starter Story", "handle": "starterstory" },
        "snapshot": { "views": 73228 },
        "duration_seconds": 785
      },
      {
        "url": "https://www.youtube.com/watch?v=YB5YYnrCOPM",
        "creator": { "name": "Henry SaaS", "handle": "HenrySaaS" },
        "snapshot": { "views": 61567 },
        "duration_seconds": 3972
      },
      ...
    ]
  }
}
(10 top Videos in all; the trend field is null on a first lookup)
Captured 1 November 2026. Tools used: get_keyword. Output trimmed; live results change.

What it costs

ShortsIntel has no subscription. Each call that does work is a Run, paid from a prepaid Balance of Credits at 1,000 credits per US dollar. New accounts get 1,000 credits free, valid for 90 days. A Run that fails costs nothing, and a partial one is charged only for what finished.

On YouTube, a Keyword costs 3 credits, a Video lookup 3 credits, a channel lookup 6 credits, a Video's analysis 23 credits and a niche Research 1,036 credits for up to 50 analysed Videos. Every paid call can quote its price first. The full list is on the pricing page.

Connect your Assistant

The MCP server address is https://www.shortsintel.com/api/mcp for every Assistant. None of them needs an API key: you sign in to ShortsIntel and choose which organization pays. The YouTube MCP page lists every tool that works on YouTube.

Claude.ai

Web and desktop. No API key: Claude signs in to ShortsIntel for you.

  1. Open Claude's add connector page with ShortsIntel filled in, and choose Add. Or go to Settings, Connectors, Add custom connector, and paste the endpoint below.
    https://www.shortsintel.com/api/mcp
  2. Sign in to ShortsIntel, approve the connection and choose the organization whose Balance pays for Runs.
  3. In a chat, turn the ShortsIntel connector on and ask your question.

ChatGPT

Web and desktop, in Developer mode. No API key: ChatGPT signs in over OAuth.

  1. Open ChatGPT's connector settings and switch Developer mode on.
  2. Create a connector named ShortsIntel, paste the endpoint and choose OAuth.
    https://www.shortsintel.com/api/mcp
  3. Sign in to ShortsIntel and choose your organization.
  4. In a new chat, choose the + next to the message box, then Developer mode, and turn ShortsIntel on.

Claude Code

One command, then sign in from Claude Code.

  1. Add the server in your terminal.
    claude mcp add --transport http --scope user shortsintel https://www.shortsintel.com/api/mcp
  2. Run /mcp inside Claude Code, choose shortsintel and sign in.

Codex

One command; Codex signs in on first use.

  1. Add the server in your terminal.
    codex mcp add shortsintel --url https://www.shortsintel.com/api/mcp
  2. If no browser window opens to sign in, start it yourself.
    codex mcp login shortsintel

Cursor and VS Code

One-click install links; each asks you to confirm.

  1. In Cursor, open the Cursor install link.
  2. In VS Code, open the VS Code install link.
  3. Sign in to ShortsIntel when the editor asks.

Questions

What is the YouTube Data API quota?
As of November 2026 each project gets 100 search.list calls a day plus 10,000 units a day for all other endpoints combined. Most read calls, such as videos.list, channels.list and commentThreads.list, cost 1 unit. captions.list costs 50 units and captions.download 200.
Can I get a YouTube Video's transcript from the API?
Only for Videos you have permission to edit. captions.download needs an OAuth scope and edit rights on the Video, so an agent cannot use it to read a competitor's captions.
Does the YouTube Data API return view counts in search results?
No. search.list returns snippets: titles, channel and publish date. To get views, likes and comment counts you call videos.list with the Video ids from the search.
Can the YouTube Data API search Shorts only?
Not directly. The search.list page does not mention Shorts, and its videoDuration filter only splits at four and 20 minutes. You filter by each Video's duration after a videos.list call.
Is a YouTube scraper allowed?
YouTube's developer policies say an API client must not scrape YouTube. Outside that, it depends on YouTube's terms, the data and your country, and this page is not legal advice. ShortsIntel reads only public data and never signs in to your channel.
Does ShortsIntel cover long-form YouTube Videos?
In search and single Video lookups, yes, and analysis works on Videos up to 10 minutes. Channel lookups return the channel's Shorts only, so our YouTube Creator data is Shorts only.

Try it in your Assistant

Connect ShortsIntel to the Assistant you already use and ask the question this guide answers, or try the calls in the Playground first.