Skip to main content
Upstream
Upstream
  • Product
    24/7 Live Streaming Run cloud channels that stay live around the clock. Live Studio Invite guests, share screens, and add branded overlays in the browser. Multistreaming Send one live feed to YouTube, Twitch, Kick, and RTMP endpoints. Pre-recorded Live Streaming Upload pre-recorded videos & Go Live without the stress of live production. Free plan 24 hours a month with no watermark. Multi-channel streaming Separate live channels from one account. Enterprise Setups for teams, labels and agencies. About Upstream Who we are and how Upstream works.
  • Features
    Scheduling Streams that start and end on their own. Multichat Every platform's chat in one feed. Overlays Layers and widgets in Stream Designer. Stings, jingles and ads Inserts that play between your videos. Playback controls Skip or play any file while you stay live. Audio and video playlists Loop music and visuals separately. Team access Invite your team, each with their own role. RTMP server Stream in from OBS or any encoder. Live Streaming API Run streams, media and queues from code. MCP Server Manage streams from your AI assistant. All features Everything Upstream does, on one page.
  • Platforms
    YouTube live streaming Twitch live streaming Kick live streaming Facebook live streaming Instagram live streaming TikTok TikTok live streaming Rumble live streaming Mixcloud live streaming 30+ more Plus any custom RTMP or SRT destination.
    Platform limits Bitrate and duration caps for each platform. Integrations Setup guides for OBS, vMix, cameras and more. VTuber Streaming Go live with your avatar on every platform.
  • Resources
    Blog Guides, platform rules and news for anyone who goes live. Guides Setup guides for 24/7 streams, multistreaming and RTMP. Release Notes The new features in each Upstream update, in one place. Free Tools Video, audio, thumbnail and AI tools, plus camera and mic checks. Helpdesk Step by step setup help and troubleshooting for Upstream. Service status Current service health, uptime history and incident updates. Live Streaming FAQ Short answers to what people ask before they go live. Compare Upstream Upstream side by side with Restream, StreamYard and others. Latest post YouTube Dual Stream: What the Vertical Copy Does and How to Turn It Off
  • Pricing
Login Sign up for free
Always-on 24/7 Live Streaming Run cloud channels that stay live around the clock.
Explore
Real-time live Live Studio Invite guests, share screens, and add branded overlays in the browser.
Explore
One stream, 30+ platforms Multistreaming Send one live feed to YouTube, Twitch, Kick, and RTMP endpoints.
Explore
Schedule & Automate Pre-recorded Live Streaming Upload pre-recorded videos & Go Live without the stress of live production.
Explore
Free plan 24 hours a month with no watermark.
Multi-channel streaming Separate live channels from one account.
Enterprise Setups for teams, labels and agencies.
About Upstream Who we are and how Upstream works.
Scheduling Streams that start and end on their own. Multichat Every platform's chat in one feed. Overlays Layers and widgets in Stream Designer. Stings, jingles and ads Inserts that play between your videos. Playback controls Skip or play any file while you stay live. Audio and video playlists Loop music and visuals separately. Team access Invite your team, each with their own role. RTMP server Stream in from OBS or any encoder.
Live Streaming API Run streams, media and queues from code.
MCP Server Manage streams from your AI assistant.
All features Everything Upstream does, on one page.
YouTube live streaming. 24/7 channels with midroll ads. Twitch live streaming. Streams restart on their own at 48 hours. Kick live streaming. Stay live with your computer off. Facebook live streaming. Schedule lives that start on their own. Instagram live streaming. Go live from your browser or the cloud. TikTok TikTok live streaming. Go live on TikTok and Instagram at once. Rumble live streaming. Add Rumble to your YouTube or Kick stream. Mixcloud live streaming. DJ sets and radio shows from your browser. 30+ more Plus any custom RTMP or SRT destination.
Platform limits Bitrate and duration caps for each platform.
Integrations Setup guides for OBS, vMix, cameras and more.
VTuber Streaming Go live with your avatar on every platform.
Blog
Guides
Release Notes
Free Tools
Helpdesk
Service status
Live Streaming FAQ
Compare Upstream
YouTube Dual Stream: What the Vertical Copy Does and How to Turn It Off YouTube Dual Stream: What the Vertical Copy Does and How to Turn It Off
Live Streaming API

Automate live streaming with the Upstream API.

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.

Get an API key
Read the API docs

Create a continuous stream · cURL
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
    }
  }'

201 response · abridged
{
  "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
    }
  }
}

REST + JSON
Bearer authentication
OpenAPI 3.0.3
Postman collection

Live streaming API, explained

A live streaming API turns broadcast operations into software workflows.

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 by 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

Control the core broadcast workflow from your own application.

The same API can prepare the content, configure the stream, decide where it publishes, and control when it goes live.

Control the stream lifecycle

Create, inspect, update, start, stop, and delete streams from your application or automation.

Schedule broadcasts

Set one-off, daily, weekly, or continuous schedules, including breaks and playback resume behavior.

Build playback queues

Add, remove, and reorder video, image, primary audio, secondary audio, and external MP4 items.

Manage media at scale

Create resumable upload tickets, check processing, search media, and organize files with folders and tags.

Automate multistreaming

Add and manage YouTube, Twitch, Facebook, Instagram, Kick, Rumble, Mixcloud, custom RTMP, and SRT destinations.

Configure broadcast output

Control encoding, volume, playback order, transitions, video fit, recording, and stream metadata when your plan supports them.

Live streaming API use cases

Build around the way your team actually broadcasts.

Use the API where repeatable live streaming work needs to connect with your content, publishing, or operations systems.

Automated 24/7 channels

