X API endpoint
Returns a public X post by numeric post id, including author, text, visible metrics, and a quoted post preview when present.
/x/post/{id}MCP tool: x_post
Path parameters:
id: required. X post id.Query parameters:
username: optional. Expected author username. When provided, mismatched authors return 404.Notable response behavior:
username does not match the post author.| Field | In the sample | Value in the sample |
|---|---|---|
| id | Has a value | |
| url | Has a value | x.com |
| text | Has a value | 461 characters |
| created_at | Has a value | 2026-06-28 |
| author.id | Has a value | |
| author.username | Has a value | |
| author.name | Has a value | |
| author.url | Has a value | x.com |
| author.avatar_url | Has a value | pbs.twimg.com |
| author.is_blue_verified | Has a value | true |
| metrics.replies | Has a value | 12 |
| metrics.reposts | Has a value | 4 |
| metrics.likes | Has a value | 62 |
| metrics.bookmarks | Has a value | 4 |
| metrics.views | Has a value | 18,275 |
| quoted.id | Has a value | |
| quoted.url | Has a value | x.com |
| quoted.text | Has a value | 461 characters |
| quoted.created_at | Has a value | 2026-06-28 |
| quoted.author | Has a value |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| id (path) | string | Yes | X post id | 2071148560779976947 | |
| username | string | No | Expected author username. When provided, mismatched authors return 404. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/x/post/2071148560779976947" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"id": "2071148560779976947",
"url": "https://x.com/Ansel_Flipradio/status/2071148560779976947",
"text": "Example public post text",
"author": {
"id": "1634026666518519808",
"username": "Ansel_Flipradio",
"name": "Fear_Nation_世界苦茶",
"url": "https://x.com/Ansel_Flipradio"
},
"metrics": {
"replies": 12,
"reposts": 5,
"likes": 62,
"bookmarks": 4,
"views": 15115
}
}
}Request schema
No body schema
Response schema
#/definitions/x.postResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | x.Post | No | ||||
| data.author | x.User | No | ||||
| data.author.avatar_url | string | No | ||||
| data.author.banner_url | string | No | ||||
| data.author.id | string | No | ||||
| data.author.is_blue_verified | boolean | No | ||||
| data.author.is_protected | boolean | No | ||||
| data.author.name | string | No | ||||
| data.author.url | string | No | ||||
| data.author.username | string | No | ||||
| data.created_at | string | No | ||||
| data.id | string | No | ||||
| data.metrics | x.Metrics | No | ||||
| data.metrics.bookmarks | integer | No | ||||
| data.metrics.likes | integer | No | ||||
| data.metrics.replies | integer | No | ||||
| data.metrics.reposts | integer | No | ||||
| data.metrics.views | integer | No | ||||
| data.quoted | x.PostQuote | No | ||||
| data.quoted.author | x.User | No | ||||
| data.quoted.author.avatar_url | string | No | ||||
| data.quoted.author.banner_url | string | No | ||||
| data.quoted.author.id | string | No | ||||
| data.quoted.author.is_blue_verified | boolean | No | ||||
| data.quoted.author.is_protected | boolean | No | ||||
| data.quoted.author.name | string | No | ||||
| data.quoted.author.url | string | No | ||||
| data.quoted.author.username | string | No | ||||
| data.quoted.created_at | string | No | ||||
| data.quoted.id | string | No | ||||
| data.quoted.text | string | No | ||||
| data.quoted.url | string | No | ||||
| data.text | string | No | ||||
| data.url | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Missing or invalid parameters | #/definitions/app.Response |
| 404 | Post not found | #/definitions/app.Response |
| 503 | Upstream error or parser drift | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/x/post/2071148560779976947" \
-H "x-api-key: $CRAWLORA_API_KEY"