streaming
Subscribe to server-sent events for real-time updates via a long-lived HTTP connection or via WebSocket.
Your application can use a server-sent events endpoint to receive updates in real-time. Server-sent events is an incredibly simple transport method that relies entirely on chunked-encoding transfer, i.e. the HTTP connection is kept open and receives new data periodically.
Alternatively, a WebSocket connection can also be established.
Server-sent events (HTTP)
Endpoints
GET /api/v1/streaming/health
Returns OK when streaming service is fine. Added in 2.5.0
GET /api/v1/streaming/user
Returns events that are relevant to the authorized user, i.e. home timeline and notifications
GET /api/v1/streaming/public
Returns all public statuses
GET /api/v1/streaming/public/local
Returns all local statuses
GET /api/v1/streaming/hashtag?tag=:hashtag
Returns all public statuses for a particular hashtag
GET /api/v1/streaming/hashtag/local?tag=:hashtag
Returns all local statuses for a particular hashtag
GET /api/v1/streaming/list?list=:list_id
Returns statuses for a list
GET /api/v1/streaming/direct
Returns all direct messages
Stream contents
The stream will contain events as well as heartbeat comments. Lines that begin with a colon (:) can be ignored by parsers, they are simply there to keep the connection open. Events have this structure:
event: name
data: payload
WebSocket
For WebSockets, there is only one URL path (/api/v1/streaming). The access token as well as the endpoint you are interested in must be provided with query params, respectively access_token and stream. Query params list and tag are likewise supported for relevant endpoints.
Possible stream values:
userpublicpublic:localhashtaghashtag:locallistdirect
Event types
| Event | Description | What’s in the payload |
|---|---|---|
update | A new status has appeared | Status |
notification | A new notification has appeared | Notification |
delete | A status has been deleted | ID of the deleted status |
filters_changed | Keyword filters have been changed |
The payload is JSON-encoded.
filters_changed event, payload is not defined.Last updated May 6, 2020 · Improve this page