Skip to content

Connect YouTube to ChatGPT

Connect your YouTube channel to your AI through ApexGenius. Read videos and playlists, then add upload or channel management access when needed.

7 days free · No card required

How to connect YouTube to ChatGPT

Before you start

  • A Google account with access to the YouTube channel you intend to connect. Check the channel in YouTube first, especially if you use a Brand Account.
  • An ApexGenius account with this module available. If setup is pending or the module is missing, contact support.
  • ChatGPT developer mode must be available to your account and allowed by your workspace.

1. Connect YouTube to ApexGenius

  1. Open YouTube in Connections. Find the YouTube group and open YouTube. Each module has its own channel and access selection.
    The real Connections page showing YouTube and YouTube Analytics & Reporting as separate modules in the YouTube group.
    Find the YouTube group and open YouTube. Analytics & Reporting has its own setup.Open full-size image (opens in a new tab)
    The real YouTube module with its Connect button and Read channel and videos access selection.
    Choose your channel access, then select Connect.Open full-size image (opens in a new tab)
  2. Choose the access you need. Under Channel access, start with Read channel and videos. Upload videos, Upload and manage the channel, and Read channel memberships request different access. Then choose Connect. For an existing connection, choose Apply access with Google.
    The real Channel access panel with Read channel and videos selected.
    Start with Read channel and videos, or choose the access your task needs.Open full-size image (opens in a new tab)
  3. Select your Google account and YouTube channel. On Google’s own page, select the account with access to your intended channel. If Google offers a channel or Brand Account choice, select the intended channel. Review the requested permissions before continuing. Already granted permissions may make these screens look different. Return to ApexGenius when Google finishes.
    The real Google consent screen requesting View your YouTube account, with Cancel and Allow.
    Review the requested YouTube permission, then choose Allow.Open full-size image (opens in a new tab)
  4. Enable the connected channel. Confirm the saved channel name. Open Tools, find Allowed resources, and choose Refresh if needed. Enable the intended channel. Enabling it allows ApexGenius to use existing access; it does not grant new YouTube permissions. If the channel is wrong, stop and connect the intended channel.
    The ApexGeniusAI YouTube channel enabled in Allowed resources, showing one of one enabled.
    Check the channel name and turn on its access.Open full-size image (opens in a new tab)
  5. Check the connection status. Use Test connection or Check again when offered. Read the returned status and confirm the saved channel. A healthy connection does not yet prove that a report query or publishing action will work.
    The real connection test returning ApexGeniusAI is healthy, with authorization saved and a validation time.
    Select Test connection and check the returned channel and status.Open full-size image (opens in a new tab)
  6. Run your first read with an AI agent. Open AI agents and add or select your AI client. Allow this connection with Read only for the first test. Use the question below, then compare the returned channel and data with YouTube Studio. Empty recent analytics can mean data is not available yet.
    AI agents · First readGuide frame
    Connection
    YouTube
    Access for first test
    Read only

    Copy the first question below into your connected AI client. Check the returned channel and result.

    Illustrated setup guidance. Follow the controls shown in your own account. Drawn by ApexGenius, not a screenshot, so your screen may differ by version.
Connect YouTube

2. Add ApexGenius to ChatGPT

Use this server address when adding the connection:

https://server.autom8.pro/mcp
  1. In ChatGPT, open Settings, then Security and login. Turn on Developer mode if your account and workspace allow it.
  2. Open ChatGPT Plugins and select the plus button. Name the connection ApexGenius, add a description, and enter the MCP URL above under Connection.
  3. Create the connection, complete the ApexGenius OAuth sign-in and authorization, and review the discovered tools.
  4. When ApexGenius asks what this AI client may use, choose Read only for the first test, or Custom to limit it to the tools you need.
  5. Start a new conversation and select ApexGenius from the available tools before asking for live data.

Watch the connection

9-second loop · Silent, with captions

Read the steps Follow along at your own pace

1. Enable developer mode

ChatGPT Security and login settings with the Developer mode switch enabled.
This captured workspace places Developer mode in Settings, then Security and login.Open full-size image (opens in a new tab)

2. Create the plugin

ChatGPT New Plugin form filled with the ApexGenius name, server URL connection, MCP endpoint, and OAuth authentication.
This captured workspace labels the form New Plugin. Copy the live endpoint above, keep Server URL and OAuth selected, then acknowledge the warning.Open full-size image (opens in a new tab)

