Twitter List Members API | Read a Public X List
Fetch the members of a public List by its numeric ID, cursor-paginated. Returns full user objects for every account in the List. Cost: $0.0008 per call.
List Members pages through every member of a public Twitter/X List by its numeric List ID, returned as cursor-paginated full user objects. Use it to read a curated set of accounts in one pass. The cursor is null on the final page for list endpoints, and the empty users array is the stop signal. Each page is one $0.0008 read.
Authorization
bearerAuth Pass your API key as a bearer token on every request: Authorization: Bearer <API_KEY>.
In: header
Query Parameters
Numeric ID of the public List.
Pagination cursor from a previous response.
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/members?list_id=1234567890123456789&count=20"{ "users": [ { "id": "745273", "username": "naval", "name": "Naval", "verified": true } ], "next_cursor": "DAABCgABF..."}{ "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
| Unit | Price |
|---|---|
| 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, so a large List costs one call per page. Most Lists return in a handful of pages.
When to use
Use it to read a curated account set, for example pulling every member of a public VC List.
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.
Related endpoints
- User Info by Username: Fetch a full profile by @handle.
- User Followers: Page through the accounts that follow a user.
- User Affiliates: List the affiliated sub-accounts of an organization profile.
FAQ
What identifier does List Members take?
The numeric List ID. The List must be public; private Lists are not readable. Each member comes back as a full user object.
How do I page through a large List?
Send next_cursor as the cursor parameter and repeat until the users array comes back empty, the universal stop signal.
Can I read a private List?
No. Only public Lists are readable. A private or deleted List ID returns no members.