Skip to main content
GET
Twitter broadcast API: get an X live video's details
1 credit per call · All plans from $0.00012/credit · Direct MPP: USD 0.00015 per call
Get broadcast returns one X broadcast, the live video X hosts at x.com/i/broadcasts, live or ended. The endpoint is GET /api/v1/x/broadcasts/{id}.
The Node.js and Python snippets build 1 row per broadcast. Each call costs 1 credit. A refused request costs nothing.

Read a broadcast’s state, times, and audience

Use GET /x/broadcasts/{id} when you hold a broadcast ID or a broadcast URL. A broadcast is an X live video. For an audio Space, use Get Space.
  • state tells a broadcast that has not started from a running or ended one.
  • scheduledStart, startedAt, and endedAt give its times.
  • totalWatched counts the accounts that watched, live or after. totalWatching is the audience X counts now.
  • isAvailableForReplay says whether X offers a recording.
  • width and height give the video size in pixels.
  • tweet is the post that announces the broadcast, with its text, counts, and author. tweetId is its ID.
  • creator is the broadcaster’s full profile. periscopeUser names the same account as X’s live video service does.
Reading a broadcast adds no view to it. A field X leaves empty is left out.

Path parameters

string
required
X broadcast ID, or the URL-encoded broadcast URL, such as x.com/i/broadcasts/1nGeLMWbkpaKX.

Headers

string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here authenticates paid_reads guest keys. Direct MPP uses the Payment ... credential. Get it from the WWW-Authenticate: Payment challenge.

Response

200 OK

object
The broadcast. Broadcast object fields.
string
Broadcast ID.
string
Broadcast title.
boolean
Whether the broadcaster edited the title of the replay.
string
State as X names it, such as NotStarted, Running, or Ended.
string
When the broadcast was set to start, in UTC.
string
When the broadcast went live, in UTC.
string
When the broadcast ended, in UTC.
string
When the video stream last reached X, in UTC.
number
Accounts that watched, live or after.
number
Accounts watching, as X counts them.
boolean
Whether X offers a recording of the broadcast.
number
Video width in pixels.
number
Video height in pixels.
number
Camera rotation in degrees, 0 to 359.
boolean
Whether the video stream runs in high-latency mode.
number
X’s code for who may chat.
boolean
Whether X marks the chat private.
string
What produced the video stream, as X names it, such as LiveCms.
string
X’s media key for the video.
string
Image X shows before the broadcast starts.
number
X’s revision number of the broadcast.
string
ID of the post that announces the broadcast.
object
The post that announces the broadcast, with the fields of Get Tweet. Present only when X names the post.
object
The broadcaster as X’s live video service names the account: id, username, displayName, and profilePicture.
object
Profile of the broadcaster. It uses the fields of Get User.

400 Invalid broadcast ID

The path is not a broadcast ID or a broadcast URL. The request costs nothing.

401 Unauthenticated

Missing or invalid API key. Check the x-api-key header value.

402 Payment required

Account keys get account options. Guest keys get guest top-up only. Anonymous calls receive a direct MPP WWW-Authenticate: Payment challenge plus a guest wallet creation action. No checkout starts automatically. Confirm any payment action.

404 Broadcast not found

X knows no such broadcast. The request costs nothing.

502 X API unavailable

The read service returned an error. Retry after a short delay.

503 Service busy

Xquik is busy. Wait for Retry-After, then retry. The request costs nothing.

429 Rate limit exceeded

You exceeded your tier rate limit. Wait for the Retry-After header before retrying.

424 Dependency failed

The normalized v1 response contract can return 424 when the read service is unavailable.

Twitter broadcast API questions

URL-encode the broadcast link and pass it as id, or pass the ID from the link. x.com/i/broadcasts/1nGeLMWbkpaKX holds the ID 1nGeLMWbkpaKX.

How many people watched a broadcast?

Read totalWatched for everyone who watched, live or after. totalWatching is the audience X counts now.

Does reading a broadcast count as a view?

No. Reading a broadcast adds no view to it, so its counts stay as X shows them.

What is the difference between a broadcast and a Space?

A broadcast is a live video. A Space is a live audio room. Read a Space with Get Space.

Does this replace X’s official API?

No. This page documents Xquik, an independent third-party service. It does not document X’s official API.
Next steps. Get User for the broadcaster’s latest profile, or Get Space for an audio Space.