Skip to content

API

YouTube API upload and scheduling

SkedCast's `/v1` REST API schedules Short and long-form video upload to YouTube with one authenticated `POST` call — the same request shape as every other connected platform, with YouTube's own required fields folded in.

All platforms

Scheduling to YouTube through SkedCast's API#

SkedCast's /v1 REST API schedules Short and long-form video upload to YouTube the same way it does every other platform: one POST https://api.skedcast.com/v1/posts call with a content caption and a targets block naming the connected accounts. You need a YouTube channel authorized via a Google Cloud OAuth client (YouTube Data API v3), connected once through the console (or minted as a self-serve connect link via POST /v1/clients/:id/connect-invites).

SkedCast is not a raw wrapper over YouTube's own developer API — it is one versioned, platform-agnostic contract that fans a single compose call out across every connected network, with the YouTube-specific fields listed below folded into the same request shape.

YouTube-specific fields (`variants[].overrides.youtube`)#

FieldNotes
title**Auto-derived** from the caption's first line (≤100 chars) when omitted — YouTube requires a title, so an integration need not send one unless it wants to override the derived value.
madeForKidsOptional boolean; defaults from the connected channel's own settings.

Every other field on the post (caption, media, schedule) is identical to every other platform.

Example: schedule a post to YouTube#

json
{
  "clientId": "…",
  "content": "Building a scheduler in public: Day 12 — the API layer.\n\nToday: idempotency keys and why they matter.",
  "targets": { "mode": "accounts", "accountIds": ["…"] },
  "schedule": { "type": "at", "at": "2026-10-01T09:00:00" },
  "variants": [
    { "platform": "youtube", "overrides": { "youtube": { "madeForKids": false } } }
  ]
}
POST https://api.skedcast.com/v1/posts — Authorization: Bearer sked_live_…, Idempotency-Key: <uuid>

YouTube facts#

FactValue
Max caption length5,000 characters
Media per postone video per upload.
Native platform schedulingYes — SkedCast hands the timer to YouTube's own scheduler
SkedCast's default pacing5 posts/day, ~30 min apart per account (conservative anti-ban default — not YouTube's own published rate limit; see the rate-limit guide below)
Published-post URL (permalink)https://youtu.be/{id} — always derivable from the stored video id.

Reading status and results#

GET https://api.skedcast.com/v1/post-targets/:id returns the YouTube target's status (scheduled, published, failed, …), plus error, statusReason, and retryAt when it's parked waiting on something — SkedCast's own pacing, a platform rate limit, or media still transcoding, each with its own machine-readable reason. Once published, externalId and permalink (see the table above) point at the live post.

  • Subscribe to target.published / target.failed webhooks (or the legacy post.* pair) instead of polling — see [Webhooks](/developers/webhooks).
  • Or connect an MCP client and ask an agent to check — see [Connect an AI agent](/mcp).
YouTubeapischedulingrest

FAQ

What can I schedule to YouTube through the API?
YouTube posts of type: Short and long-form video upload, via one `POST https://api.skedcast.com/v1/posts` call — the same endpoint used for every other connected platform.
Is YouTube's own scheduler used, or SkedCast's?
YouTube is one of only two platforms (with Facebook) where `nativeSchedule` is true — SkedCast hands the publish time to YouTube's own scheduler rather than holding it ourselves. The upload still goes through `POST /v1/posts` the same way; `publishAt` must be strictly in the future.
How do I authenticate against the YouTube API endpoint?
The same way as every `/v1` route: an API key (`Authorization: Bearer sked_live_…`) or an OAuth 2.1 bearer token, scoped to `posts.compose` to schedule and `posts.read` to read back status. See Authentication.

Ready to broadcast everywhere?

Sign up free — no credit card. You land on the Free plan, and you can start a one-time 7-day Studio trial from your workspace whenever you are ready. Connect your first accounts, import a batch, and watch one post fan out across every platform.