/v1/call/x.followersX (Twitter) user followers API
Only on X.
The X (Twitter) user followers API returns a page of the accounts following an X user, up to 200 a page, newest followers first. One call costs 12 credits ($0.024 to $0.04 depending on the pack); failed calls are free. Call it over HTTP or from your AI client over MCP. Last tested 2026-10-17.
Last updated:
Request and response
curl https://api.socialtoai.com/v1/call/x.followers \ -H "Authorization: Bearer $SOCIALTOAI_KEY" \ -H "Content-Type: application/json" \ -d '{ "username": "NASA" }'import osimport requestsresponse = requests.post( "https://api.socialtoai.com/v1/call/x.followers", headers={"Authorization": f"Bearer {os.environ['SOCIALTOAI_KEY']}"}, json={ "username": "NASA", },)print(response.json())# Connected over MCP? Ask in plain words.Use the X user followers interface (x.followers) with username: NASA.# Your AI calls the call tool with:{ "username": "NASA"}{ "op": "x.followers", "platform": "x", "status": "ok", "items": [ { "platform": "x", "id": "…", "ref": "…", "approx": [], "type": "account", "username": "…", "name": "…", "url": "https://example.com/…", "bio": null, "verified": null, "followers": 0, "following": 3, "posts_count": 0 } ], "unavailable": ["verified"], "page": { "has_more": true, "cursor": "cur_…", "cursor_expires_at": "2026-10-10T14:58:18.000Z" }, "cost_credits": 12}Names and text were removed from the sample; the numbers are as recorded.
2 parameters.
1 required.
Send them as a JSON body with POST. Your key goes in the Authorization header, never in the URL.
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
| username | string | Required | — | X handle, without the @ |
| cursor | string | Optional | — | Pass page.cursor from the last response to get the next page. |
Where to get what you send.
usernameX handle, without the @ (e.g. NASA)
Every item these return carries its username; send it as it is:
followingUser followingsearch · type=userSearchcommunity_membersCommunity memberslist_followersList followerslist_membersList members
The fields of each item.
What X cannot give is marked.
| Field | Type | Meaning |
|---|---|---|
| items[].username | string | The handle. |
| items[].name | string | The display name. |
| items[].url | string | A link to the profile. |
| items[].bio | string | The bio. |
| items[].verified | booleanalways null | Whether the account is verified. |
| items[].followers | integer | Follower count. |
| items[].following | integer | How many accounts it follows. |
| items[].posts_count | integer | How many posts it has published. |
nullFields X cannot giveRead null as “X did not give this”, not as zero. These are always null on this call:
verifiedWhether the account is verified.
Every item also has platform, id, ref, approx and type; the response around the items is the same on every call. Response format
What to expect.
1 call per second per key, 5 after a purchase; going over is not charged. Rate limits
A failed call costs 0 credits and is never retried on its own. Error codes
Once connected over MCP, these questions use it.
Get a page of the accounts following an X user, up to 200 a page, newest followers first: NASA.
12 creditscall {"op":"x.followers","username":"NASA"}Find X accounts about "Smithsonian", then for the first 3: get a page of the accounts following an X user, up to 200 a page, newest followers first.
41 creditssearch {"platform":"x","query":"Smithsonian","type":"user"}call {"op":"x.followers","username":"<username>"} × 3
The interface of the same name on other platforms.
All platforms and prices/v1/call/x.followers{ "username": "NASA" }12 creditsper call