Connection
Subscribe to a Channel
Send a JSON message:Receive Events
When data changes, the server pushes an event. Only changed fields are included — no event is sent if nothing changed. Example — tweet gets 2 new views:Unsubscribe
Available Channels
| Channel | Required Params | Default Interval | Min/Max |
|---|---|---|---|
community:tweets | id | 30s | 15-120s |
community:members | username | 60s | 30-300s |
user:tweets | username | 30s | 15-120s |
user:mentions | username | 30s | 15-120s |
user:followers | username | 60s | 30-300s |
tweet:engagement | tweet_id | 15s | 10-120s |
search:tweets | query | 30s | 15-120s |
Event Data Formats
community:tweets
New tweets posted in a community.community:members
Detects when a user joins or leaves communities.user:tweets
New tweets from a specific user.user:mentions
New tweets mentioning a user.user:followers
Follower count changes. Reports the new count, previous count, and delta.tweet:engagement
Live engagement metrics. Only changed fields are included, each with its delta.search:tweets
New tweets matching a search query.Error Events
Sent when polling fails (e.g. rate limit, account issues):INVALID_JSON, INVALID_CHANNEL, SUBSCRIBE_FAILED, POLL_ERROR, UNKNOWN_TYPE
Keepalive
Send periodic pings to keep the connection alive:Full JavaScript Example
Full Python Example
Behavior Details
- Deduplication: Multiple clients on the same resource share one poll
- First poll: Captures initial snapshot without emitting events (avoids flood)
- Auto-cleanup: Polling stops when all clients unsubscribe from a resource
- Max subscriptions: 100 total across all connected clients
- Snapshot cap: 500 IDs per subscription to prevent memory growth
- Error backoff: After 5 consecutive poll failures, an error event is sent to all subscribers