X / Twitter Article API
Get a public X long-form article from its wrapper post URL, including its author, engagement, cover image, and structured content blocks.
$0.54/1k req, pay per request, no subscription.
{"type": "header-two","text": "The latency gap has not closed","entities": object[],"height": integer,"image": string,"inlineStyles": object[],"width": integer}
Pricing
X / Twitter Article API pricing
Try it
Get X / Twitter article in one request
This sample shows 38 of 42 fields. See every field
{
"found": true,
"data": {
"id": "1861234567890123456",
"title": "Why On-Chain Order Books Still Lose to CLOBs",
"previewText": "A look at the latency and MEV tradeoffs that keep most DEXs running a hybrid model in 2026.",
"coverImage": "https://pbs.twimg.com/media/GXo1AbCdEfGhIj.jpg",
"createdUtc": 1758067200,
"likes": 3420,
"replies": 212,
"quotes": 58,
"views": 184300,
"author": {
"id": "930123456789012345",
"handle": "elenacodes",
"name": "Elena Ward",
"url": "https://x.com/elenacodes",
"verified": false,
"blueVerified": true,
"avatarUrl": "https://pbs.twimg.com/profile_images/1758000000000000000/elena_avatar.jpg",
"coverUrl": "https://pbs.twimg.com/profile_banners/930123456789012345/1740000000",
"bio": "Building market infra. Previously @Jump. Writing about DeFi microstructure.",
"location": "New York, NY",
"followers": 48200,
"following": 612,
"createdUtc": 1428192000,
"posts": 1840,
"mediaCount": 96
},
"contentBlocks": [
{
"type": "header-two",
"text": "The latency gap has not closed"
},
{
"type": "unstyled",
"text": "Most on-chain order books still settle a block behind centralized limit order books, and that gap is the whole story.",
"inlineStyles": [
{
"style": "BOLD",
"offset": 0,
"length": 22
}
],
"entities": []
},
{
"type": "image",
"image": "https://pbs.twimg.com/media/GXo1LatencyChart.jpg",
"width": 1200,
"height": 675
},
{
"type": "divider"
},
{
"type": "unstyled",
"text": "MEV searchers still pick off resting limit orders within the same block window, which is why most serious venues run a hybrid matching engine off-chain and settle on-chain only for custody."
}
]
}
}Full parameter and response reference - every field, type, and example for this endpoint.
Reference
One request, one response shape.
Every field you send and every field you get back, each with a real example.
Last verified 2026-10-31 · uptime and latency measured over 30d
Request body
JSON, posted to this endpoint.
- urlstring
https://x.com/elenacodes/status/1861234567890123456
Canonical x.com or twitter.com URL of the public wrapper post for an X Article.
Response
JSON, one example value per field.
Article author profile at retrieval time. Populated whenever the provider has data for the entity.
- avatarUrlstring
https://pbs.twimg.com/profile_images/1758000000000000000/elena_avatar.jpg
Profile avatar image URL.
- biostring
Building market infra. Previously @Jump. Writing about DeFi microstructure.
Profile biography.
- blueVerifiedboolean
true
Whether the account has X blue verification.
- coverUrlstring
https://pbs.twimg.com/profile_banners/930123456789012345/1740000000
Profile cover image URL when available.
- createdUtcnumber
1428192000
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds.
- followersinteger
48200
Follower count at retrieval time.
- followinginteger
612
Following count at retrieval time.
- handlestring
elenacodes
Current X handle without @. Populated whenever the provider has data for the entity.
- idstring
930123456789012345
Stable numeric X user ID. Populated whenever the provider has data for the entity.
- locationstring
New York, NY
Self-reported profile location.
- mediaCountinteger
96
Number of media items the author has published.
- namestring
Elena Ward
Profile display name.
- postsinteger
1840
Number of posts the author has published.
- urlstring
https://x.com/elenacodes
Canonical public X profile URL. Populated whenever the provider has data for the entity.
- verifiedboolean
false
Whether the account has legacy verification.
Entity references within the block text.
- keyinteger
Upstream entity table key.
- lengthinteger
Entity character length.
- offsetinteger
Zero-based character offset.
Ordered, explicitly normalized article blocks. Unknown future block types remain representable through type and optional fields. Populated whenever the provider has data for the entity.
- heightinteger
Image height in pixels when supplied.
- imagestring
Canonical image URL for an image block.
- textstring
The latency gap has not closed
Text content for a text-bearing block.
- typestring
header-two
Block type reported by X, such as unstyled, header-two, image, divider, blockquote, or list item. Populated whenever the provider has data for the entity.
- widthinteger
Image width in pixels when supplied.
Formatting ranges within the block text.
- lengthinteger
Formatted character length.
- offsetinteger
Zero-based character offset.
- stylestring
Inline style name reported by X.
Normalized public article, or null when the wrapper post is not an article.
- coverImagestring
https://pbs.twimg.com/media/GXo1AbCdEfGhIj.jpg
Canonical article cover image URL when available.
- createdUtcnumber
1758067200
UTC epoch timestamp in seconds (Unix time). Multiply by 1000 for a JS Date in milliseconds. Populated whenever the provider has data for the entity.
- idstring
1861234567890123456
Stable X Article entity ID. Populated whenever the provider has data for the entity.
- likesinteger
3420
Wrapper post like count at retrieval time.
- previewTextstring
A look at the latency and MEV tradeoffs that keep most DEXs running a hybrid model in 2026.
Preview text supplied by X.
- quotesinteger
58
Wrapper post quote count at retrieval time.
- repliesinteger
212
Wrapper post reply count at retrieval time.
- titlestring
Why On-Chain Order Books Still Lose to CLOBs
Article title. Populated whenever the provider has data for the entity.
- viewsinteger
184300
Wrapper post view count at retrieval time.
- foundboolean
true
True when the wrapper post contains a public X Article.
- reason"not_found"
Present only when `found` is false, and says why there is no result. `not_found`: the source states the target does not exist, or returned nothing for it. A `found: false` answer is a successful call, not an error, and `costUsd` is what it actually cost.
FAQ
About the X / Twitter Article API
The AnyAPI X / Twitter Article API returns X / Twitter article data as normalized JSON from one POST call to /v1/run/twitter.article. Get a public X long-form article from its wrapper post URL, including its author, engagement, cover image, and structured content blocks. AnyAPI returns one normalized schema whichever source serves it. It costs from $0.54 per 1,000 requests, in US dollars with no subscription and no monthly minimum. Over the last 30 days, 99.8% of X / Twitter article calls through AnyAPI succeeded, with a median response time of 1.4 seconds across 4,486 measured calls.