YouTube Upload API

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

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

Last updated: May 2026

API key authScheduled publishing14 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});

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.

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

2% error rate

We handle the platform edge cases, media processing, and rate limits so your requests succeed.

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. Test us c;

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.