YouTube Video Upload API
Upload long-form videos through one request while PostZen manages the publishing workflow.
Stop wrestling with YouTube's Data API. PostZen handles OAuth, rate limits, video processing, and API changes - so you can focus on building your product.
No credit card required
import PostZen from '@postzen/node';
const postzen = new PostZen();
await postzen.posts.createPost({
body: {
content: 'A walkthrough of our latest release.',
mediaItems: [{ url: 'https://cdn.example.com/video.mp4' }],
publishNow: true,
platforms: [{
platform: 'youtube',
accountId: 'your-youtube-channel-id',
settings: { title: 'Product walkthrough', privacyStatus: 'public' },
}],
},
});WHY POSTZEN?
YouTube Data API brings its own authentication, rate limits, media rules, and maintenance. PostZen replaces it with one predictable integration.

2.3M+ posts
2,000+ developersFEATURES
One complete API for YouTube formats, controls, and scheduled publishing

Upload long-form videos through one request while PostZen manages the publishing workflow.
Publish vertical short-form video with metadata optimized for Shorts discovery.
Set video titles, descriptions, and tags alongside the uploaded media.
Configure supported public, private, or unlisted visibility for each upload.
PostZen manages chunked uploads, transient failures, and publishing status for you.
Schedule videos for a precise time or add them to your publishing queue.
Three steps to integrate the YouTube Upload API

Sign up for PostZen and grab your API key from the dashboard.

Authorize your YouTube account once. We manage OAuth, permissions, and publishing access for you.

POST to /v1/posts with YouTube selected and your content or media. Done.
CODE EXAMPLE
One POST request to /v1/post — send a file or a public URL
const response = await fetch("https://api.postzen.dev/v1/posts", {
method: "POST",
headers: {
"Authorization": "Bearer POSTZEN_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
platforms: [{
platform: "youtube",
accountId: "your-youtube-channel-id",
settings: {
privacyStatus: "public",
title: "Campaign walkthrough"
}
}],
content: "Publishing our latest tutorial to YouTube",
mediaItems: [{ url: "https://cdn.example.com/tutorial.mp4" }],
scheduledFor: "2026-06-15T19:00:00Z",
tags: ["video", "youtube"]
})
});
const result = await response.json();
console.log("Scheduled successfully:", result.post._id);Still have questions?
Yes. Upload any video under 60 seconds in portrait orientation and YouTube automatically classifies it as a Short. PostZen optimizes metadata for Shorts feed visibility.
YouTube's Data API is free within quota limits, but the engineering cost to build a production integration is substantial: Google Cloud Console, OAuth, resumable uploads. PostZen is free up to 2 accounts, pay only for what you use beyond that, and you skip the approval process entirely.
Not yet. Custom thumbnail upload is on our roadmap. Videos currently use YouTube's automatically generated thumbnails.
Yes. Choose public, private, or unlisted in the platform settings for each video.
Use YouTube's live event API to create broadcasts. PostZen can post reminders across other supported platforms to drive attendance.
All videos are uploaded through YouTube's official API. Monetization settings behave the same as manual uploads.
Join the 2,000+ developers who chose PostZen over building around disconnected platform tools. Same reliability, 10x less code.