Skip to content
Start here

Retrieve a live input

stream.live_inputs.get(strlive_input_identifier, LiveInputGetParams**kwargs) -> LiveInput
GET/accounts/{account_id}/stream/live_inputs/{live_input_identifier}

Retrieves details of an existing live input.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
Stream WriteStream Read
ParametersExpand Collapse
account_id: str

Identifier.

maxLength32
live_input_identifier: str

A unique identifier for a live input.

maxLength32
ReturnsExpand Collapse
class LiveInput:

Details about a live input.

created: Optional[datetime]

The date and time the live input was created.

formatdate-time
delete_recording_after_days: Optional[float]

Indicates the number of days after which the live inputs recordings will be deleted. When a stream completes and the recording is ready, the value is used to calculate a scheduled deletion date for that recording. Omit the field to indicate no change, or include with a null value to remove an existing scheduled deletion.

minimum30
enabled: Optional[bool]

Indicates whether the live input is enabled and can accept streams.

meta: Optional[object]

A user modifiable key-value store used to reference other systems of record for managing live inputs.

modified: Optional[datetime]

The date and time the live input was last modified.

formatdate-time
recording: Optional[Recording]

Records the input to a Cloudflare Stream video. Behavior depends on the mode. In most cases, the video will initially be viewable as a live video and transition to on-demand after a condition is satisfied.

allowed_origins: Optional[List[str]]

Lists the origins allowed to display videos created with this input. Enter allowed origin domains in an array and use * for wildcard subdomains. An empty array allows videos to be viewed on any origin.

hide_live_viewer_count: Optional[bool]

Disables reporting the number of live viewers when this property is set to true.

mode: Optional[Literal["off", "automatic"]]

Specifies the recording behavior for the live input. Set this value to off to prevent a recording. Set the value to automatic to begin a recording and transition to on-demand after Stream Live stops receiving input.

One of the following:
"off"
"automatic"
require_signed_urls: Optional[bool]

Indicates if a video using the live input has the requireSignedURLs property set. Also enforces access controls on any video recording of the livestream with the live input.

timeout_seconds: Optional[int]

Determines the amount of time a live input configured in automatic mode should wait before a recording transitions from live to on-demand. 0 is recommended for most use cases and indicates the platform default should be used.

rtmps: Optional[Rtmps]

Details for streaming to an live input using RTMPS.

stream_key: Optional[str]

The secret key to use when streaming via RTMPS to a live input.

url: Optional[str]

The RTMPS URL you provide to the broadcaster, which they stream live video to.

rtmps_playback: Optional[RtmpsPlayback]

Details for playback from an live input using RTMPS.

stream_key: Optional[str]

The secret key to use for playback via RTMPS.

url: Optional[str]

The URL used to play live video over RTMPS.

srt: Optional[Srt]

Details for streaming to a live input using SRT.

passphrase: Optional[str]

The secret key to use when streaming via SRT to a live input.

stream_id: Optional[str]

The identifier of the live input to use when streaming via SRT.

url: Optional[str]

The SRT URL you provide to the broadcaster, which they stream live video to.

srt_playback: Optional[SrtPlayback]

Details for playback from an live input using SRT.

passphrase: Optional[str]

The secret key to use for playback via SRT.

stream_id: Optional[str]

The identifier of the live input to use for playback via SRT.

url: Optional[str]

The URL used to play live video over SRT.

status: Optional[Literal["connected", "reconnected", "reconnecting", 5 more]]

The connection status of a live input.

One of the following:
"connected"
"reconnected"
"reconnecting"
"client_disconnect"
"ttl_exceeded"
"failed_to_connect"
"failed_to_reconnect"
"new_configuration_accepted"
uid: Optional[str]

A unique identifier for a live input.

maxLength32
web_rtc: Optional[WebRtc]

Details for streaming to a live input using WebRTC.

url: Optional[str]

The WebRTC URL you provide to the broadcaster, which they stream live video to.

web_rtc_playback: Optional[WebRtcPlayback]

Details for playback from a live input using WebRTC.

url: Optional[str]

The URL used to play live video over WebRTC.

Retrieve a live input

import os
from cloudflare import Cloudflare

client = Cloudflare(
    api_token=os.environ.get("CLOUDFLARE_API_TOKEN"),  # This is the default and can be omitted
)
live_input = client.stream.live_inputs.get(
    live_input_identifier="66be4bf738797e01e1fca35a7bdecdcd",
    account_id="023e105f4ecef8ad9ca31a8372d0c353",
)
print(live_input.uid)
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "created": "2014-01-02T02:20:00Z",
    "deleteRecordingAfterDays": 45,
    "enabled": true,
    "meta": {
      "name": "test stream 1"
    },
    "modified": "2014-01-02T02:20:00Z",
    "recording": {
      "allowedOrigins": [
        "example.com"
      ],
      "hideLiveViewerCount": false,
      "mode": "off",
      "requireSignedURLs": false,
      "timeoutSeconds": 0
    },
    "rtmps": {
      "streamKey": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "url": "rtmps://live.cloudflare.com:443/live/"
    },
    "rtmpsPlayback": {
      "streamKey": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "url": "rtmps://live.cloudflare.com:443/live/"
    },
    "srt": {
      "passphrase": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "streamId": "f256e6ea9341d51eea64c9454659e576",
      "url": "srt://live.cloudflare.com:778"
    },
    "srtPlayback": {
      "passphrase": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "streamId": "f256e6ea9341d51eea64c9454659e576",
      "url": "rtmps://live.cloudflare.com:443/live/"
    },
    "status": "connected",
    "uid": "66be4bf738797e01e1fca35a7bdecdcd",
    "webRTC": {
      "url": "https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/publish"
    },
    "webRTCPlayback": {
      "url": "https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/play"
    }
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "created": "2014-01-02T02:20:00Z",
    "deleteRecordingAfterDays": 45,
    "enabled": true,
    "meta": {
      "name": "test stream 1"
    },
    "modified": "2014-01-02T02:20:00Z",
    "recording": {
      "allowedOrigins": [
        "example.com"
      ],
      "hideLiveViewerCount": false,
      "mode": "off",
      "requireSignedURLs": false,
      "timeoutSeconds": 0
    },
    "rtmps": {
      "streamKey": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "url": "rtmps://live.cloudflare.com:443/live/"
    },
    "rtmpsPlayback": {
      "streamKey": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "url": "rtmps://live.cloudflare.com:443/live/"
    },
    "srt": {
      "passphrase": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "streamId": "f256e6ea9341d51eea64c9454659e576",
      "url": "srt://live.cloudflare.com:778"
    },
    "srtPlayback": {
      "passphrase": "2fb3cb9f17e68a2568d6ebed8d5505eak3ceaf8c9b1f395e1b76b79332497cada",
      "streamId": "f256e6ea9341d51eea64c9454659e576",
      "url": "rtmps://live.cloudflare.com:443/live/"
    },
    "status": "connected",
    "uid": "66be4bf738797e01e1fca35a7bdecdcd",
    "webRTC": {
      "url": "https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/publish"
    },
    "webRTCPlayback": {
      "url": "https://customer-m033z5x00ks6nunl.cloudflarestream.com/b236bde30eb07b9d01318940e5fc3edake34a3efb3896e18f2dc277ce6cc993ad/webRTC/play"
    }
  }
}