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. 5 credits per call.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
- 503
GET
X article API for long-form tweet & post content
Get X Article returns one long-form X Article by wrapper tweet ID. The endpoint is
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, body_text, and
body_markdown with the record you pass on. 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, or 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
article_not_found is final for that tweet ID.
Ask for an X Article URL or use a tweet or 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
Keep 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, Xquik
bills this endpoint as a fixed charge at USD 0.00075 per call.
Path parameters
string
required
X Article post ID or URL-encoded post URL, such as
x.com/nasa/status/20. See path IDs.
A post without an Article returns 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
X’s ID for the article, which differs from its post’s ID.
string
Article title.
string
Short preview text of the article.
string
X’s summary of the article, when X has one.
string
Cover thumbnail image URL.
object
Public cover media metadata. X defines its fields.
object
Public article metadata. X defines its fields.
object
Public lifecycle metadata. X defines its fields.
Plain text joined from all article content blocks. Omitted if unavailable.
string
Article body as Markdown, built from the content blocks. Keeps headings, lists, bold, italic, links, images & embedded posts as their x.com URLs. Holds no HTML. 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, markdown, media, tweet, 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
ID of the post a
tweet block embeds.object[]
Links in the block’s text. Each has the
offset and length of the text it covers, and its url.string
Article creation timestamp.
number
Like count.
number
Reply count.
number
Reposts of the Article’s post. 0 or more.
number
Quote tweet count.
number
Accounts that bookmarked the Article’s post. 0 or more.
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