Skip to main content
GET
Twitter list followers API & profile export
Use this Twitter List followers API for one X List. It returns subscriber profiles. Export user IDs, usernames, bios, and profile locations. Keep verification, follower counts, following counts, profile images, and cursors.

Twitter list followers questions

What is a Twitter list follower?

A List follower subscribes to one List. A List member is an account selected by the List owner. An account follower follows one profile instead. X says anyone can follow a public List. Only its owner can access a private List. Read X’s official Lists guide for current List visibility and follow behavior.

How do I find who follows a specific Twitter list?

Copy the numeric List ID from its X URL. Request the first page without a cursor. Store every returned user row before requesting another page. Xquik returns has_next_page and next_cursor. Continue only when has_next_page is true. Pass next_cursor unchanged as the next cursor. X also documents a List follower route. Its official Get List followers guide uses different pagination field names.

How do I export Twitter list followers?

The direct endpoint returns JSON pages with named fields. Convert each profile into one row. Store the List ID, user ID, username, bio, counts, and request time. Use list_follower_explorer for a saved Twitter List follower export. The job can produce CSV, JSON, or XLSX files without custom spreadsheet code.

What can I check in each Twitter profile?

Check user IDs, usernames, bios, and public location text. Check when each account began, its verified status, and its public counts. Check automated, protected, and unavailable flags only when the response includes them. These fields do not show age, gender, income, identity, consent, or sentiment. A profile location does not prove where someone lives.

Can this API add, remove, or buy list followers?

No. This read endpoint cannot follow a List or remove a List follower. It cannot create Lists, manage List members, publish posts, or buy followers. Use the List Members endpoint for the curated profile roster. That endpoint also reads profiles. It does not edit the List.
Requested result counts are upper bounds for paid authenticated calls. When remaining credits cannot cover the full page or ID list, Xquik returns fewer results. If zero paid results are affordable, it returns 402 insufficient_credits.
1 credit per result returned · All plans from $0.00012/credit
The Node.js and Python snippets build one row per List follower. Save followerRows or follower_rows with nextCursor. Then request the next page.

Direct list follower handoff

Use GET /x/lists/{id}/followers for one JSON page of accounts that follow a List. Send the saved rows to a CRM, warehouse, audience tool, or agent. Use list_follower_explorer for a saved job and CSV, JSON, or XLSX export. Store list_id, follower_id, username, and display_name. Keep profile counts, verified state, has_next_page, and next_cursor. Do not edit the cursor. Pass it back only when has_next_page is true. Direct calls use the default paid page size. Each returned user costs 1 credit. If credits cover zero results, Xquik returns 402 insufficient_credits.

List follower audience

Page accounts that follow the list. Store the row shape above for CRM, warehouse, and audience imports.

Next page

Store has_next_page and next_cursor. Only request another page when has_next_page is true.

Default page

Direct calls use the default paid page size. Treat the returned users.length as the row count returned for this page.

Saved export

Use list_follower_explorer when the workflow needs a saved job with CSV/JSON/XLSX output.

Measure Twitter list follower profiles

Use List followers for profiles that chose to follow one List. Keep the List ID with every profile. This keeps follower rows apart from List member rows. Save these fields:
  • User ID, username, and profile name.
  • Bio, location, and verified state.
  • Follower and following counts.
  • List ID, cursor, and collection time.
Compare List follower snapshots by user ID. Record new and missing IDs on separate lines. A new username does not mean a new follower. Use list members when you need the list owner’s curated roster. Use account followers when you need the audience of one profile. These relationship types answer different questions. For outreach review, keep source list context. Never infer consent or contact permission from a public follow relationship.

Track list audience changes

Finish both follower snapshots before finding added or missing IDs. Record the List ID, request time, page count, and final row count. Use follower user IDs as stable match keys. Keep usernames as labels. Mark stopped or credit-limited jobs as partial. A snapshot diff shows the List followers seen in each run. It does not show changes to the List’s member roster. Report newly observed follower IDs separately from missing IDs. Keep both snapshot completion states beside the comparison. Use snapshot differences to review the audience only. A public follow does not grant outreach rights or prove interest in every List topic.

