X Articles
Retrieve the full content and metadata of any public X Article in a single request. An Article is a long-form post on X with a cover image, rich text body (up to ~100,000 characters), and engagement metrics separate from its announcement tweet.Note: For a fuller guide on working with long-form X posts, see X Articles API: Retrieve Long-Form X Posts on the blog.
Quickstart
Endpoint
Request Body
| Parameter | Type | Required | Description |
|---|---|---|---|
tweet_link | string | Yes | Full URL of the announcement tweet, or just the numeric tweet ID. |
Response
Response Fields
| Field | Type | Description |
|---|---|---|
full_text | string | Complete article body. Can be tens of thousands of characters. |
preview_text | string | Truncated snippet shown in the timeline before “Read more.” |
cover_image_url | string | null | URL of the cover image. null if no cover was set. |
published_at | string (ISO 8601) | Publication timestamp (distinct from the announcement tweet’s created_at). |
views | integer | Total impressions. |
favorite_count | integer | Likes. |
bookmark_count | integer | Bookmarks. |
quote_count | integer | Quote tweets. |
reply_count | integer | Replies. |
retweet_count | integer | Retweets. |
author | object | Full author profile (same fields as the standard User object). |
Field naming. The article response usesfavorite_countandviews, notlikes_countandview_countas in the standard Tweet object. If you process both tweets and articles through the same pipeline, normalize these keys at ingestion. See Response Format for the full schema comparison.
Detecting an Article vs a Regular Tweet
Not every tweet link points to an Article. Try/article first and fall back to /tweet-info if the response lacks a substantive body:
Next Steps
- Search Tweets: find articles by keyword.
- Tweet Engagement: get comments, quotes, and retweets on an article tweet.
- Historical Data: retrieve articles published months or years ago.
- API Reference: full specification for
/articleand all Sorsa API endpoints.