3. Find ApexGenius

ChatGPT Plugins directory search showing ApexGenius in the Personal section.
After creation, search Plugins for ApexGenius. A developer-mode copy appears under Personal rather than the Public catalog.Open full-size image (opens in a new tab)

4. Review the connection

ChatGPT ApexGenius plugin details showing its connection, permission control, and Developer mode label.
Open ApexGenius to review its connection, permission behavior, and Developer mode label before using it in a Work chat.Open full-size image (opens in a new tab)

3. Verify one safe read

Show the name and details of my connected YouTube channel.

Show the name and details of my connected YouTube channel.

Check connection status, the first tool result, and the channel identity separately. If access is missing, return to Channel access and review the needed permission with Google. Disconnect stops this module in ApexGenius; Google Account access removal can affect other Google apps.

Additional reference: the YouTube setup guide.

Start free

What it looks like in ChatGPT Work

An illustrative read-only request and response. Your results come from the account and dates you choose.

How the route works
ChatGPT
ChatGPT WorkApexGenius MCP route
Show the name and details of my connected YouTube channel.
ApexGenius
Working with ApexGenius1 tool search · 1 read
RequestCheck the channel
Account scopeAuthorized connections checked
apex_search_toolsYouTube channel identity · Find YouTube channel readsComplete
YouTubeapex_call_read_toolyoutube_channels_list · Read the connected channelComplete
ChatGPT

Illustrative example: here is your connected channel, with its name, description and channel ID. Use this to confirm which channel your AI can work with.

Read-only route
ChatGPT Work

What you can ask once it is connected

Show the name and details of my connected YouTube channel.

Show the playlists for my connected YouTube channel.

Read the title, description and status of a video I choose from my channel. Suggest changes without saving them.

Summarize recent comments on a video from my channel.

You choose what ChatGPT is allowed to touch

Choose the saved accounts and tools this ChatGPT connection may use. Its authorization carries that scope, and each business connection’s tool and resource restrictions still apply.

  • Full accessEvery enabled tool on the connections you choose.
  • Read onlyLooks things up, changes nothing.
  • CustomPick apps and tools one by one.
  • · Use the Google account that can access the intended YouTube channel. Check the saved channel before enabling it.
  • · Choose Read only for your AI client’s first test. More provider access requires Google consent and enabled tools.
  • · Start with reads. Uploads default to private and need the background worker. Current upload support is capped at 256 MiB per video.
  • · Captions require access to the connected channel. This is not an arbitrary-video transcript service. Google review and channel eligibility can limit writes.

The YouTube operations ChatGPT can run

