Skip to main content
GET
/
x
/
lists
/
{id}
/
tweets
Get list tweets
curl --request GET \
  --url https://xquik.com/api/v1/x/lists/{id}/tweets \
  --header 'x-api-key: <api-key>'

Documentation Index

Fetch the complete documentation index at: https://docs.xquik.com/llms.txt

Use this file to discover all available pages before exploring further.

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 tweet returned · All plans from $0.00012/credit
curl "https://xquik.com/api/v1/x/lists/1234567890/tweets" \
  -H "x-api-key: xq_YOUR_KEY_HERE" | jq
The Node.js & Python snippets shape one durable row per returned list tweet instead of printing the full response page. Persist the final next_cursor row when has_next_page is true, then pass it back as cursor for the next page.

Direct list tweet handoff

Use GET /x/lists/{id}/tweets when a CRM, warehouse, newsroom, monitoring job, or agent needs tweets from a curated X List. Store list_id, tweet_id, text, author_id, author_username, author_name, author_followers, author_verified, author_profile_picture, created_at, engagement counts, & media_urls for each row. Keep has_next_page & next_cursor with the export checkpoint so the next run can resume the list timeline without duplicating earlier rows. Use sinceTime & untilTime for bounded backfills, and set includeReplies=true only when reply tweets belong in the downstream queue.

List tweet rows

Store tweets[] as timeline rows from accounts in the list. Use the row shape above for newsroom, monitoring, CRM, and warehouse 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 tweet page size. Treat the returned tweets.length as the row count returned for this page.

Time window

Use sinceTime and untilTime for bounded backfills or repeat sync jobs.

Reply filter

Leave includeReplies unset for a cleaner list timeline. Set includeReplies=true only when reply tweets belong downstream.

Saved export

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

Path parameters

id
string
required
List ID (numeric string).

Query parameters

cursor
string
Pagination cursor from a previous response. Omit for the first page.
sinceTime
string
Unix timestamp in seconds. Only return tweets after this time.
untilTime
string
Unix timestamp in seconds. Only return tweets before this time.
includeReplies
boolean
Include reply tweets. Default: false.

Which list endpoint?

List tweets

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

List members

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

List followers

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

Bulk list jobs

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

Headers

x-api-key
string
required
Your API key. Session cookie authentication is also supported.

Response

tweets
object[]
Array of tweets from the list.
has_next_page
boolean
Whether more results are available.
next_cursor
string
Cursor for the next page. Pass as the cursor query parameter.
{
  "tweets": [
    {
      "id": "1893456789012345678",
      "text": "Hello from a list!",
      "createdAt": "2026-03-27T10:00:00.000Z",
      "likeCount": 42,
      "retweetCount": 5,
      "viewCount": 1200,
      "author": {
        "id": "987654321",
        "username": "xquikcom",
        "name": "Xquik",
        "followers": 12400,
        "verified": true,
        "profilePicture": "https://pbs.twimg.com/profile_images/example.jpg"
      }
    }
  ],
  "has_next_page": true,
  "next_cursor": "DAACCgACGE..."
}
Last modified on May 25, 2026