YouTube Upload API

YouTube upload API for videos, Shorts, thumbnails, and metadata workflows

Upload YouTube videos, Shorts, thumbnails, and metadata in one API call, without quota bookkeeping of your own.

Upload and schedule YouTube videos or Shorts through a social publishing workflow that keeps media, metadata, status, and cross-channel promotion connected.

Last updated: July 2026

One API key. No per-account fees. 15 platforms.

API key authScheduled publishing15 platforms
Quick start
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "YouTube product walkthrough",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["YOUTUBE"],13    data: {14      YOUTUBE: {15        type: "VIDEO",16        text: "Product walkthrough",17        description: "A practical walkthrough of the new workflow.",18        uploadIds: ["upload_video_123"],19        privacy: "PUBLIC"20      }21    }22  })23});
Official APIs500k+ connected accountsDirect engineer support

YouTube uploads as a standalone integration

Video upload workflows need media handling, metadata, thumbnails, privacy settings, and quota awareness.
Shorts and long-form videos often need different campaign timing and cross-channel promotion.
A failed upload needs clear status for the team, not just a native API error in logs.

What bundle.social handles

Use upload IDs and post payloads to keep YouTube publishing inside the campaign workflow.
Schedule YouTube content alongside Instagram, TikTok, LinkedIn, X, and other launch channels.
Track status and reporting context after the upload is queued or published.

YouTube upload is part of distribution

Videos rarely ship alone. bundle.social helps your product upload and schedule YouTube content next to the campaign.

Workflow

How it works

Connect accounts once, then create and schedule posts with channel-specific fields from one API.

01

Upload the video file

Use the Media Upload API to securely transfer large video files. Get a reference ID to use in your post payload.

02

Define metadata and compliance

Set titles, descriptions, privacy status, and required compliance flags like madeForKids.

03

Schedule the launch

Queue the YouTube video alongside your other social channels for a coordinated launch.

Product architecture

Build social media workflows without rebuilding every platform

YouTube upload API for videos, Shorts, and campaign workflows

Creator platforms, agencies, media teams, and AI video products publishing long-form video and Shorts need media handling, titles, descriptions, thumbnails, privacy settings, scheduling, status tracking, and quota awareness. A YouTube upload is a file transfer rather than a simple request, and a session that fails mid-transfer costs quota on every attempt.

bundle.social manages the resumable upload session, resumes interrupted transfers, and applies metadata and visibility once the transfer completes. Your product uploads media first, references the upload by ID in the post payload, and keeps large files out of its own request path.

Shorts and long-form share an endpoint and not a campaign

Technically a Short is a YouTube video with vertical framing and a duration limit, so the publishing call looks the same. Editorially they belong to different plans. Shorts run in the same rotation as Instagram Reels and TikTok videos, while a long-form upload is usually the anchor that other channels point at.

That makes sequencing more important than payload differences. bundle.social keeps YouTube uploads in the same calendar as Instagram, TikTok, LinkedIn, X, and other channels, so the video, the Short, and the posts promoting them are scheduled as one campaign instead of coordinated by hand.

Upload status, metadata, and reporting after publishing

Metadata and privacy settings are applied around the transfer rather than inside it, and which fields are available follows YouTube's API and the connected channel's permissions. A failed upload needs to be legible to the person who scheduled it, not only to whoever reads server logs.

bundle.social tracks each upload through the same lifecycle used for every other channel and separates transfer failures from metadata and permission problems. Quota rules still apply, so products publishing at volume can plan around them while keeping YouTube status, analytics, and campaign context in one workspace.

Capabilities

YouTube upload workflows for product teams

Handle videos, Shorts, thumbnails, and publishing state from one API workflow.

Video and Shorts publishing

Create YouTube payloads for long-form videos and short-form distribution. We handle the complex resumable upload flows.

Media upload references

Upload video assets first, then reference upload IDs when creating YouTube posts. Avoid timeouts on large files.

Metadata fields

Keep descriptions, titles, privacy settings, and thumbnails close to the publishing payload. Set compliance flags like madeForKids.

Cross-channel campaigns

Schedule YouTube launches with supporting posts on other social platforms. One API call orchestrates the entire launch.

Platform specifics

YouTube upload rules developers should model explicitly

YouTube publishing is not just a file upload. Metadata, child-directed content flags, Shorts detection, and quota behavior all affect production workflows.

Made for Kids is required

YouTube requires a madeForKids decision for content that targets children. Treat it as a compliance field in the YOUTUBE payload, not an optional marketing detail.

Shorts are auto-detected

There is no special Shorts button. YouTube classifies Shorts from duration under 3 minutes and vertical or square aspect ratio.

Title and metadata

YouTube requires a video title, supports descriptions up to 5,000 characters, and treats long-form videos, Shorts, thumbnails, and privacy status as one metadata workflow.

Developer example

Schedule a YouTube upload

Examples use bundle.social's public API shape: API key authentication, a post date, selected social account types, and platform-specific data.

TypeScript
API request
1const response = await fetch("https://api.bundle.social/api/v1/post", {2  method: "POST",3  headers: {4    "x-api-key": process.env.BUNDLE_SOCIAL_API_KEY,5    "Content-Type": "application/json"6  },7  body: JSON.stringify({8    teamId: "team_123",9    title: "YouTube product walkthrough",10    postDate: "2026-05-14T10:00:00.000Z",11    status: "SCHEDULED",12    socialAccountTypes: ["YOUTUBE"],13    data: {14      YOUTUBE: {15        type: "VIDEO",16        text: "Product walkthrough",17        description: "A practical walkthrough of the new workflow.",18        uploadIds: ["upload_video_123"],19        privacy: "PUBLIC"20      }21    }22  })23});

Supported content

VideosShortsThumbnailsDescriptionsPrivacy settings

Honest limitations

  • YouTube account permissions and API quota rules still apply.
  • Large video files should be uploaded before post creation so they can be referenced reliably.
  • Some YouTube-specific metadata depends on native API availability.

Guarantees

Developer-first infrastructure

Visible post status

Track scheduled, processing, posted, retrying, and error states per post.

Verbose errors

When native APIs fail, we return human-readable error messages and actionable recovery steps.

Flat pricing

No per-post counting. Predictable pricing for teams managing many users, workspaces, and connected accounts.

Same-day support

Direct access to the engineers building the API. We respond to technical issues the same day, sometimes the same hour.

Resources

Technical guides & documentation

FAQ

Questions developers ask before building

Can I upload YouTube Shorts?

Yes, where the connected account and content type are supported.

Does this replace YouTube Data API?

No. bundle.social uses native APIs underneath and provides the workflow around upload, scheduling, and status.

Can I schedule a YouTube video?

Yes. Create a YouTube post with a future postDate and scheduled status.