Tweets
Twitter batch tweet lookup API & post details
Retrieve up to 100 tweets by ID in one request with full text, authors, media, reply and quote context, engagement metrics, and URLs. 1 credit per tweet.
- 200
- 400
- 401
- 402
- 424
- 429
- 502
- 503
GET
Twitter batch tweet lookup API & post details
Repost records include
retweetedAt, the repost event’s UTC ISO 8601 timestamp. It is null when
that timestamp is unavailable. The API omits it for original posts. The nested original post keeps
its own creation date. This field does not report every account that reposted a post. Request
per-account timestamps with Get retweeters.When to use batch lookup
Use this route to look up as many as 100 tweet IDs at once. It charges only for returned tweets. Use list-tweets when reading a list feed instead.Requested result counts are upper bounds for paid authenticated calls. When remaining credits cannot cover the full page or ID list, Xquik returns fewer results. If zero paid results are affordable, it returns
402 insufficient_credits.1 credit per tweet returned · Accepts account credits and guest
paid_readstweetRows or tweet_rows and missingIds or
missing_ids with the original ID list. Retries then request only missing tweets.
Direct batch tweet handoff
UseGET /x/tweets when a CRM, warehouse, newsroom, moderation queue, or agent
workflow already has tweet IDs. One response returns tweet text, authors, metrics,
media URLs, and missing-ID handling. Use Get Tweet
for one tweet by ID. Use Search Tweets
to find tweets by query.
Store requested_ids, tweet_id, text, author_id, author_username,
author_name, author_followers, author_verified,
author_profile_picture, created_at, conversation_id, engagement counts,
media URLs, has_next_page, and next_cursor. Join returned tweets by
tweet_id. Do not rely on response order. Send at most 100 IDs per request. Batch requests
always return has_next_page: false and next_cursor: "". Zero affordable
results return 402 insufficient_credits.
Store exact batch lookup results
Keep the original request order separately. Join returned tweets by numeric Tweet ID because unavailable or unaffordable IDs can be absent.Query parameters
string
required
1 to 100 tweets, separated by commas. Each is a tweet ID or a tweet URL, such as
x.com/nasa/status/20. A tweet named twice is read once.Headers
string
Full account API key. Session cookie and OAuth authentication are also supported.
string
Send
Bearer xq_your_guest_key_here for an active paid_reads guest key.Response
200 OK
object[]
Array of tweets matching the requested IDs.
Tweet object fields.
string
Tweet ID.
string
Tweet text.
string
Tweet type. Omitted if unavailable.
string
ISO 8601 creation timestamp.
boolean
Whether this is a Note Tweet. Omitted if unavailable.
boolean
Whether the author pinned this post to their profile. Omitted if unavailable.
number
Like count. Omitted if unavailable.
number
Retweet count. Omitted if unavailable.
number
Reply count. Omitted if unavailable.
number
Quote tweet count. Omitted if unavailable.
number
View count. Omitted if unavailable.
number
Bookmark count. Omitted if unavailable.
string
Permalink URL on X. Omitted if unavailable.
string
Tweet language code. Omitted if unavailable.
boolean
Whether the tweet is a reply. Omitted if unavailable.
string
Tweet ID being replied to. Omitted if not a reply.
string
User ID being replied to. Omitted if unavailable.
string
Username being replied to. Omitted if unavailable.
string
Conversation thread ID. Omitted if unavailable.
string
Client used to post the tweet. Omitted if unavailable.
number[]
Start and end offsets for rendered tweet text. Omitted if unavailable.
boolean
Whether replies are limited. Omitted if unavailable.
boolean
Whether this tweet quotes another tweet. Omitted if unavailable.
boolean
Whether this row is a retweet.
text carries the original post in full.object
Parsed entities. Omitted if unavailable.
object
Disclosure metadata for paid partnership and AI-generated media labels. Includes
advertising.isPaidPromotion and aiGenerated.hasAiGeneratedMedia when X returns them. Omitted if unavailable.object
Tweet author profile. Omitted if unavailable.
Author object fields.
string
Author user ID.
string
Author handle without
@.string
Author display name. Omitted if unavailable.
number
Follower count. Omitted if unavailable.
boolean
Whether the author is verified. Omitted if unavailable.
string
Author profile image URL. Omitted if unavailable.
object[]
object
Embedded quoted tweet. Omitted if not a quote tweet.
object
Original retweeted tweet. Omitted if not a retweet.
boolean
Always
false for batch requests.string
Always empty for batch requests.
400 Missing IDs
400 Too many IDs
400 Invalid tweet ID
ids names no tweet. Send each entry as a tweet ID or a tweet URL. The request costs nothing.
401 Unauthenticated
Anonymous requests getWWW-Authenticate: Bearer and a guest wallet checkout action. This is not a Payment challenge.
402 Payment required
Full account keys can receiveno_subscription, subscription_inactive, no_credits, or insufficient_credits with account payment options. Guest keys receive only the guest top-up action.
The failed request creates no checkout. Ask the user to confirm before calling any checkout or top-up route.
502 X API unavailable
429 Rate limit exceeded
Retry-After header before retrying.
424 Dependency failed
Related. Batch Users · Get Tweet