---
title: "Retrieve streams"
method: GET
path: "/stream"
tags: ["stream"]
---

# Retrieve streams

`GET /stream`

## Query parameters

- `streamsonly` string

## Response `200`

Success

- Stream[]
  - `id` string
  - `name` string, required
  - `kind` string
  - `creatorId` CreatorId
    - `type` 'unverified', required
    - `value` string, required — Developer-managed ID of the user who created the resource.
  - `userTags` object — User input tags associated with the stream
  - `lastSeen` number
  - `sourceSegments` number
  - `transcodedSegments` number
  - `sourceSegmentsDuration` number — Duration of all the source segments, sec
  - `transcodedSegmentsDuration` number — Duration of all the transcoded segments, sec
  - `sourceBytes` number
  - `transcodedBytes` number
  - `ingestRate` number — Rate at which sourceBytes increases (bytes/second)
  - `outgoingRate` number — Rate at which transcodedBytes increases (bytes/second)
  - `isActive` boolean — If currently active
  - `isHealthy` IsHealthy — unresolved $ref
  - `issues` HumanIssues — unresolved $ref
  - `createdByTokenName` string — Name of the token used to create this object
  - `createdAt` number — Timestamp (in milliseconds) at which stream object was created
  - `parentId` string — Points to parent stream object
  - `streamKey` string — Used to form RTMP ingest URL
  - `pull` object — Configuration for a stream that should be actively pulled from an external source, rather than pushed to Livepeer. If specified, the stream will not have a streamKey.
    - `source` string, required — URL from which to pull from.
    - `headers` object — Headers to be sent with the request to the pull source.
    - `isMobile` union — Indicates whether the stream will be pulled from a mobile source.
      - 0 | 1 | 2 — 0: not mobile, 1: mobile screen share, 2: mobile camera.
      - boolean — If true, the stream will be pulled from a mobile source.
    - `location` object — Approximate location of the pull source. The location is used to determine the closest Livepeer region to pull the stream from.
      - `lat` number, required — Latitude of the pull source in degrees. North is positive, south is negative.
      - `lon` number, required — Longitude of the pull source in degrees. East is positive, west is negative.
  - `playbackId` string — The playback ID to use with the Playback Info endpoint to retrieve playback URLs.
  - `playbackPolicy` PlaybackPolicy, nullable — Whether the playback policy for an asset or stream is public or signed
    - `type` 'public' | 'jwt' | 'webhook', required
    - `webhookId` string — ID of the webhook to use for playback policy
    - `webhookContext` object — User-defined webhook context
    - `refreshInterval` number — Interval (in seconds) at which the playback policy should be refreshed (default 600 seconds)
    - `allowedOrigins` string[] — List of allowed origins for CORS playback (<scheme>://<hostname>:<port>, <scheme>://<hostname>)
  - `profiles` FfmpegProfile[] — Profiles to transcode the stream into. If not specified, a default set of profiles will be used with 240p, 360p, 480p and 720p resolutions. Keep in mind that the source rendition is always kept.
    - `width` integer, required
    - `name` string, required
    - `height` integer, required
    - `bitrate` integer, required
    - `fps` integer, required
    - `fpsDen` integer
    - `quality` integer — Restricts the size of the output video using the constant quality feature. Increasing this value will result in a lower quality video. Note that this parameter might not work if the transcoder lacks support for it.
    - `gop` string
    - `profile` 'H264Baseline' | 'H264Main' | 'H264High' | 'H264ConstrainedHigh'
    - `encoder` 'H.264'
  - `projectId` string — The ID of the project
  - `record` boolean — Should this stream be recorded? Uses default settings. For more customization, create and configure an object store.
  - `recordingSpec` object — Configuration for recording the stream. This can only be set if `record` is true.
    - `profiles` TranscodeProfile[] — Profiles to process the recording of this stream into. If not specified, default profiles will be derived based on the stream input. Keep in mind that the source rendition is always kept.
      - `width` integer
      - `name` string
      - `height` integer
      - `bitrate` integer, required
      - `quality` integer — Restricts the size of the output video using the constant quality feature. Increasing this value will result in a lower quality video. Note that this parameter might not work if the transcoder lacks support for it.
      - `fps` integer
      - `fpsDen` integer
      - `gop` string
      - `profile` 'H264Baseline' | 'H264Main' | 'H264High' | 'H264ConstrainedHigh'
      - `encoder` 'H.264' | 'HEVC' | 'VP8' | 'VP9'
  - `multistream` object
    - `targets` Target[] — References to targets where this stream will be simultaneously streamed to
      - `profile` string, required — Name of transcoding profile that should be sent. Use "source" for pushing source stream data
      - `videoOnly` boolean — If true, the stream audio will be muted and only silent video will be pushed to the target.
      - `id` string — ID of multistream target object where to push this stream
      - `spec` object — Inline multistream target object. Will automatically create the target resource to be used by the created stream.
        - `name` string
        - `url` Url, required — unresolved $ref
  - `suspended` boolean — If currently suspended
  - `lastTerminatedAt` number, nullable — Timestamp (in milliseconds) when the stream was last terminated
  - `userId` string
  - `renditions` object

## Other responses

- `default` — Error

## Changes

- **2024-06-18** `82356f03be94` — 4 breaking, 3 warning
  - the response property `items/recordingSpec/profiles/items/fps` became optional for the status `200`
  - the response property `items/recordingSpec/profiles/items/height` became optional for the status `200`
  - the response property `items/recordingSpec/profiles/items/name` became optional for the status `200`
  - the response property `items/recordingSpec/profiles/items/width` became optional for the status `200`
  - …3 more
- **2024-06-11** `7c015b7e287c` — 1 info
  - added the optional property `items/projectId` to the response with the `200` status
- **2024-06-11** `8ccb056ca148` — 1 warning
  - removed the optional property `items/projectId` from the response with the `200` status
- **2024-06-11** `7c015b7e287c` — 1 info
  - added the optional property `items/projectId` to the response with the `200` status
- **2024-06-11** `8ccb056ca148` — 1 warning
  - removed the optional property `items/projectId` from the response with the `200` status

[Full history](https://skmtc.dev/livepeer/apis/livepeer-api-reference/changes/stream/get.md)

---

[API](https://skmtc.dev/livepeer/apis/livepeer-api-reference.md) · [All operations](https://skmtc.dev/livepeer/apis/livepeer-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/livepeer/livepeer-api-reference/revisions/0d7e15217608/schema)