Keep an always-on channel supplied with media, update its queue, and run continuous schedules from your own system.

Explore 24/7 live streaming

Scheduled campaigns and premieres

Prepare prerecorded broadcasts ahead of time, set repeat rules, and start or stop them through a predictable workflow.

Explore stream scheduling

Multi-destination operations

Keep destination settings synchronized and control where each stream publishes without repeating the same setup by hand.

Explore multistreaming

Internal tools and workflows

Build a control panel, scheduled job, content pipeline, or operations tool around the broadcasts your team runs in Upstream.

Read the API reference

From API key to live

Create your first live streaming workflow in three steps.

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.

  1. 01

    Create an API key

    Sign in to Upstream Studio, open Profile → API Keys, and create a dedicated key for the integration.

  2. 02

    Call the v1 API

    Send the key as a Bearer token to the versioned REST base URL. Successful payloads are returned under data.

  3. 03

    Build the broadcast

    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 Keys
Verify your API key
curl --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

From new content to live programming, without rebuilding the stream.

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.

  1. 01

    New content is ready

    Your CMS or operations tool triggers the workflow when a video, show, or campaign is approved.

  2. 02

    Upstream updates the broadcast

    Your integration uploads or selects the media, places it in the queue, and applies the stream settings it needs.

  3. 03

    Your channel keeps moving

    Scheduled or continuous programming uses the updated queue while your team checks status and steps in only when needed.

API or MCP?

Use the API for software. Use MCP for AI assistants.

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.

Explore Upstream MCP

Developer resources

Start with the format that fits your workflow.

Read endpoint details and examples in the API reference, import the Postman collection, or generate tooling from the OpenAPI specification.

Documentation API reference Machine readable OpenAPI specification Collection Postman collection

FAQ

Live streaming API questions

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.

You can create and update streams, start or stop broadcasts, configure one-off or recurring schedules, manage media and folders, build playback queues, organize streams with tags, and manage supported social, RTMP, RTMPS, and SRT destinations.

No. Upstream provides a live streaming orchestration API for broadcasts run on Upstream. It is not a general-purpose video player, viewer-delivery CDN, or video-on-demand API.

Create an API key in Upstream Studio under Profile → API Keys, then send it with every request as Authorization: Bearer YOUR_API_TOKEN. Keep the key in a server-side secret store and never publish it in client-side code or a repository.

API calls are restricted to resources owned by the account that created the token. Keys currently grant full customer API access, do not expire automatically, and remain valid until revoked; an account can keep up to 25 keys. Use a separate key for each integration and revoke it from Profile → API Keys when it is no longer needed. Destination stream keys and the primary stream key are write-only and are not returned in API responses.

Yes. Stream schedules can be one-off, daily, weekly, or continuous. Continuous schedules can define active periods, breaks, a stop condition, and whether playback resumes where it left off.

The current API supports destinations for YouTube, Twitch, Facebook, Instagram, Mixcloud, Rumble, and Kick, plus custom RTMP, RTMPS, and SRT endpoints. Plan and platform requirements still apply.

The customer API allows 60 requests per minute per account. Responses include rate-limit and remaining-request headers, and a 429 response also includes Retry-After so your integration knows when to try again.

Upstream currently provides a versioned REST API, ready-to-run examples in the API reference, an OpenAPI 3.0.3 specification, and a Postman collection. There is no official typed Upstream SDK at this time.

Signed-in Upstream accounts can create API keys. API-created streams and actions use the features, streaming time, storage, quality options, and limits of that account's plan. Plan-gated capabilities remain plan-gated when they are requested through the API. Compare Upstream plans.

Use the REST API from application code, scripts, cron jobs, and automation systems. Use the Upstream MCP server when you want a compatible AI assistant to discover and use supported Upstream tools.

The public developer resources include the API reference, an OpenAPI specification, and a Postman collection.

Put your live streaming workflow behind one API.

Create a dedicated key, make your first authenticated request, and start automating streams, schedules, media, queues, and destinations.

Get an API key New to Upstream? Sign up for free
Upstream

Run your streams from the cloud

Free plan: 24 streaming hours a month, no card, no watermark.

4.5 · 242 reviews on Trustpilot
Legal entity
Zukunft d.o.o.
Registered address
Groznjanska 32, 10000 Zagreb
Company VAT ID
Company VAT ID: HR62560895839
About | Contact us | Tools | Content standards | Privacy Policy | Terms of Service | Affiliate terms |

Product

  • Pricing
  • Upstream Features Overview
    • Multistreaming
    • Separate Audio and Video
    • Overlays: Stream Designer
    • Live Streaming Studio
    • Scheduling & Automation
    • Live Playback Controls
    • Play Stings, Jingles and Ads
    • Team Access
  • Enterprise Broadcasting Solutions

Resources

  • Helpdesk
  • Service status
  • Live Streaming FAQ
  • Blog
  • Release Notes
  • Live Streaming API
  • MCP Server
  • Free Live Streaming
  • YouTube Live Streaming
  • RTMP Server
  • Supported Platforms
  • Live Streaming Limits
  • Integrations

Compare Us

  • Compare Upstream
    • Upstream vs Runnel.live
    • Upstream vs OneStream
    • Upstream vs Live247
    • Upstream vs Gyre
    • Upstream vs Streaming Bots
    • Upstream vs Restream
    • Upstream vs StreamYard
    • Upstream vs LiveReacting
    • Upstream vs Playout.video

Free Tools

  • Design tools
  • Video tools
  • Audio tools
  • AI tools
  • Setup checks

Use cases

  • For Creators
  • For Music Labels
  • Church Streaming
  • VTuber Streaming
  • Multi-Channel Streaming

© 2026 Upstream. All rights reserved.