Path parameters

string
required
List ID (numeric string).

Query parameters

string
Pagination cursor from a previous response. Omit for the first page.
integer
Profiles per page. Range: 20-200. Defaults to 200.

Which list endpoint?

List followers

Use GET /x/lists/{id}/followers for accounts that follow the list.

List members

Use GET /x/lists/{id}/members for accounts the list owner added to the list.

List tweets

Use GET /x/lists/{id}/tweets for tweets from accounts in the list.

Bulk list jobs

Use Create extraction with list_follower_explorer, list_member_extractor, or list_post_extractor when the workflow needs a saved export.

User result filters

These filters apply before billing. Selective filters can return fewer rows.
integer
Require this minimum follower count. Filtering happens before billing.
integer
Allow this maximum follower count. Missing counts pass this filter.
integer
Require this minimum following count.
integer
Allow this maximum following count. Missing counts pass this filter.
integer
Require this minimum post count.
integer
Allow this maximum post count. Missing counts pass this filter.
integer
Require this minimum account age in days.
boolean
When true, only return verified profiles.
string
Match the exact verification type.
boolean
When true, require a profile website.
boolean
When true, require a profile location.
string
Require every comma-separated or line-separated bio term.
string
Require this text in the profile location.
string
Require this text in the username.

Headers

string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here for paid_reads.

Response

200 OK

object[]
Array of list followers. User object fields.
string
User ID.
string
X username.
string
Display name.
string
Contains the profile bio.
number
Shows how many accounts follow this profile.
number
Shows how many accounts this profile follows.
boolean
Shows if X marks this profile as verified.
string
Links to the profile image.
string
Shows the location written on the profile.
string
Shows when the account began, in ISO 8601 format.
number
Shows the post count if X returns it.
string
Links to the cover image if X returns it.
number
Shows the media post count if X returns it.
string
Website URL from profile. Omitted if empty.
number
Shows how many posts this account liked if X returns it.
boolean
Shows custom timelines if X returns this field.
boolean
Shows X translator status if X returns it.
string[]
Lists country codes where X withholds this account. Omitted if empty.
boolean
Shows if X marks the account as sensitive. Omitted if X does not send it.
string[]
Lists pinned Tweet IDs. Omitted if none.
boolean
Shows if X marks this account as automated. Omitted if X does not send it.
string
Names the operator. Omitted when the account is not automated.
boolean
Shows if X could not load the account. Omitted when X loads it.
string
Explains why X could not load the account. Omitted when X loads it.
string
Shows Business or Government status. Omitted for blue checks or unverified profiles.
object
Adds the structured bio and its tags. Omitted if X does not send it.
boolean
Shows if X Premium verifies the account. Omitted if X does not send it.
boolean
Shows the normalized verified state. Omitted if X does not send it.
string
Links to the profile banner. Omitted if X does not send it.
boolean
Shows if the account protects its posts. Omitted if X does not send it.
string
Shows a community role only in community results.
boolean
Shows if another page exists.
string
Gives the next cursor. Pass it as the cursor query value.

400 Invalid list ID

The list ID path parameter is empty.

401 Unauthenticated

Anonymous requests get WWW-Authenticate: Bearer and a guest wallet checkout action. This is not a Payment challenge.
Missing or invalid API key.

402 Payment required

Account keys get account options; guest keys get guest top-up only. No checkout starts automatically. Confirm any payment action.

404 List not found

The list could not be resolved. Check the list ID.

502 X API unavailable

The read service returned an error. Retry after a short delay.

429 Rate limit exceeded

You exceeded your tier’s rate limit. Wait for the Retry-After header before retrying.

424 Dependency failed

The v1 response can return 424 when the read service fails.