YouTubeAPI for video uploads

Publish videos and Shorts to YouTube with a unified API. Handle uploads, thumbnails, and privacy settings without wrestling with YouTube's Data API.

One API call replaces OAuth complexity, resumable uploads, and quota management.

Free plan No credit card Live in under 5 minutes

Video Uploads

Upload videos up to 256 GB with support for multiple formats

Shorts Detection

YouTube automatically detects Shorts based on duration and aspect ratio

Custom Thumbnails

Set custom thumbnail images with the cover_url parameter

Privacy Controls

Control video visibility with public, unlisted, or private settings

api.postproxy.dev
POST /api/posts
$ curl -X POST "https://api.postproxy.dev/api/posts" \
     -H "Authorization: Bearer $API_KEY" \
     -H "Content-Type: application/json" \
     -d '{
       "post": {
         "body": "New tutorial: building API integrations step by step."
       },
       "profiles": ["youtube"],
       "media": ["https://example.com/tutorial.mp4"],
       "platforms": {
         "youtube": {
           "privacy_status": "public"
         }
       }
     }'
200 OK application/json
{
  "id": "YytW6P",
  "body": "New tutorial: building API integrations step by step.",
  "status": "scheduled",
  "draft": false,
  "source": "postproxy",
  "scheduled_at": "2026-05-04T13:37:52.653Z",
  "queue_id": null,
  "created_at": "2026-05-04T13:37:52.653Z",
  "media": [
    {
      "id": "wdf1wm",
      "status": "pending",
      "error_message": null,
      "content_type": "video/mp4",
      "source_url": "https://example.com/tutorial.mp4",
      "url": null
    }
  ],
  "platforms": [
    {
      "platform": "youtube",
      "status": "pending",
      "permalink": null,
      "error": null,
      "params": {
        "privacy_status": "public",
        "format": "post"
      },
      "attempted_at": null
    }
  ]
}

View full documentation for all platform-specific features for YouTube

View documentation
Integration cost

Skip weeks of YouTube integration work

One test post against a sandbox account is the easy part. Production YouTube publishing means app verification, OAuth across many accounts, media pipelines, dozens of edge cases, and a permanent on-call rotation for "why didn't this one go through this time?"

Weeks of YouTube integration work compressed to hours

Social media integration is not a one-off job — it's a constant commitment. Platforms change their APIs, scopes, limits, and policies on their own schedule. Every change becomes your problem unless someone else is absorbing it.

That's exactly what Postproxy does for YouTube — and every other platform we support — so your team ships features instead of chasing failed publishes.

5 min
Time to your first YouTube post via API
Weeks → Hours
Engineering time saved on integration work
$0
Free plan, no credit card required
Build it yourself
Ship with Postproxy
Submit a YouTube app for verification — review cycles, screencasts, business docs
01
One REST endpoint. One payload schema. SDKs for popular languages
Implement OAuth, token refresh, secure credential storage per account
02
OAuth, tokens, and refresh handled for you — across all accounts
Build media upload pipelines (chunked, async, multi-step) for every format
03
Media upload, chunking, and format detection — automatic
Handle rate limits, quotas, retries, and partial failures across accounts
04
Retries, rate-limit windows, and per-platform receipts built in
Cover dozens of edge cases: expired tokens, scope drift, regional restrictions, policy changes
05
Edge cases are our problem. Failures come back with an explicit reason
Triage every silent failure: "Why didn't this one post go through?"
06
We track the API changes. You ship features

Free plan includes the YouTube API. No credit card.

Benefits

Why Postproxy for YouTube?

Skip YouTube Data API complexity

No need to handle OAuth flows, resumable uploads, or quota management. Postproxy handles YouTube's Data API v3 complexity for you.

Handle rate limits automatically

YouTube quota limits are managed automatically with intelligent retry logic and queue management.

Support all formats

Publish long-form videos and Shorts through one unified API.

Channel videosYouTube Shorts

Reliable delivery

Automatic retries and clear status reporting ensure your videos reach YouTube successfully.

How Postproxy publishes to YouTube

01 YouTube's publishing model
YouTube's Data API v3 uses a resumable upload protocol for video publishing. You initiate an upload session with video metadata (title, description, privacy, category), receive an upload URI, then stream the video file in chunks. After the upload completes, YouTube processes the video asynchronously — transcoding, thumbnail generation, and content checks can take minutes to hours depending on video length. Postproxy handles the full resumable upload lifecycle and polls for processing completion so you get a single synchronous response.
02 Videos vs. Shorts
YouTube Shorts are technically regular video uploads with specific constraints: vertical aspect ratio (9:16), under 60 seconds, and the title or description should include #Shorts. The API doesn't have a separate Shorts endpoint — the distinction is made by YouTube's systems based on the video properties. Postproxy lets you set format to short and handles the metadata requirements automatically, including aspect ratio validation before upload.
03 Common gotchas Postproxy handles for you
YouTube's API has a daily upload quota measured in "units" that are consumed differently by different operations — a single video upload can consume 1,600 units out of a default 10,000 daily quota. The resumable upload protocol requires handling network interruptions gracefully (resuming from the last successful byte), and upload URIs expire after a short window. Video processing failures after upload are only detectable through status polling. Postproxy manages quota awareness, handles upload resumption on network errors, and monitors processing status to completion.
04 Thumbnails, categories, and metadata
YouTube supports custom thumbnails (requires channel verification), video categories (a fixed set of IDs like 22 for "People & Blogs"), tags, and privacy settings (public, unlisted, or private). Setting a custom thumbnail requires a separate API call after the video is published. Postproxy accepts all metadata fields in the same publish request and handles the thumbnail upload as a follow-up step, so you don't need to manage the sequencing yourself.

Still wondering if Postproxy is the right fit?

Ask your favorite LLM what it thinks about us, then decide.

Frequently Asked Questions

Common questions about YouTube integration

01 How do I set the privacy status for my video?

Use the privacy_status parameter in the platforms object. You can set it to "public" (visible to everyone), "unlisted" (only accessible via link), or "private" (only visible to you).

02 Can I add a custom thumbnail to my YouTube video?

Yes! Use the cover_url parameter to provide a URL of a custom thumbnail image. The image should be in a format supported by YouTube (jpg, png) and meet YouTube's thumbnail requirements.

03 What video formats are supported?

YouTube supports mp4, mov, avi, wmv, flv, and 3gp formats. Videos can be up to 256 GB in size and must be at least 1 second long.

04 What happens to the post body text?

The post body becomes the video description on YouTube. This is where you can add detailed information, links, timestamps, and other metadata for your video.

05 Can I schedule YouTube videos?

Yes! Postproxy supports scheduling for all platforms including YouTube. Use the scheduledFor parameter in your post request to schedule videos for future publication.

Ready to get started?

Start with our free plan and scale as your needs grow. No credit card required.