Skip to content
All connectors
YouTube logo

YouTube

Content creation & media

Move briefs, assets and sign-offs through YouTube without chasing between tools.

14 ways to read, 6 ways to write, each write switched on by you.

Quality checks

Built and tested with example responses.

  1. Ready to connect: doneEvery listed action is built in.
  2. Built and tested with example responses: doneEach action is built from the provider’s published API and tested against example responses, errors, rate limits and paging.
YouTube with Nexra

Connected, approved, proven.

The things teams do most with YouTube, an example flow with a person in the loop, and what Nexra keeps as proof.

Top actions

  • Upload caption track (draft)captions.createApproval by rule
  • Add video to playlistplaylist_items.createApproval by rule
  • Run Analytics reportanalytics_reports.listRead

Example flow

  1. YouTube · Run Analytics reportanalytics_reports.listDone
  2. YouTube · Upload caption track (draft)captions.createMaker-checker
  3. Nexra · Record the decision and result in the evidence chainProven

Example workflow. Routine runs go through on their own. Only a change your rules flag, such as one over a limit you set, waits for the right person, who sees the exact change and the rule before it reaches YouTube.

What gets logged

  • Whether it ran on its own or who approved it, and under which rule
  • A fingerprint of the exact request sent to YouTube
  • YouTube's reply: what it created or changed
  • One entry in the evidence chain, linked to the one before

Try this in the sandbox

Run the whole flow with test data in your sandbox, then connect your own account when you are ready to go live.

For developers

Technical detail

YouTube channels, playlists, videos, comments, captions and Analytics reports, plus private video uploads, draft caption uploads and video and playlist metadata updates kept private or unlisted. No deletes.

Google API docs
Source actions
14
Destination actions
6
Data types
10

What you can map

Reads are always available. Writes are off until you switch them on for a connection, and governed writes follow your policies.

analytics groups1
  • List Analytics groupsSource

    YouTube Analytics groups (custom collections of videos or playlists) owned by the channel.

analytics reports1
  • Run Analytics reportSourceIncremental

    YouTube Analytics query (reports.query) for the authorised channel: metrics by dimensions over a date range, one row per record.

captions2
  • Upload caption track (draft)DestinationNot retried automaticallyApproval before production

    Uploads a caption file (SRT, WebVTT, TTML and other formats YouTube accepts) to one of your videos as a draft track.

  • List caption tracksSource

    Caption tracks on a video: language, name, kind and status. Track files are not downloaded.

channels2
  • Get channelSource

    One public channel by ID, with statistics.

  • List my channelsSource

    Channels owned by the authorised account, with statistics and the uploads playlist.

comment replies1
  • List comment repliesSource

    Replies to one top-level comment.

comment threads1
  • List comment threadsSource

    Top-level comments (with reply counts) on one video, or on every video of a channel.

playlist items2
  • Add video to playlistDestinationNot retried automaticallyApproval before production

    Adds a video to a playlist, optionally at a position.

  • List playlist itemsSource

    Videos in a playlist, in playlist order. Use a channel's uploadsPlaylistId to list every upload.

playlists4
  • Create playlistDestinationNot retried automaticallyApproval before production

    Creates a private (default) or unlisted playlist on the authorised channel.

  • Get playlistSource

    One playlist by ID.

  • List playlistsSource

    Playlists of the authorised channel, or of another channel by ID.

  • Update playlist detailsDestinationProvider duplicate protectionApproval before production

    Updates a playlist's title and description (snippet only). Privacy is never changed.

video categories1
  • List video categoriesSource

    Assignable video categories for a region, for use in videos.update.

videos5
  • Upload video (private)DestinationNot retried automaticallyApproval before production

    Uploads a video file to the authorised channel with YouTube's resumable protocol. The video is always private; publish it from YouTube Studio when it is ready.

  • Get videoSource

    One video with details, status and statistics.

  • List videos by IDSource

    Up to 50 videos by ID with details, status and statistics.

  • Search my videosSource

    Searches the authorised channel's own videos (search.list with forMine). Expensive in quota: prefer playlist_items.list on the uploads playlist for full syncs.

  • Update video detailsDestinationProvider duplicate protectionApproval before production

    Updates a video's title, description, tags, category and default language (snippet only). Privacy and publishing settings are never changed.

Access and limits

Authentication
Google OAuth client and refresh token
Plans and access
Any Google account with a YouTube channel. You need your own Google Cloud project with the YouTube Data API v3 (and YouTube Analytics API for reports) enabled and an OAuth client. Each project has a daily quota (10,000 units by default). Apps that are not verified by Google are limited to test users, and refresh tokens for apps in Testing status expire after 7 days.
Test environment
YouTube has no sandbox. Use a test channel (a Brand Account) and keep created playlists private.
Rate limits
YouTube enforces a daily quota per Google Cloud project (default 10,000 units, reset at midnight Pacific time) plus per-minute limits. Lists cost 1 unit, captions.list 50, writes 50; search.list is the expensive call (see videos.search). Quota errors are HTTP 403 with reason quotaExceeded or rateLimitExceeded and are classified as rate limits.
Pagination
Data API lists use pageToken and nextPageToken (maxResults up to 50, comments up to 100). Analytics reports use startIndex (1-based) and maxResults.
Provider events
YouTube offers PubSubHubbub push notifications for new channel uploads; Nexra does not subscribe to them. Flows run on demand, on a schedule, or when a scheduled check finds new or changed records.

Before you build a flow

  • Video uploads (videos.create, YouTube's videos.insert) use the resumable protocol and are always private: privacy is not an input, publishAt is never sent and subscribers are not notified. Files up to 2 GiB (Nexra's resumable ceiling) are sent in 8 MiB chunks; a failed chunk is resumed within the same session and the session is never restarted.
  • Caption uploads (captions.create) are sent as multipart/related, at most 100 MiB, and are always drafts. Thumbnail uploads (thumbnails.set) and caption replacement are not offered.
  • Never deletes videos, playlists, playlist items, comments or captions, and never sets anything to public. Video updates change the snippet only (title, description, tags, category, language) and leave privacy untouched; playlists are created private or unlisted.
  • YouTube replaces the whole snippet on update: a description, tag list or default language you do not send is removed. Read the video or playlist first and send every snippet field you want to keep.
  • Comment, reply, rating, moderation, subscription, live-streaming, membership and channel-branding writes are not offered.
  • Caption tracks can be listed but not downloaded: captions.download returns a file and only works for videos the caller owns, and it is excluded as a binary download.
  • There is no updatedSince filter. videos.search accepts publishedAfter for new uploads; playlists and comment threads are full reads.
  • Content-owner (CMS partner) parameters such as onBehalfOfContentOwner are not offered.
  • Quota costs follow Google's quota table as updated 2026-09-15: search.list and videos.insert now have their own bucket of 100 calls per day; earlier documentation listed search.list at 100 units per call. Both readings are noted on videos.search.

Developer reference

  1. Create the Google credentials described above with the narrowest permissions your flows need.
  2. In Nexra, open Connect, then Connections, then New connection, choose YouTube, enter its settings and credentials, and tick only the write actions you need. Connection guide
  3. Test the connection, then use its actions as flow sources and destinations. Flow guide

Machine-readable detail: GET /api/public/connect/connectors/youtube and the Connections API.