Users & Followers
These endpoints cover everything about an account and the people around it.
Start with /v1/user/info to resolve a handle into a profile — follower count, bio, verification status, join date. If you only have a numeric ID (for example from a follower crawl), /v1/user/info_by_id does the reverse lookup.
For posts, pick the timeline that matches what you actually want instead of fetching everything and filtering client-side. /v1/user/last_tweets returns the full profile timeline — originals, replies, retweets and quotes — and exclude=replies,retweets narrows it to just the posts an account wrote, the same way the official X API does. /v1/user/replies shows who an account interacts with. /v1/user/videos returns direct mp4 URLs with duration and thumbnails. Filtering is applied before your limit, so you still get the full number you asked for and pay only for what comes back.
For the follower graph, /v1/user/followers gives full profiles at 200 per page with no depth cap. If you're crawling millions of followers and only need the identity, /v1/user/followers_ids returns IDs and handles at roughly 8 bytes each — about 18× less data.
/v1/user/mentions answers the other direction: who is talking *to* this account. That's the core endpoint for brand, ticker and KOL monitoring.
User Profile
Complete profile: followers, verification, bio, join date, location.
{
"status": "success",
"data": {
"id": "44196397",
"username": "elonmusk",
"display_name": "Elon Musk",
"followers_count": 240919741,
"blue_verified": true,
"created_at": "Tue Jun 02 2009",
"url": "https://x.com/elonmusk"
}
}Latest Tweets
A user's most recent posts — originals, replies, retweets and quotes, as shown on their profile. Monitored accounts go up to 1,000 tweets deep.
{
"status": "success",
"data": [
{ "id": "2078...", "text": "...", "like_count": 12043,
"author": { "username": "binance" } }
],
"meta": { "count": 20 }
}Account Status
Is this account alive, suspended, deleted or unavailable? Always HTTP 200 — "it does not exist" is a successful answer, not an error. Audit follower lists, detect bans on monitored accounts, clean stale handles in bulk.
{ "status": "success", "data": {
"username": "elonmusk",
"status": "alive",
"user_id": "44196397",
"reason": null
} }
// 被封: { "status": "suspended", "user_id": null, "reason": "User has been suspended" }
// 不存在: { "status": "not_found", "user_id": null, "reason": null }
// 受保护等: { "status": "unavailable", "reason": "Protected" }Org Affiliates
Official accounts affiliated with a verified organization (staff, sub-brands). One call gets a company's whole X footprint. Pass the ORGANIZATION handle, not a member.
{ "status": "success", "data": [
{ "user_id": "1526461000000000000", "username": "XCorp",
"display_name": "X Corp.", "followers_count": 120000 }
], "meta": { "count": 47, "next_cursor": "..." } }Account Transparency
Based-in country, connected-via app, username-change count, join date, verification. From X's "About this account" page.
{ "status": "success", "data": {
"screen_name": "elonmusk",
"account_based_in": "United States",
"based_in_accurate": true,
"connected_via": "United States App Store",
"username_changes": 0,
"created_at": "Tue Jun 02 20:12:29 +0000 2009",
"is_blue_verified": true,
"is_verified": false,
"is_identity_verified": false,
"verified_since_msec": null,
"affiliate": "X",
"protected": false,
"raw": { ... }
} }Media Tweets
Only tweets containing photos or videos.
{ "status": "success", "data": [ ... ], "meta": { "count": 20 } }Highlights
The user's highlighted tweets tab.
{ "status": "success", "data": [ ... ] }Followers
Paginated follower list with full profiles.
{ "status": "success", "data": [ ...users ],
"meta": { "count": 100, "next_cursor": "..." } }Following
Accounts a user follows (paginated).
{ "status": "success", "data": [ ...users ], "meta": { "next_cursor": "..." } }Verified Followers
Blue-verified followers only.
{ "status": "success", "data": [ ...verified users ] }Profile by ID
Reverse lookup: numeric user ID to full profile. Handy after follower_ids.
{ "status": "success", "data": {
"id": "44196397", "username": "elonmusk",
"followers_count": 221000000 } }Replies Only
Only this account's replies — shows who they interact with. Measured 57% reply rate.
{ "status": "success", "data": [
{ "id": "...", "text": "@adamcarolla Oh and btw...",
"is_reply": true } ], "meta": { "count": 20 } }Photo Posts
Only posts with images. Measured 88% carry photos, zero overlap with the normal timeline.
{ "status": "success", "data": [
{ "id": "...", "photos": ["https://pbs.twimg.com/..."] } ],
"meta": { "count": 20 } }Video Posts
Only posts with video, including direct mp4 URLs, duration and thumbnail. Measured 100%.
{ "status": "success", "data": [
{ "id": "...", "videos": [ { "url": "https://video.twimg.com/...mp4",
"duration_ms": 21000, "thumbnail": "..." } ] } ] }Long-form Articles
X Articles (long-form posts) with full plain text.
{ "status": "success", "data": [
{ "id": "...", "text": "<full article text>" } ] }Mentions
Who is talking TO this account. Core endpoint for brand and ticker monitoring.
{ "status": "success", "data": [
{ "id": "...", "text": "@elonmusk The reason SpaceX..." } ],
"meta": { "count": 20 } }Follower IDs
IDs and handles only — 18x less data than full profiles. Built for large-scale graph crawling.
{ "status": "success", "data": [
{ "id": "2090864542075244544", "username": "KINGSCAR20hc" } ],
"meta": { "count": 100, "next_cursor": "..." } }Follow Relationship
Does account A follow account B? Works on any two third-party accounts.
{ "status": "success", "data": {
"source": "elonmusk", "target": "binance",
"following": false, "followed_by": true } }