Set up a YouTube live event using liveBroadcasts and liveStreams
domain: developers.google.com · 6 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗
Steps
Authenticate with OAuth 2.0 using a scope that includes youtube or youtube.force-ssl for the channel owner.
Call liveBroadcasts.insert to create a broadcast resource, specifying snippet (title, scheduledStartTime) and status (privacyStatus) parts.
Call liveStreams.insert to create a stream resource with the desired cdn settings (ingestionType, resolution, frameRate), which returns an ingestion address and stream name/key.
Bind the broadcast and stream together by calling liveBroadcasts.bind with the broadcast id and the stream id as parameters.
Configure your encoder (e.g., OBS) with the RTMP ingestion URL and stream key returned from the liveStreams resource.
Transition the broadcast through its lifecycle using liveBroadcasts.transition: first to 'testing', then to 'live' once the stream is healthy.
Known gotchas
A broadcast must be bound to a stream before it can be transitioned; attempting to go live without binding returns an error.
The stream health status (liveStreams.list, status.streamStatus) must show 'active' before transitioning the broadcast to 'live'.
Each liveBroadcasts.insert and liveBroadcasts.bind call consumes quota; account for this in your daily budget.
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?