Tweets
Tweet lookup API, post details & engagement counts
Retrieve one tweet by numeric ID with full text, author profile, media, reply and quote context, likes, reposts, views, and URLs. See response fields.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
GET
Tweet lookup API, post details & engagement counts
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}.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, callSearch 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
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 Tweet not found
502 X API unavailable
429 Rate limit exceeded
Retry-After header before retrying.
424 Dependency failed
Next steps. Search Tweets to find tweets by query, or Get User to look up the author profile.
- 200
- 400
- 401
- 402
- 404
- 424
- 429
- 502
Tweet lookup API, post details & engagement counts