Cloudflare Stream Live Inputs API

Live inputs receiving RTMPS or SRT broadcasts, plus simulcast outputs.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cloudflare-stream-live-inputs-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cloudflare-stream-live-inputs-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Cloudflare Stream Analytics Live Inputs API
  description: Cloudflare Stream is the video streaming, hosting, and live-video product from Cloudflare. A single REST API uploads, stores, encodes, and delivers on-demand and live video across Cloudflare's global network, with a built-in adaptive-bitrate player, HLS/DASH manifests, live inputs over RTMPS and SRT, AI-generated and uploaded captions, signed-URL access control, per-account webhooks, and viewing analytics. All requests are scoped to an account under /accounts/{account_id}/stream and authenticate with a Bearer API token. This document grounds the core Stream endpoints; it is not exhaustive of every Cloudflare Stream operation.
  version: '1.0'
  contact:
    name: Cloudflare Stream
    url: https://developers.cloudflare.com/stream/
  license:
    name: Cloudflare Website and Online Services Terms of Use
    url: https://www.cloudflare.com/terms/
servers:
- url: https://api.cloudflare.com/client/v4
  description: Cloudflare API v4
security:
- bearerAuth: []
tags:
- name: Live Inputs
  description: Live inputs receiving RTMPS or SRT broadcasts, plus simulcast outputs.
paths:
  /accounts/{account_id}/stream/live_inputs:
    get:
      operationId: listLiveInputs
      tags:
      - Live Inputs
      summary: List live inputs
      description: Lists all live inputs on the account.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      responses:
        '200':
          description: A list of live inputs.
    post:
      operationId: createLiveInput
      tags:
      - Live Inputs
      summary: Create a live input
      description: Creates a live input that can receive a broadcast over RTMPS or SRT and deliver it live and as a recording.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveInputInput'
      responses:
        '200':
          description: The created live input.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveInputResponse'
  /accounts/{account_id}/stream/live_inputs/{live_input_identifier}:
    get:
      operationId: getLiveInput
      tags:
      - Live Inputs
      summary: Retrieve a live input
      description: Fetches details, connection status, and RTMPS/SRT credentials for a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      responses:
        '200':
          description: The live input details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LiveInputResponse'
    put:
      operationId: updateLiveInput
      tags:
      - Live Inputs
      summary: Update a live input
      description: Updates the configuration of an existing live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/LiveInputInput'
      responses:
        '200':
          description: The updated live input.
    delete:
      operationId: deleteLiveInput
      tags:
      - Live Inputs
      summary: Delete a live input
      description: Deletes a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      responses:
        '200':
          description: The live input was deleted.
  /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs:
    get:
      operationId: listOutputs
      tags:
      - Live Inputs
      summary: List simulcast outputs
      description: Lists the simulcast (restreaming) outputs configured on a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      responses:
        '200':
          description: A list of outputs.
    post:
      operationId: createOutput
      tags:
      - Live Inputs
      summary: Create a simulcast output
      description: Creates a simulcast output that restreams the live input to another RTMP or SRT destination, such as YouTube or Twitch.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                url:
                  type: string
                streamKey:
                  type: string
      responses:
        '200':
          description: The created output.
  /accounts/{account_id}/stream/live_inputs/{live_input_identifier}/outputs/{output_identifier}:
    put:
      operationId: updateOutput
      tags:
      - Live Inputs
      summary: Update a simulcast output
      description: Enables or disables a simulcast output.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      - $ref: '#/components/parameters/OutputIdentifier'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                enabled:
                  type: boolean
      responses:
        '200':
          description: The updated output.
    delete:
      operationId: deleteOutput
      tags:
      - Live Inputs
      summary: Delete a simulcast output
      description: Deletes a simulcast output from a live input.
      parameters:
      - $ref: '#/components/parameters/AccountId'
      - $ref: '#/components/parameters/LiveInputIdentifier'
      - $ref: '#/components/parameters/OutputIdentifier'
      responses:
        '200':
          description: The output was deleted.
components:
  parameters:
    AccountId:
      name: account_id
      in: path
      required: true
      description: The Cloudflare account identifier.
      schema:
        type: string
    OutputIdentifier:
      name: output_identifier
      in: path
      required: true
      description: The simulcast output identifier.
      schema:
        type: string
    LiveInputIdentifier:
      name: live_input_identifier
      in: path
      required: true
      description: The live input identifier.
      schema:
        type: string
  schemas:
    LiveInputResponse:
      type: object
      properties:
        result:
          $ref: '#/components/schemas/LiveInput'
        success:
          type: boolean
    LiveInput:
      type: object
      properties:
        uid:
          type: string
        rtmps:
          type: object
          properties:
            url:
              type: string
            streamKey:
              type: string
        srt:
          type: object
          properties:
            url:
              type: string
            streamId:
              type: string
            passphrase:
              type: string
        status:
          type: string
    LiveInputInput:
      type: object
      properties:
        meta:
          type: object
        recording:
          type: object
          properties:
            mode:
              type: string
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Cloudflare API token passed in an Authorization Bearer header.