X post API
一次 REST 调用获取 X post 数据——按 FetchPI 全平台共享的稳定 JSON 模式标准化输出。
- 1 个已发布端点
- GET /v1/x/posts/{id}
契约摘要(英文): Get a normalized X post (capability x.post)
- 标准化响应实体
- x/post
- capability
- x.post
每个响应还携带新鲜度(cache / default / live)与计费元数据。
使用场景
- 为内容分析流水线提供结构化的 {{platform}} 帖子:正文、指标、时间戳与媒体引用。
- 支撑需要原始内容与互动数据的审核、研究与监测流程。
- 以稳定的标准化 JSON 归档 {{platform}} 内容,告别脆弱的网页抓取。
返回字段
X Post (normalized)
Normalized X post entity. Provider-private fields MUST NOT appear. Metric names are frozen (likes/reposts/replies/quotes/views); provider synonyms are mapped by the Normalizer.
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| id | string | 必填 | — |
| platform | "x" | 必填 | — |
| type | "post" | 必填 | — |
| author.id | string | 必填 | — |
| author.username | string | 必填 | — |
| author.display_name | string | null | 可选 | — |
| author.verified | boolean | 可选 | — |
| text | string | null | 可选 | — |
| lang | string | null | 可选 | BCP47 language tag, e.g. en, zh-CN. |
| created_at | string | 必填 | Post creation time, UTC RFC3339. |
| metrics.likes | integer | 必填 | — |
| metrics.reposts | integer | 必填 | — |
| metrics.replies | integer | 必填 | — |
| metrics.quotes | integer | 必填 | — |
| metrics.views | integer | 必填 | Impressions; 0 when not exposed. |
| in_reply_to.post_id | string | 必填 | — |
| in_reply_to.username | string | null | 可选 | — |
| attachments | object[] | 可选 | — |
| fetched_at | string | 必填 | — |
字段备注为契约英文原文。
响应元数据
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
| mode | cache | default | live | 必填 | Effective mode after merging param > max_age > source policy (D-004). |
| age_seconds | integer | null | 可选 | Age of served data; null when unknown. |
| source_layer | cache | db | upstream | 必填 | Which layer served the response (PRD §10). |
| stale | boolean | 可选 | True when stale data was served under stale_if_error / SWR (D-004). |
| billing.amount_credits | integer | 必填 | Micro-USD (1e-6 USD) actually charged for this request. |
| billing.cache_hit | boolean | 必填 | — |
字段备注为契约英文原文。
请求与响应示例
GET
/v1/x/posts/{id}curl -H "Authorization: Bearer $MESHDATA_API_KEY" \
"https://api.fetchpi.com/v1/x/posts/1842951234567890123"{
"data": {
"id": "1842951234567890123",
"platform": "x",
"type": "post",
"author": {
"id": "2244994945",
"username": "newdev",
"display_name": "New Dev",
"verified": false
},
"text": "One API for internet data.",
"lang": "en",
"created_at": "2026-09-17T12:34:56Z",
"metrics": {
"likes": 128,
"reposts": 12,
"replies": 4,
"quotes": 1,
"views": 5230
},
"in_reply_to": null,
"attachments": [],
"fetched_at": "2026-09-18T07:30:00Z"
},
"meta": {
"request_id": "req_01HTXQ8Z9HTQ",
"freshness": {
"mode": "default",
"age_seconds": 3600,
"source_layer": "cache",
"stale": false
},
"billing": {
"amount_credits": 100,
"cache_hit": true
}
}
}免费试用
注册免费账号、获取 API Key,即可在浏览器版 Playground 中直接调用该端点。
在 Playground 中试用该端点的参数表、错误码与响应语义见 API 文档。
查看端点参考常见问题
响应包含哪些内容字段?
响应携带标准化的内容实体(正文、作者、时间戳、互动指标与媒体引用),字段见下方字段表,并附带新鲜度与计费元数据。
可以免费试用该端点吗?
可以——注册账号、拿到 API Key 后,即可在控制台的 Playground 中调用该端点。
post 能力怎么计费?
Data API 按请求以积分计费,cache/live 新鲜度有不同倍率。当前各能力的价格以价格页为准。