82 operations: 30 Read and 52 Write. Available tools depend on your connection and permissions. Review any action that changes or removes data. ChatGPT discovers these operations through the ApexGenius gateway.

  • youtube_activities_listReadactivities · list using youtube. Enable the channel and grant the required access first.
  • youtube_captions_downloadReadcaptions · download using youtube. Owned/authorized caption tracks only; read methods require broad force-ssl scope. Enable the channel and grant the required access first.
  • youtube_captions_listReadcaptions · list using youtube. Owned/authorized caption tracks only; read methods require broad force-ssl scope. Enable the channel and grant the required access first.
  • youtube_channel_sections_listReadchannelSections · list using youtube. Enable the channel and grant the required access first.
  • youtube_channels_listReadchannels · list using youtube. Enable the channel and grant the required access first.
  • youtube_comment_threads_listReadcommentThreads · list using youtube. Public published comments may use configured API-key access; private moderation views require channel-owner OAuth. Enable the channel and grant the required access first.
  • youtube_comments_listReadcomments · list using youtube. Public published comments may use configured API-key access; private moderation views require channel-owner OAuth. Enable the channel and grant the required access first.
  • youtube_i18n_languages_listReadi18nLanguages · list using youtube. Enable the channel and grant the required access first.
  • youtube_i18n_regions_listReadi18nRegions · list using youtube. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_listReadliveBroadcasts · list using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_messages_listReadliveChatMessages · list using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_messages_stream_listReadyoutube · v3 · liveChat · messages · stream using youtube. Bounded live-chat stream worker; discovery names this stream, reference names it streamList. Enable the channel and grant the required access first.
  • youtube_live_chat_moderators_listReadliveChatModerators · list using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_streams_listReadliveStreams · list using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_members_listReadmembers · list using youtube. Channel memberships and provider access approval required. Enable the channel and grant the required access first.
  • youtube_memberships_levels_listReadmembershipsLevels · list using youtube. Channel memberships and provider access approval required. Enable the channel and grant the required access first.
  • youtube_playlist_images_listReadplaylistImages · list using youtube. Reconcile documentation versus discovery scopes; no readonly promise until verified. Enable the channel and grant the required access first.
  • youtube_playlist_items_listReadplaylistItems · list using youtube. Enable the channel and grant the required access first.
  • youtube_playlists_listReadplaylists · list using youtube. Enable the channel and grant the required access first.
  • youtube_search_listReadsearch · list using youtube. Enable the channel and grant the required access first.
  • youtube_subscriptions_listReadsubscriptions · list using youtube. Enable the channel and grant the required access first.
  • youtube_super_chat_events_listReadsuperChatEvents · list using youtube. Enable the channel and grant the required access first.
  • youtube_video_abuse_report_reasons_listReadvideoAbuseReportReasons · list using youtube. Enable the channel and grant the required access first.
  • youtube_video_categories_listReadvideoCategories · list using youtube. Enable the channel and grant the required access first.
  • youtube_videos_batch_get_statsReadvideos · batchGetStats using youtube. Dedicated quota bucket; preserve partial-success IDs. Enable the channel and grant the required access first.
  • youtube_videos_get_ratingReadvideos · getRating using youtube. Enable the channel and grant the required access first.
  • youtube_videos_listReadvideos · list using youtube. Enable the channel and grant the required access first.
  • youtube_uploads_get_statusReadyoutube uploads get status. Uses only this enabled channel. Reporting reads return available daily data, not real-time data.
  • youtube_get_channelReadConfirm the YouTube channel selected during OAuth.
  • youtube_list_videosReadList recent videos or inspect selected video IDs.
  • youtube_captions_deleteWritecaptions · delete using youtube. Owned/authorized caption tracks only; read methods require broad force-ssl scope. Enable the channel and grant the required access first.
  • youtube_captions_insertWritecaptions · insert using youtube. Owned/authorized caption tracks only; read methods require broad force-ssl scope. Enable the channel and grant the required access first.
  • youtube_captions_updateWritecaptions · update using youtube. Owned/authorized caption tracks only; read methods require broad force-ssl scope. Enable the channel and grant the required access first.
  • youtube_channel_banners_insertWritechannelBanners · insert using youtube. Banner upload is documented; verify usable branding application because older image fields are deprecated. Enable the channel and grant the required access first.
  • youtube_channel_sections_deleteWritechannelSections · delete using youtube. Enable the channel and grant the required access first.
  • youtube_channel_sections_insertWritechannelSections · insert using youtube. Enable the channel and grant the required access first.
  • youtube_channel_sections_updateWritechannelSections · update using youtube. Enable the channel and grant the required access first.
  • youtube_channels_updateWritechannels · update using youtube. Enable the channel and grant the required access first.
  • youtube_comment_threads_insertWritecommentThreads · insert using youtube. Enable the channel and grant the required access first.
  • youtube_comments_deleteWritecomments · delete using youtube. Enable the channel and grant the required access first.
  • youtube_comments_insertWritecomments · insert using youtube. Enable the channel and grant the required access first.
  • youtube_comments_set_moderation_statusWritecomments · setModerationStatus using youtube. Enable the channel and grant the required access first.
  • youtube_comments_updateWritecomments · update using youtube. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_bindWriteliveBroadcasts · bind using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_deleteWriteliveBroadcasts · delete using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_insertWriteliveBroadcasts · insert using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_insert_cuepointWriteliveBroadcasts · insertCuepoint using youtube. Selected channel/broadcast ownership and live capability required. Ad cuepoint requires eligible monetized broadcast; explicit confirmation. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_transitionWriteliveBroadcasts · transition using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_broadcasts_updateWriteliveBroadcasts · update using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_bans_deleteWriteliveChatBans · delete using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_bans_insertWriteliveChatBans · insert using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_messages_deleteWriteliveChatMessages · delete using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_messages_insertWriteliveChatMessages · insert using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_messages_transitionWriteliveChatMessages · transition using youtube. Selected channel/broadcast ownership and live capability required. Controls supported live-chat lifecycle such as closing a poll; validate transition enum. Enable the channel and grant the required access first.
  • youtube_live_chat_moderators_deleteWriteliveChatModerators · delete using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_chat_moderators_insertWriteliveChatModerators · insert using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_streams_deleteWriteliveStreams · delete using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_streams_insertWriteliveStreams · insert using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_live_streams_updateWriteliveStreams · update using youtube. Selected channel/broadcast ownership and live capability required. Enable the channel and grant the required access first.
  • youtube_playlist_images_deleteWriteplaylistImages · delete using youtube. Reconcile documentation versus discovery scopes; no readonly promise until verified. Enable the channel and grant the required access first.
  • youtube_playlist_images_insertWriteplaylistImages · insert using youtube. Reconcile documentation versus discovery scopes; no readonly promise until verified. Enable the channel and grant the required access first.
  • youtube_playlist_images_updateWriteplaylistImages · update using youtube. Reconcile documentation versus discovery scopes; no readonly promise until verified. Enable the channel and grant the required access first.
  • youtube_playlist_items_deleteWriteplaylistItems · delete using youtube. Enable the channel and grant the required access first.
  • youtube_playlist_items_insertWriteplaylistItems · insert using youtube. Enable the channel and grant the required access first.
  • youtube_playlist_items_updateWriteplaylistItems · update using youtube. Enable the channel and grant the required access first.
  • youtube_playlists_deleteWriteplaylists · delete using youtube. Enable the channel and grant the required access first.
  • youtube_playlists_insertWriteplaylists · insert using youtube. Enable the channel and grant the required access first.
  • youtube_playlists_updateWriteplaylists · update using youtube. Enable the channel and grant the required access first.
  • youtube_subscriptions_deleteWritesubscriptions · delete using youtube. Enable the channel and grant the required access first.
  • youtube_subscriptions_insertWritesubscriptions · insert using youtube. Enable the channel and grant the required access first.
  • youtube_thumbnails_setWritethumbnails · set using youtube. Enable the channel and grant the required access first.
  • youtube_videos_deleteWritevideos · delete using youtube. Enable the channel and grant the required access first.
  • youtube_videos_insertWritevideos · insert using youtube. Resumable upload; private default; public upload availability requires project audit. Enable the channel and grant the required access first.
  • youtube_videos_rateWritevideos · rate using youtube. Enable the channel and grant the required access first.
  • youtube_videos_report_abuseWritevideos · reportAbuse using youtube. Enable the channel and grant the required access first.
  • youtube_videos_updateWritevideos · update using youtube. Preview before/after; preserve omitted fields within updated parts; scheduling and brand-partner links are separate policy sub-actions. Enable the channel and grant the required access first.
  • youtube_watermarks_setWritewatermarks · set using youtube. Enable the channel and grant the required access first.
  • youtube_watermarks_unsetWritewatermarks · unset using youtube. Enable the channel and grant the required access first.
  • youtube_uploads_resumeWriteyoutube uploads resume. Uses only this enabled channel. Reporting reads return available daily data, not real-time data.
  • youtube_requestWriteCall a reviewed YouTube endpoint using the same channel and permission checks.
  • youtube_upload_videoWriteUpload a video or Short with resumable upload.
  • youtube_update_videoWriteUpdate video snippet or status metadata.

Questions people ask first

Will connecting let my AI publish videos?

Not on its own. The first connection is read-only. Uploads need a separate Google consent, the ApexGenius upload worker and allowed write tools, and uploads default to private in YouTube Studio. Publishing depends on the access you choose and Google review.

Which channel will my AI use?

The one you selected on Google’s screen and enabled in ApexGenius. Its name is on the connection page. If you manage several channels, connect the one you want and check the name before you enable it.

Do I need my own Google Cloud project or API key?

No. You sign in with the Google account that can access the channel, and ApexGenius holds the authorization. You never paste a password or a verification code into ApexGenius.

Can it read transcripts of other people’s videos?

Caption tools require access to the channel and additional Google permission, including for reads. This connector does not provide transcripts for arbitrary YouTube videos.

Where do performance numbers live?

In YouTube Analytics, a separate connection in the YouTube group with its own access and daily Reporting. This connection covers the channel, its videos, playlists and comments.

What happens when I disconnect?

ApexGenius stops using this channel immediately. Removing the ApexGenius app from your Google Account also affects any other Google connections you made with it, so check those first.

Connect YouTube to ChatGPT today

Start free

7 days free. No card required. Disconnect any time.