API reference
Base URL https://api.xsignalfeed.com. All responses are JSON in the envelope described under Errors when they fail, and carry the headers listed under Rate limits when they succeed. Fields marked * are required.
Monitoring
Choose which accounts this key follows. For each of them you get every event type your key allows, or only the types you pick.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/monitor/targets | List monitored accounts | targets:read | 0 |
POST /v1/monitor/targets | Monitor an account | targets:write | 0 |
GET /v1/monitor/targets/{target} | Get a monitored account | targets:read | 0 |
PATCH /v1/monitor/targets/{target} | Choose event types for an account | targets:write | 0 |
DELETE /v1/monitor/targets/{target} | Stop monitoring an account | targets:write | 0 |
POST /v1/monitor/targets:batch | Batch monitor operations | targets:write | 0 |
Keywords
Watch X search for phrases. The query accepts X's own syntax: exact phrases in quotes, OR, -exclusions, #hashtags, $cashtags, from:, to:, lang:, filter:media, -filter:replies, -filter:retweets. We watch the "Latest" tab, so results are chronological, and any language or script works.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/keywords | List keywords | keywords:read | 0 |
POST /v1/keywords | Watch a keyword | keywords:write | 0 |
DELETE /v1/keywords/{keyword_id} | Remove a keyword | keywords:write | 0 |
Stream & history
The WebSocket is described under Streaming; this is its REST companion for catching up.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/events | Event history | replay | 0 |
Users
Profiles, follow lists, media, mentions, subscriptions and user search, read from X now. Each call costs the credits shown.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/users/{screen_name} | Get user by username | reads | 1 |
GET /v1/users/by-id/{user_id} | Get user by id | reads | 1 |
GET /v1/users/batch | Get users by ids | reads | 1 per id |
GET /v1/users/{screen_name}/about | Get account details | reads | 1 |
GET /v1/users/{screen_name}/tweets | Get user posts | reads | 2 |
GET /v1/users/{screen_name}/media | Get user media | reads | 2 |
GET /v1/users/{screen_name}/mentions | Get user mentions | reads | 2 |
GET /v1/users/{screen_name}/following | Get following | reads | 2 |
GET /v1/users/{screen_name}/followers | Get followers | reads | 2 |
GET /v1/users/{screen_name}/verified_followers | Get verified followers | reads | 2 |
GET /v1/users/{screen_name}/subscriptions | Get subscriptions | reads | 2 |
GET /v1/users/search | Search users | reads | 2 |
GET /v1/users/{screen_name}/relationship/{other_screen_name} | Check follow relationship | reads | 1 |
Tweets
Posts by id, with their replies, quotes, reposters, thread and article. Each call costs the credits shown.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/tweets/{tweet_id} | Get a post | reads | 1 |
GET /v1/tweets | Get posts by ids | reads | 1 |
GET /v1/tweets/{tweet_id}/replies | Get replies | reads | 2 |
GET /v1/tweets/{tweet_id}/quotes | Get quotes | reads | 2 |
GET /v1/tweets/{tweet_id}/retweeters | Get reposters | reads | 2 |
GET /v1/tweets/{tweet_id}/thread | Get a thread | reads | 2 |
GET /v1/tweets/{tweet_id}/article | Get an article | reads | 1 |
Search
X search in its own syntax, latest or top results, paged.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/search | Search posts | reads | 2 |
GET /v1/search/trends | Search a trend | reads | 2 |
Lists
Timeline and membership of any public list.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/lists/{list_id}/tweets | Get list posts | reads | 2 |
GET /v1/lists/{list_id}/members | Get list members | reads | 2 |
Communities
Info, members, moderators and posts of an X community.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/communities/{community_id} | Get a community | reads | 1 |
GET /v1/communities/{community_id}/members | Get community members | reads | 2 |
GET /v1/communities/{community_id}/moderators | Get community moderators | reads | 2 |
GET /v1/communities/{community_id}/tweets | Get community posts | reads | 2 |
Trends
What is trending on X right now, by category.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/trends | Get trends | reads | 2 |
Account
What this key may do, how much it has used, where webhooks go.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/account | Get account | — | 0 |
GET /v1/account/usage | Get usage | — | 0 |
GET /v1/account/webhook | Get webhook | webhook | 0 |
PUT /v1/account/webhook | Set webhook | webhook | 0 |
Meta & status
Public, cached for five minutes, no key needed. Build your validation and your UI from these instead of copying this page.
| Endpoint | Name | Scope | Credits |
|---|---|---|---|
GET /v1/meta/event-types | List event types | — | 0 |
GET /v1/meta/scopes | List scopes | — | 0 |
GET /v1/meta/plans | List plans | — | 0 |
GET /v1/meta/versions | List versions | — | 0 |
GET /v1/health | Health | — | 0 |
GET /v1/status | Status | — | 0 |
A machine-readable description of all of the above is at /v1/openapi.json; /v1/docs redirects here.