TwitterAPIs Docs
API ReferenceList Data

Twitter List Timeline API | Native X List Feed

Fetch a public List's feed as X itself serves it, using the native List timeline. Includes members' retweets and X's own ordering. Paged only, with no date or reply filters. Cost: $0.0008 per call.

List Timeline returns X's own native feed for a public Twitter/X List, the same ordering the List shows on x.com, including members' retweets. It takes only list_id, count and cursor: no date range and no reply filter exist on it, because a native timeline cannot honour search operators. Each page is one $0.0008 read.

GET
/list/timeline

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.

count?integer

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

cursor?string

Pagination cursor from a previous response.

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/list/timeline?list_id=1234567890123456789&count=20"
{  "tweets": [    {      "id": "1899887766554433222",      "text": "Reposting this because it deserves a second look.",      "created_at": "2026-08-14T10:03:19.000Z",      "author": {        "id": "745273",        "username": "naval"      }    }  ],  "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

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, so a deep scroll costs one call per page.

When to use

Use it when you want the List exactly as X presents it, retweets and native ordering included, for example mirroring a curated List into your own reader.

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 Tweets: Read a public List's posts, filterable by date range and replies.
  • List Members: Page through the members of a public Twitter/X List.
  • User Tweets: Fetch a user's public timeline (original tweets, retweets, and their own replies).

FAQ

Why can I not filter this by date?

It reads X's native ListLatestTweetsTimeline, which exposes no date or reply operators. Those are search-index parameters. Use List Tweets when you need them.

Does it include retweets?

Yes. This is X's own List feed, so members' retweets and X's List ordering are both included, unlike the search-backed List Tweets endpoint.

How do I page through it?

Send next_cursor as the cursor parameter and repeat until the tweets array comes back empty.