Skip to main content
GET
Twitter mentions timeline API & profile alerts
Retrieve tweets that mention one profile. Store tweet IDs, authors, timestamps, media, engagement counts, and pagination cursors.
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 · All plans from $0.00012/credit
This route returns tweets that mention one X account. Use it for brand mentions, support inboxes, lead routing, and agent handoffs. The route is GET /api/v1/x/users/{id}/mentions.
The Node.js and Python snippets write one JSON Lines row per mentioned tweet. Store each row with the latest next_cursor before requesting the next page.

Direct mention handoff

Use GET /x/users/{id}/mentions when a support, community, brand monitoring, lead routing, or agent workflow needs the newest tweets mentioning one account. This mentions timeline endpoint accepts a username or numeric user ID. It returns one JSON page at a time. Use mention_extractor when you need a saved extraction, estimate, or CSV, JSON, or XLSX file export. Store mentioned_user_id_or_username, tweet_id, text, tweet_url, author_id, author_username, author_name, author_followers, author_verified, author_profile_picture, created_at, conversation_id, reply context, engagement counts, media URLs, page_cursor, has_next_page, and next_cursor. Treat next_cursor as opaque and pass it back as cursor only when has_next_page is true. Use sinceTime and untilTime to bound a poller window. Zero affordable results return 402 insufficient_credits.

Build a mentions triage job

Use these checkpoints when a support inbox, lead queue, campaign report, or agent workflow needs mention pages for a fixed time window, with a cursor to resume.

Resolve the target

Use a username when the handle is stable, or store a numeric user ID for repeat jobs and warehouse joins.

Bound the window

Pass sinceTime and untilTime when a poller, support queue, or campaign report needs a closed mention window.

Route the row

Store author fields, reply context, conversation_id, engagement counts, tweet_url, and media_urls for triage or scoring.

Cursor checkpoint

Store page_cursor, next_cursor, and has_next_page before requesting another mentions page.

Which timeline endpoint?

  • Use GET /api/v1/x/users/{id}/mentions for one user’s mentions timeline.
  • Use GET /api/v1/x/users/{id}/tweets for one user’s profile timeline.
  • Use GET /api/v1/x/tweets/search for keyword, operator, or advanced search.
  • Use GET /api/v1/x/timeline for the authenticated account’s home timeline.

Path parameters

string
required
User ID, username with or without @, or URL-encoded profile URL, such as x.com/nasa. See path IDs.

Query parameters

string
Pagination cursor for the mentions timeline. Omit it for the first page, then pass the next_cursor value from the previous response to fetch the next page.
integer
Tweets per page. Range: 1-100. Defaults to 20.
string
Unix timestamp in seconds. Only return mentions after this time when a poller, support inbox, or campaign monitor needs a bounded window.
string
Unix timestamp in seconds. Only return mentions before this time. Pair with sinceTime for closed reporting windows.

Tweet result filters

These optional filters apply to tweets[] returned by this route. They keep the same mentions target. Xquik filters rows after it fetches each page. Selective filters can return fewer rows than an unfiltered page.
string
Filter to posts from this username. The @ prefix is optional.
string
Filter to replies directed to this username.
string
Filter to posts that mention this username.
string
Only include posts with this language code.
string
Include posts created on or after this date or timestamp.
string
Include posts up to this date or timestamp. A date is a UTC day, inclusive, so its own posts count.
string
Use images, videos, gifs, media, links, or none.
integer
Require this minimum like count.
integer
Require this minimum repost count.
integer
Require this minimum reply count.
integer
Require this minimum quote count.
integer
Require this minimum view count.
integer
Require this minimum bookmark count.
integer
Allow this maximum like count. Missing counts pass.
integer
Allow this maximum repost count. Missing counts pass.
integer
Allow this maximum reply count. Missing counts pass.
integer
Allow this maximum quote count. Missing counts pass.
boolean
When true, only return posts from Blue-verified authors.
boolean
When true, only return posts from verified authors.
string
Use include, exclude, or only for replies. This setting overrides includeReplies when the endpoint supports both.
string
Use include, exclude, or only for reposts.
string
Match this literal phrase, including any hyphens.
string
Exclude comma-separated or whitespace-separated terms.
string
Require at least 1 comma-separated or whitespace-separated term.
string
Match these hashtags. Separate values with commas or spaces.
string
Match these cashtags. Separate values with commas or spaces.
string
Use include, exclude, or only for quote posts.
string
URL substring or domain that must appear in tweet URL entities.
string
Filter to tweets in this conversation thread.
string
Only include replies to this tweet ID.
string
Filter to quote tweets of this tweet ID.
string
Filter to retweets of this tweet ID.
string
Return Tweets whose IDs exceed this ID.
string
Return Tweets at or below this ID.
boolean
When true, only return native reposts.
string
Match Tweets from this recent window, such as 90m or 7d. Use a whole number & s, m, h or d.

Headers

string
Full account key. Sessions and OAuth also work.
string
Bearer xq_your_guest_key_here for paid_reads.

Response

200 OK

object[]
Array of tweets mentioning the user. 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 X username.
string
Author display name.
number
Follower count. Omitted if unavailable.
boolean
Whether the author is verified. Omitted if unavailable.
string
Profile picture URL. Omitted if unavailable.
object[]
Media attachments. Omitted when the tweet has no media. Media object fields.
string
Direct media URL.
object[]
Available video renditions with bitrate, content type, and URL. Omitted for images.
string
Media type.
string
Shortened URL from the tweet text.
object
Embedded quoted tweet. Omitted if not a quote tweet.
object
Original retweeted tweet. Omitted if not a retweet.
boolean
Whether more results are available.
string
Cursor for the next page.

400 Invalid user ID

404 User not found

401 Unauthenticated

Anonymous requests get WWW-Authenticate: Bearer and a guest wallet checkout action. This is not a Payment challenge.

402 Payment required

Account keys get account options. Guest keys get guest top-up only. No checkout starts automatically. Confirm any payment action.

502 X API unavailable

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

429 Rate limit exceeded

You exceeded your tier rate limit. 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.