Social media integration

YouTube Capabilities

What the YouTube Data API offers, how it maps to Newsmind Stories concepts, and the supported video metadata attributes.

1. Connecting a YouTube account (authentication & authorization)

  • Obtain OAuth 2.0 access tokens for the authenticated user to act on their behalf (channel, videos, etc.).
  • Supported scopes cover uploads, channel management, analytics, live streaming, and more.
  • Reference: YouTube Data API Authentication Guide.

This works exactly the same as for other social media providers. YouTube accounts are actually Google accounts.

2. Channel management

  • Retrieve channel details (ID, branding, statistics snippet, topic details).
  • Update channel branding settings, promotions, or "made for kids" status.
  • Upload/update the channel banner image.
  • Manage channel sections (e.g. "Latest uploads", featured playlists).
  • List channel memberships (supporters) and membership levels (if enabled).

Key methods: channels.list, channels.update, channelBanners.insert, channelSections.insert | update | delete | list, members.list, membershipsLevels.list.

Reference: Channels, ChannelBanners, ChannelSections, Members.

In the context of Newsmind Stories, a channel represents a profile.

3. Publishing and managing videos

  • Upload new videos (resumable uploads supported, with metadata: title, description, tags, privacy status, category, "made for kids", etc.).
  • Update video metadata, status or processing details.
  • Delete videos.
  • Set custom video thumbnails.
  • Upload, update, delete, list or download captions/subtitles.
  • Rate videos, report abuse or retrieve user ratings.

Key methods: videos.insert (upload), videos.update, videos.delete, videos.list, thumbnails.set, captions.insert | update | delete | list | download.

Reference: Videos, Uploading a video, Captions, Thumbnails.

Unlike other social media providers, which accept videos on the fly, the YouTube API supports videos larger than 100 GB. Therefore the video cannot first be uploaded to the material before being published on social media. Instead, it must first be uploaded to YouTube via an upload service. To let users decide when the video becomes publicly available, the upload service first uploads videos in an unlisted state, making them previewable before publishing. If the video does not satisfy the user's expectations, they can delete it.

4. Playlists and content organization

  • Create, update, delete or list playlists (including private or unlisted).
  • Add, remove or reorder videos within playlists (including the channel's automatic "Uploads" playlist).

Key methods: playlists.insert | update | delete | list, playlistItems.insert | update | delete | list.

Reference: Playlists, PlaylistItems.

Not very relevant for Newsmind Stories for now.

5. Live streaming

  • Schedule, update, delete or list live broadcasts (events).
  • Create and manage live streams (ingest settings, bound to broadcasts).
  • Control the broadcast lifecycle (transition between ready/testing/live/complete).
  • Bind streams to broadcasts and insert cue points.

Key methods: liveBroadcasts.insert | update | delete | list | bind | transition, liveStreams.insert | update | delete | list.

Reference: Live Streaming API overview, Live Streaming API reference, LiveBroadcasts.

Not very relevant for Newsmind Stories for now.

6. Statistics and analytics

  • Retrieve basic video/channel statistics (view count, likes, comments, etc.) directly via the Data API (when requesting the statistics part on authorized resources).
  • Advanced analytics via dedicated APIs:
    • YouTube Analytics API — targeted, real-time custom reports (views, watch time, audience demographics, traffic sources, device type, etc.) for videos, playlists or the entire channel.
    • YouTube Reporting API — bulk/downloadable predefined reports (daily/aggregated data for long-term storage and custom dashboards).
  • Group management for organizing content in reports.

Key methods: Data API videos.list or channels.list with part=statistics; Analytics API report queries; Reporting API bulk reports.

Reference: Analytics & Reporting APIs, Analytics sample requests, Reporting API reports.

This feature is important for Insights.

7. Interactions and community features

  • List channel or video activity (uploads, likes, favorites, etc.).
  • Manage comments: list threads, post/reply to comments, moderate, update or delete.
  • Manage subscriptions (subscribe/unsubscribe to channels).

Key methods: activities.list, commentThreads.list | insert, comments.list | insert | update | delete | setModerationStatus, subscriptions.insert | delete | list.

Reference: Activities, CommentThreads, Comments, Subscriptions.

This feature is important to add a first comment when creating a post from Newsmind Stories.

8. Collaborations and co-publishing

  • Current limitation: YouTube's native "Collaborations" feature (invite up to 5 creators to a video for shared credits, subscriber-feed distribution and shared analytics in YouTube Studio) is not yet exposed in the public YouTube Data API or Live Streaming API.
  • Workarounds available on the platform: share videos via playlists or direct links, or instruct users to use YouTube Studio directly for collaboration invitations.
  • Video metadata does not include collaborator fields at this time.
  • Reference: no API endpoint — see Invite collaborators to your video. Monitor the Data API changelog for future support.

The collab-partner feature supported by Instagram, for example, is not possible with YouTube.

9. Additional / search features

  • Search for videos, channels or playlists.
  • Retrieve supported categories, languages and regions.
  • Manage watermarks (overlay images during playback).
  • Report abusive content or retrieve abuse report reasons.

Key methods: search.list, videoCategories.list, i18nLanguages.list, i18nRegions.list, watermarks.set | unset.

Reference: Search, Watermarks.

This feature is important because it allows providing a dropdown to users so they can choose the video category and the default language.

YouTube video metadata attributes

NameDescriptionRequiredConstraints
snippet.titleThe title of the videoYes (for insert and when updating snippet)Max 100 characters; cannot be empty; cannot contain < or >
snippet.descriptionThe description of the videoNoMax 5000 bytes (UTF-8); cannot contain < or >
snippet.tags[]List of keyword tags associated with the videoNoMax 500 characters total (including commas); no empty string tags
snippet.categoryIdYouTube video category IDYes (for insert and when updating snippet)Must be a valid category ID (retrieved via videoCategories.list)
snippet.defaultLanguageLanguage of the video's metadata (title, description) – BCP-47 codeYes, if localizations are usedRequired when providing localized metadata
snippet.defaultAudioLanguageLanguage of the default audio track – BCP-47 codeNoBCP-47 language code
localizations.(key).titleLocalized title for a specific languageNoRequires snippet.defaultLanguage; key = valid language code
localizations.(key).descriptionLocalized description for a specific languageNoRequires snippet.defaultLanguage; key = valid language code
status.privacyStatusPrivacy setting of the videoYesEnum: public, private, unlisted
status.publishAtScheduled publish date/time (ISO 8601)NoOnly for private videos; must be a future date (or publish immediately if past)
status.embeddableWhether the video can be embedded on other websitesNoBoolean
status.licenseLicense type for the videoNoEnum: youtube, creativeCommon
status.publicStatsViewableWhether extended statistics are publicly viewableNoBoolean; default true
status.selfDeclaredMadeForKidsSelf-declared "made for kids" statusNoBoolean
status.containsSyntheticMediaIndicates the video contains synthetic or altered mediaNoBoolean
recordingDetails.recordingDateDate and time when the video was recorded (ISO 8601)NoValid timestamp
contentDetails.regionRestriction.allowedList of country codes where the video is allowedNoISO 3166-1 alpha-2; mutually exclusive with blocked
contentDetails.regionRestriction.blockedList of country codes where the video is blockedNoISO 3166-1 alpha-2; mutually exclusive with allowed
contentDetails.contentRating.*Various content ratings (e.g. MPAA rating, TVPG rating)NoCountry-specific enum values (e.g. G, PG, PG-13, R)
Copyright © 2026