Skip to main content
GET
Tweet lookup API, post details & engagement counts
1 credit per call · All plans from $0.00012/credit · Direct MPP: USD 0.00015 per call
Get tweet returns one tweet by numeric ID. It is also useful as a tweet lookup API, single tweet API, tweet info API, X tweet API, or tweet details endpoint. The canonical endpoint remains GET /api/v1/x/tweets/{id}.
See Read Data Richness for every optional tweet, author, and media field.
The examples shape durable tweet lookup rows instead of raw response dumps. Use GET /api/v1/x/tweets/{id} when a workflow needs one tweet plus author context. Store tweet_id, text, author_id, author_username, author_followers, author_verified, author_profile_picture, created_at, conversation_id, is_reply, is_quote_status, is_note_tweet, tweet_source, quote_tweet_id, metrics, and media_urls with the downstream record.

Direct tweet handoff

Pass a 15 to 20 digit numeric tweet ID in the path. If a user gives a tweet URL, extract the final status ID first. For workflows that accept pasted Tweet URLs, call Search tweets with the URL in q and omit cursor, sinceTime, and untilTime. URLs, usernames, and short IDs still return 400 invalid_tweet_id on this path endpoint. Use the response when you need normalized tweet text, optional author data, engagement counts, quote metadata, conversation context, Note Tweet text, source, and media URLs for 1 record.

Single row

Store one durable row per ID with tweet_id, text, timestamps, flags, metrics, and media URLs.

Author context

Use embedded author fields when returned instead of making a second user lookup for the same row.

Quote context

Store isQuoteStatus and quoted_tweet.id when you need quote joins or attribution.

Conversation joins

Store conversationId and isReply when the row feeds a thread, reply, or moderation workflow.

Long-form tweets

Use isNoteTweet and tweet.text for complete Note Tweet text returned by this endpoint.

Media assets

Store each media[].mediaUrl for review queues, warehouses, and downstream enrichment.

Store a tweet lookup record

Use the numeric Tweet ID as the stable key. Keep text, author, thread, quote, engagement, media, and disclosure fields as separate columns instead of flattening the response into one unsearchable value. Direct tweet reads cost 1 credit per successful call. For MPP callers, this endpoint is billed as a fixed charge at USD 0.00015 per call.

Path parameters

string
required
Numeric tweet ID, 15-20 digits. If you have a tweet URL, use the final status ID.

Which tweet endpoint?

One tweet by ID

Use GET /x/tweets/{id} for one tweet’s text, author, media, quote or reply flags, metrics, and Note Tweet text.

Many tweet IDs

Use Get tweets (batch) when you already have multiple numeric IDs.

Keyword or advanced search

Use Search tweets when you need keyword, operator, author, date, media, engagement, verification filters, or pasted Tweet URL exact lookup.

Thread context

Use Get tweet thread when the next action needs surrounding conversation rows.

Engagement lists

Use replies, quote tweets, retweeters, or favoriters pages when you need users or tweets connected to this tweet.

Saved exports

Use Create extraction with reply_extractor, quote_extractor, repost_extractor, thread_extractor, or tweet_search_extractor when you need CSV, JSON, or XLSX output.

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 tweet data. Tweet object fields.
string
Tweet ID.
string
Tweet text content. For Note Tweets (long-form posts), returns the complete text up to 25,000 characters.
string
ISO 8601 creation timestamp.
boolean
Whether this is a Note Tweet (long-form post, up to 25,000 characters). Omitted when false.
boolean
Whether this tweet is a reply to another tweet. Omitted when false.
boolean
Whether X limits who can reply. Omitted if unavailable.
boolean
Whether this tweet quotes another tweet. Omitted when false.
string
ID of the root tweet in the conversation thread.
object
Public reply policy and conversation owner. Omitted if unavailable.
object[]
Public interaction restrictions. Omitted if unavailable.
string[]
Users that left this conversation. Omitted if unavailable.
string
Tweet ID this post replies to. Omitted when not a reply.
string
User ID this post replies to. Omitted when unavailable.
string
Username this post replies to. Omitted when unavailable.
string
Client application used to post this tweet.
string
Tweet type. Omitted if unavailable.
string
Tweet permalink. Omitted if unavailable.
string
Tweet language code. Omitted if unavailable.
number[]
Start and end offsets for rendered text. Omitted if unavailable.
object
Parsed entities from the tweet text (URLs, mentions, hashtags, media).
object
Disclosure metadata for paid partnership and AI-generated media labels. Includes advertising.isPaidPromotion and aiGenerated.hasAiGeneratedMedia when X returns them. Omitted if unavailable.
string
Community ID. Omitted outside communities.
string
Quoted tweet ID. Omitted when unavailable.
object
The quoted tweet object. Present when isQuoteStatus is true.
object
The original tweet when this post is a repost. Omitted otherwise.
object
Unavailable tweet metadata. Omitted for available tweets.
number
Retweet count.
number
Reply count.
number
Like count.
number
Quote tweet count.
number
View count.
number
Bookmark count.
object[]
Attached media items. Omitted when the tweet has no attached media. Media item fields.
string
Direct media URL (pbs.twimg.com).
object[]
Available video renditions with bitrate, content type, and URL. Omitted for images.
string
Media type: photo, video, or animated_gif.
string
Shortened t.co URL from the tweet text.
object
The tweet author. Omitted if author data is unavailable. Author object fields.
string
Author user ID.
string
Author handle without @.
string
Author display name.
integer
Follower count.
boolean
Whether X marks the author as verified.
string
Author profile image URL.

400 Invalid tweet ID

The provided tweet ID is empty or not a valid format.

401 Unauthenticated

Missing or invalid API key. Check the 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 MPP WWW-Authenticate: Payment challenge plus a guest wallet creation action. No checkout starts automatically. Confirm any payment action.

404 Tweet not found

The tweet does not exist. It may have been deleted or the ID is invalid.

502 X API unavailable

The read service returned an error. Retry after a short delay.

429 Rate limit exceeded

Your tier rate limit was exceeded. Wait for the Retry-After header before retrying.

424 Dependency failed

The normalized v1 response contract can return 424 when the read service is unavailable.
Next steps. Search Tweets to find tweets by query, or Get User to look up the author profile.