X thread context
Read one cursor-paginated page of the public thread around a Tweet.
/v1/x/posts/thread-contextChinese name: X Thread 上下文 · 对话上下文 · 列表 分页读取一条公开 Tweet 所在 Thread 的上下文。x.posts.thread.context@v1
Price per call
¥0.01/ call
Complete and 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 article detail
- X list tweets
- 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
tweet_idstringrequiredpattern: "^[0-9]{1,20}$"
Example:
"1835124037934367098"cursorstringoptionalminLength: 1
Request JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"type": "object",
"properties": {
"tweet_id": {
"type": "string",
"pattern": "^[0-9]{1,20}$"
},
"cursor": {
"type": "string",
"minLength": 1
}
},
"required": [
"tweet_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/posts/thread-context \
-H "Authorization: Bearer $DATAXAPI_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{"tweet_id":"1835124037934367098"}'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_posts_thread_context_v1", {
"tweet_id": "1835124037934367098"
});
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_posts_thread_context_v1", {
"tweet_id": "1835124037934367098",
})
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_posts_thread_context",
"message": "success",
"data": {
"items": [
{
"id": "2092681530946850961",
"text": "A public fixture Tweet",
"created_at": "Wed Aug 26 12:00:00 +0000 2026",
"language": "en",
"conversation_id": "2092681530946850961",
"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.posts.thread.context",
"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.posts.thread.context"
},
"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 this for the matching public X workflow.
Not for
- Do not use it for private data, exhaustive archives, or representative audience claims.
Known limitations
- The observed first page contained 37 Tweets, but page sizes remain provider-controlled.
- A provider cursor can occasionally lead to an empty next page because of an upstream X limitation.
- This is a distinct thread-context endpoint, not a search preset.
Billing
¥0.01 per call. Complete and empty results are charged; partial results and failures are not.
See all pricing →