X list tweets
Read one cursor-paginated page of recent Tweets from a public X List.
/v1/x/lists/tweetsChinese name: X List Tweets · X List 帖子 · 列表 分页读取一个公开 X List 的最新 Tweet。x.lists.tweets@v1
Price per call
¥0.01/ call
Complete and confirmed empty results are charged; partial results and failures are not.
Checking live statusTry it
This API is coming soon
We are running launch checks. Once live, you can try it right here at the price shown above; nothing is charged before then. You can already read the parameters and response example.
Available now on the same platform
- X post detail
- X thread context
- X article detail
- X community detail
- X community tweets
- X post search
- X user profile
- X user posts
- X post replies
- X post quotes
- X user search
- X user followers
- X user following
- X retweeters
- X trends
- X user replies
- X user media
- X user mentions
- X batch user detail
- X verified followers
- X bulk follower IDs
- X community members
Sign in and run one real call. The result and charge appear right here.
Security check
Loading the security check…
Checking live execution status…
Execution result
// Result
Request parameters
list_idstringrequiredpattern: "^[0-9]{1,20}$"
Example:
"84839422"since_timeintegeroptionalminimum: 0 · maximum: 9007199254740991
until_timeintegeroptionalmaximum: 9007199254740991 · exclusiveMinimum: 0
include_repliesbooleanoptionaldefault: true
Example:
truecursorstringoptionalminLength: 1
Request JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"list_id": {
"type": "string",
"pattern": "^[0-9]{1,20}$"
},
"since_time": {
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
"until_time": {
"type": "integer",
"exclusiveMinimum": 0,
"maximum": 9007199254740991
},
"include_replies": {
"default": true,
"type": "boolean"
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [
"list_id"
],
"additionalProperties": false
}Code samples
Install the SDK with npm i @dataxapi/sdk or pip install dataxapi, and put your API key in the DATAXAPI_API_KEY environment variable.
curl -X POST https://api.dataxapi.com/v1/x/lists/tweets \
-H "Authorization: Bearer $DATAXAPI_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"list_id":"84839422","include_replies":true}'import { ExactApiClient } from "@dataxapi/sdk";
const client = new ExactApiClient({
baseUrl: "https://api.dataxapi.com",
apiKey: process.env.DATAXAPI_API_KEY,
});
const result = await client.call("x_lists_tweets_v1", {
"list_id": "84839422",
"include_replies": true
});
console.log(result.data);import os
from dataxapi import ExactApiClient
client = ExactApiClient("https://api.dataxapi.com", os.environ["DATAXAPI_API_KEY"])
result = client.call("x_lists_tweets_v1", {
"list_id": "84839422",
"include_replies": True,
})
print(result["data"])[mcp_servers.dataxapi]
url = "https://api.dataxapi.com/mcp"
bearer_token_env_var = "DATAXAPI_API_KEY"Response example
{
"code": 200,
"request_id": "req_example_x_lists_tweets",
"message": "success",
"data": {
"items": [
{
"id": "2092806710381756843",
"text": "A public fixture Tweet",
"created_at": "Thu Aug 27 02:49:39 +0000 2026",
"language": "en",
"conversation_id": "2092806710381756843",
"sensitive": null,
"author": {
"id": "4398626122",
"username": "OpenAI",
"name": "OpenAI",
"verified": true,
"verified_type": null,
"followers_count": 4000000
},
"metrics": {
"replies": 1,
"reposts": 2,
"quotes": 0,
"likes": 10,
"bookmarks": 1,
"views": "100"
}
}
]
},
"page": {
"next_cursor": "opaque_cursor_example"
},
"warnings": [],
"meta": {
"listing_id": "x.lists.tweets",
"version": "v1",
"catalog_release_id": "catalog-production-2026-09-19.b069be57",
"price_book_version": "pricebook-production-2026-09-19.4487e352",
"result_status": "complete",
"charged_amount": "0.01",
"balance_after": "1.00",
"currency": "CNY"
}
}Response fields
codenumber- const: 200
request_idstringmessagestring- const: "success"
dataobjectpageobjectwarningsarraymetaobject
Response JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"code": {
"type": "number",
"const": 200
},
"request_id": {
"type": "string"
},
"message": {
"type": "string",
"const": "success"
},
"data": {
"type": "object",
"properties": {
"items": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"text": {
"type": "string"
},
"created_at": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"language": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"conversation_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"sensitive": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"author": {
"type": "object",
"properties": {
"id": {
"type": "string"
},
"username": {
"type": "string"
},
"name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"verified": {
"anyOf": [
{
"type": "boolean"
},
{
"type": "null"
}
]
},
"verified_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
},
"followers_count": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
}
},
"required": [
"id",
"username",
"name",
"verified",
"verified_type",
"followers_count"
],
"additionalProperties": false
},
"metrics": {
"type": "object",
"properties": {
"replies": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"reposts": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"quotes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"likes": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"bookmarks": {
"anyOf": [
{
"type": "integer",
"minimum": 0,
"maximum": 9007199254740991
},
{
"type": "null"
}
]
},
"views": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"replies",
"reposts",
"quotes",
"likes",
"bookmarks",
"views"
],
"additionalProperties": false
}
},
"required": [
"id",
"text",
"created_at",
"language",
"conversation_id",
"sensitive",
"author",
"metrics"
],
"additionalProperties": false
}
}
},
"required": [
"items"
],
"additionalProperties": false
},
"page": {
"type": "object",
"properties": {
"next_cursor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
]
}
},
"required": [
"next_cursor"
],
"additionalProperties": false
},
"warnings": {
"type": "array",
"items": {
"type": "string"
}
},
"meta": {
"type": "object",
"properties": {
"listing_id": {
"type": "string",
"const": "x.lists.tweets"
},
"version": {
"type": "string",
"const": "v1"
},
"catalog_release_id": {
"type": "string",
"minLength": 1
},
"price_book_version": {
"type": "string",
"minLength": 1
},
"result_status": {
"type": "string",
"enum": [
"complete",
"empty",
"partial"
]
},
"charged_amount": {
"type": "string"
},
"balance_after": {
"type": "string"
},
"currency": {
"type": "string",
"const": "CNY"
}
},
"required": [
"listing_id",
"version",
"catalog_release_id",
"price_book_version",
"result_status",
"charged_amount",
"balance_after",
"currency"
],
"additionalProperties": false
}
},
"required": [
"code",
"request_id",
"message",
"data",
"page",
"warnings",
"meta"
],
"additionalProperties": false
}Usage notes
Good for
- Use it when you have a public X List ID and need recent posts from that curated account set.
Not for
- Do not use it for private Lists, user Highlights, exhaustive archives, or representative claims.
Known limitations
- It reads Tweets from a public List; it is not a user's Highlights and cannot read private Lists.
- The observed public List page contained 20 Tweets and a cursor.
- Optional time and reply filters are bound to the cursor.
Billing
¥0.01 per call. Complete and confirmed empty results are charged; partial results and failures are not.
See all pricing →