TwitterAPIs Docs
API ReferenceList Data

Twitter List Followers API | Who Subscribes to an X List

Fetch a public List's followers by its numeric ID, cursor-paginated. Followers and members are different sets of people: members are the accounts the List owner added to it, followers are the accounts that subscribed to read it. A List with hundreds of members commonly has only a handful of followers, so a small count here is normal and is not a truncated page. next_cursor is null once X marks the roster complete. Cost: $0.0008 per call.

List Followers returns the accounts that follow a public Twitter/X List, by its numeric List ID, as cursor-paginated full user objects. Followers are not members: members are the accounts the List owner added to it, followers are the accounts that subscribed to read it, and the two counts are unrelated. A List with hundreds of members commonly has only a handful of followers. next_cursor is null once X marks the roster complete. Each page is one $0.0008 read.

GET
/list/followers

Authorization

bearerAuth
AuthorizationBearer <token>

Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.

In: header

Query Parameters

list_id*string

Numeric ID of the public List.

cursor?string

Pagination cursor from a previous response.

count?integer

Max items to return for this page. Default 20; clamped to 1-100.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/list/followers?list_id=1234567890123456789&count=20"
{  "users": [    {      "id": "745273",      "username": "naval",      "name": "Naval",      "verified": true    }  ],  "next_cursor": null}
{  "error": "bad_request",  "message": "Missing or malformed parameter. Fix the request before retrying."}
{  "error": "unauthorized",  "message": "The API key is missing, malformed, or revoked. Check the Authorization header."}
{  "error": "insufficient_credits",  "message": "Your balance is exhausted. Top up your credits to continue."}
{  "error": "not_found",  "message": "The resource does not exist, for example a deleted tweet or a private account."}
{  "error": "rate_limited",  "message": "Too many requests. Back off and retry with exponential backoff."}
{  "error": "server_error",  "message": "Something failed on our side. Retry with backoff; if it persists, contact support."}

Pricing

UnitPrice
Per call$0.0008
Per 1,000 calls$0.80
Per 1,000 records (~20 per call)~$0.04

Each page is one $0.0008 read. Follower rosters are usually short, so most Lists return in a single call.

When to use

Use it to measure a List's audience rather than its contents, for example checking who subscribes to a curated industry List before pitching to be added to it.

Pagination

This endpoint is cursor-paginated and returns roughly 20 records per call. Pass the next_cursor from each response back as the cursor parameter to read the next page. Stop when the records array comes back empty: follower-graph endpoints return a non-null cursor even on the final page, so the empty array is the only reliable stop signal. See Pagination for the full loop.

  • List Members: Page through the members of a public Twitter/X List.
  • User Followers: Page through the accounts that follow a user.
  • List Timeline: Read a public List's native X timeline, retweets included.

FAQ

How is this different from List Members?

They are different sets of people. Members are the accounts the List owner put in the List. Followers are the accounts that subscribed to read it. Neither number predicts the other, and a busy List can have 500 members and 7 followers.

Why did I only get a handful of results?

That is normal rather than a truncated page. Most Lists are followed by very few accounts. When the roster is complete, next_cursor comes back null, which is the signal to stop paging.

Can I read a private List's followers?

No. Only public Lists are readable. A private or deleted List ID returns no followers.