string
Tweets
X article API for long-form tweet & post content
Retrieve one long-form X Article by tweet ID with title, body blocks, cover image, author profile, publication time, and engagement metrics. See costs.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
GET
X article API for long-form tweet & post content
Get X Article returns one long-form X Article by wrapper tweet ID. It is also
useful as an X article API, Twitter article API, tweet article API, long-form
post API, or article body endpoint. The canonical endpoint remains
GET /api/v1/x/articles/{tweetId}.GET /api/v1/x/articles/{tweetId} when a workflow needs one long-form post
body plus article metadata. Store tweet_id,
article_title, preview_text, author_id, author_username, author_name,
author_profile_picture, created_at, cover_image_url, and body_text with
the downstream record. Store block_count, block_types, formatted_blocks,
and media_urls when your archive, article index, or agent handoff needs
block-level completeness and formatting checks.
Find candidate articles
Use this endpoint after you have the numeric wrapper tweet ID for an X Article. When a workflow starts from a mixed set of tweets, search first, store candidate tweet IDs, then try the article lookup once per candidate.Search first
Use
Search tweets to find candidate
wrapper tweets by author, keyword, URL, or visible tweet text.Article lookup
Call
GET /api/v1/x/articles/{tweetId} with the candidate tweet ID when
the workflow needs the long-form body.Fallback route
If the response is
article_not_found, store the terminal result and switch
to Get tweet or
Get tweet thread.Saved export
Use
article_extractor when the workflow needs an extraction job, estimate,
or CSV/JSON/XLSX export.Direct article handoff
UseGET /api/v1/x/articles/{tweetId} when you have the numeric tweet ID for an
X Article wrapper tweet and need the article body. Use the final status ID from
an X Article URL. A normal tweet ID can be valid and still return
404 article_not_found when it is not an X Article.
Article row
Store
article.title, previewText, coverImageUrl, createdAt, metrics,
and a derived body_text field.Body blocks
Store
article.contents[] when you need headings, lists, quotes, media,
dividers, code blocks, and inline styles.Author joins
Store
author.id, username, name, and profilePicture when returned.Media assets
Store
coverImageUrl and media-block url values for article archives and
article review.Not an article
Treat
article_not_found as a terminal lookup result for that tweet ID.
Ask for an X Article URL or use a tweet/thread endpoint.Saved exports
Use
article_extractor when you need a saved extraction job or CSV, JSON,
or XLSX export.Store an X article archive
Preserve the wrapper Tweet ID, article fields, structured content blocks, author, cover image, and collection time. Keeparticle.contents[] when the
archive must reconstruct headings, lists, quotes, media, dividers, or code.
Direct article reads cost 5 credits per successful call. For MPP callers, this
endpoint is billed as a fixed charge at USD 0.00075 per call.
Path parameters
string
required
Numeric tweet ID of the X Article, 15-20 digits. If you have a tweet URL,
use the final status ID. Regular tweet URLs can return
article_not_found.Which article endpoint?
X article body
Use
GET /x/articles/{tweetId} for the title, body blocks, cover image,
metrics, and author fields of one X Article.Single tweet
Use
Get tweet for one tweet’s text, media,
author, and engagement metrics.Tweet thread
Use
Get tweet thread for conversation
context around the article wrapper tweet.Search tweets
Use
Search tweets to discover candidate
article tweets by keyword, URL, author, or other filters.Saved exports
Use
Create extraction with
toolType=article_extractor when you need a saved job or CSV, JSON, or XLSX
export.Article-not-found handling
Do not retry the same ID after
article_not_found; switch to tweet lookup
or ask for an X Article URL.Headers
string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here authenticates paid_reads guest keys. Direct MPP uses the Payment ... credential. Get it from the WWW-Authenticate: Payment challenge.Response
200 OK
object
The article data.
Article object fields.
string
Article title.
string
Short preview/summary text of the article.
string
Cover thumbnail image URL.
Plain text joined from all article content blocks. Omitted if unavailable.
object[]
Article body as an array of content blocks.
Content block fields.
string
Block type:
paragraph, header-one, header-two, header-three, header-four, header-five, header-six, ordered-list-item, unordered-list-item, blockquote, code-block, media, or divider.string
Text content for text-based blocks.
string
Media URL for
media blocks.string
Preview image URL for
media blocks.number
Image width in pixels.
number
Image height in pixels.
string
Article creation timestamp.
number
Like count.
number
Reply count.
number
Quote tweet count.
number
View count.
object
The article author. Omitted if author data is unavailable.
Author object fields.
string
Author user ID.
string
Author X username.
string
Author display name.
string
Profile picture URL. Omitted if unavailable.
string
Author bio. Omitted if unavailable.
string
Profile location. Omitted if unavailable.
string
Profile website URL. Omitted if unavailable.
string
Account creation timestamp. Omitted if unavailable.
number
Follower count. Omitted if unavailable.
number
Following count. Omitted if unavailable.
number
Posted tweet count. Omitted if unavailable.
number
Media post count. Omitted if unavailable.
number
Liked tweet count. Omitted if unavailable.
string
Profile banner URL. Omitted if unavailable.
boolean
Whether the account has X Premium verification. Omitted if unavailable.
boolean
Normalized verification status. Omitted if unavailable.
boolean
Whether the account is an X translator. Omitted if unavailable.
boolean
Whether the account protects its posts. Omitted if unavailable.
400 Invalid tweet ID
401 Unauthenticated
x-api-key header value.
402 Payment required
Account keys get account options; guest keys get guest top-up only. Anonymous calls receive a direct MPPWWW-Authenticate: Payment challenge plus a guest wallet creation action.
No checkout starts automatically. Confirm any payment action.
404 Article not found
502 X API unavailable
429 Rate limit exceeded
Retry-After header before retrying.
424 Dependency failed
Related. Get tweet · Get tweet thread · Search tweets · Create extraction
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
X article API for long-form tweet & post content