Control the stream lifecycle
Create, inspect, update, start, stop, and delete streams from your application or automation.
Create and control scheduled, prerecorded, and 24/7 streams from code. Upload and organize media, build playback queues, manage multistream destinations, and start or stop broadcasts with one REST API.
curl --request POST \
--url https://studio.upstream.so/api/v1/streams \
--header "Authorization: Bearer YOUR_API_TOKEN" \
--header "Content-Type: application/json" \
--data '{
"name": "Always-on channel",
"platform": "youtube",
"type": "video",
"key": "YOUR_DESTINATION_STREAM_KEY",
"schedule": {
"mode": "continuous",
"continuous_start_type": "now",
"continuous_stop_type": "never",
"stream_duration_hours": 23,
"stream_duration_minutes": 55,
"break_duration_minutes": 5,
"preserve_state": true
}
}'{
"data": {
"id": "stream_uuid",
"name": "Always-on channel",
"type": "video",
"status": "installing",
"schedule": {
"mode": "continuous",
"continuous_start_type": "now",
"continuous_stop_type": "never",
"preserve_state": true
}
}
}Live streaming API, explained
A live streaming API lets an application control broadcasts without repeating every step in a dashboard. It can connect a content system, internal tool, or scheduled job to the streams it needs to run—for example, creating a channel when a campaign is approved or refreshing its queue when new media is ready.
The Upstream live streaming API is the control layer for broadcasts managed on Upstream. It handles streams, schedules, media, playback queues, settings, and destinations. It is designed for broadcast automation rather than viewer playback or CDN delivery.
What you can automate
The same API can prepare the content, configure the stream, decide where it publishes, and control when it goes live.
Create, inspect, update, start, stop, and delete streams from your application or automation.
Set one-off, daily, weekly, or continuous schedules, including breaks and playback resume behavior.
Add, remove, and reorder video, image, primary audio, secondary audio, and external MP4 items.
Create resumable upload tickets, check processing, search media, and organize files with folders and tags.
Add and manage YouTube, Twitch, Facebook, Instagram, Kick, Rumble, Mixcloud, custom RTMP, and SRT destinations.
Control encoding, volume, playback order, transitions, video fit, recording, and stream metadata when your plan supports them.
Live streaming API use cases
Use the API where repeatable live streaming work needs to connect with your content, publishing, or operations systems.
Keep an always-on channel supplied with media, update its queue, and run continuous schedules from your own system.
Explore 24/7 live streamingPrepare prerecorded broadcasts ahead of time, set repeat rules, and start or stop them through a predictable workflow.
Explore stream schedulingKeep destination settings synchronized and control where each stream publishes without repeating the same setup by hand.
Explore multistreamingBuild a control panel, scheduled job, content pipeline, or operations tool around the broadcasts your team runs in Upstream.
Read the API referenceFrom API key to live
Start with a dedicated API key and one read request. Then use the reference examples for the streams, media, queues, and destinations your integration needs.
Sign in to Upstream Studio, open Profile → API Keys, and create a dedicated key for the integration.
Send the key as a Bearer token to the versioned REST base URL. Successful payloads are returned under data.
Create a stream, upload or select media, prepare its queue and destinations, wait until provisioning reaches paused, then start it from code.
Base URL
https://studio.upstream.so/api/v1
Store API keys only in server-side secrets or environment variables. Never ship a key in browser code, a mobile app, or a public repository.
Open API Keyscurl --request GET \
--url https://studio.upstream.so/api/v1/user \
--header "Accept: application/json" \
--header "Authorization: Bearer YOUR_API_TOKEN"A workflow you can automate
Connect Upstream to your content system, catalog, or internal tools. When something is ready to publish, your integration can prepare the broadcast while your team stays focused on the programming.
Your CMS or operations tool triggers the workflow when a video, show, or campaign is approved.
Your integration uploads or selects the media, places it in the queue, and applies the stream settings it needs.
Scheduled or continuous programming uses the updated queue while your team checks status and steps in only when needed.
API or MCP?
The REST API is built for application code, scripts, cron jobs, and automation platforms. The Upstream MCP server exposes supported API operations as discoverable tools for compatible AI clients.
Developer resources
Read endpoint details and examples in the API reference, import the Postman collection, or generate tooling from the OpenAPI specification.
FAQ
What the Upstream API controls, how authentication works, and when to use the API or MCP.
A live streaming API lets software create or control broadcast workflows programmatically. The Upstream live streaming API is a REST API for the broadcast control layer: streams, schedules, media, playback queues, settings, and multistream destinations managed in an Upstream account.
Create a dedicated key, make your first authenticated request, and start automating streams, schedules, media, queues, and destinations.