Returns direct replies with automatic maximum coverage and pagination. A retweet ID returns replies to the original post. Complete mode adds nested replies, diagnostics, and a 424 below 80% coverage. A fully read time window returns 200. So does a post that shows none of the replies it counts, with hiddenReplies. It reads replies without a search, so q or query answers 400 before any read or charge. To search a post's replies, call GET /x/tweets/search with q=conversation_id:{id}.
Request
- Base URL: https://xquik.com
- URL: https://xquik.com/api/v1/x/tweets/{id}/replies
- Auth: one of:
- API key in header x-api-key
- HTTP bearer
- none
Path parameters
Tweet ID or URL-encoded tweet URL, such as x.com/nasa/status/20. Takes x.com & twitter.com links with or without https://, www., mobile., a query or a fragment, & /i/status or /i/web/status links. Anything else gets 400 invalid_tweet_id.
Query parameters
Cursor from the previous response. Existing unprefixed cursors keep legacy standard behavior. Pages can be empty before more rows. Follow next_cursor. Also read as next_cursor, next_token, pagination_token or continuation_token.
Legacy cursor alias. Prefer cursor.
Override automatic coverage. Standard uses legacy pagination. Complete adds nested replies, diagnostics, scope, depth, and original-post controls.
Complete mode defaults to 25,000 combined direct & nested replies. Set another total with limit. Automatic pages accept 1-300, standard pages 1-100.
Automatic pages accept 1-300 Tweets, standard pages 1-100. Default 20. Follow next_cursor for more pages. Its aliases are limit, count, max_results, maxItems, max_items & per_page.
Select all replies, direct replies, or nested replies.
Maximum reply depth from the source post.
Sorts the selected replies before limit applies. Complete mode defaults to relevance. Automatic pages list the newest first unless you set sort. Standard pages ignore it. With likes, each page is sorted by likes. A later page can hold a reply with more likes. The order is final on the last page. Latest & oldest sort every row by date. They read the whole thread first, for up to 20 s. An answer that stopped before every reply X shows sets orderPartial.
Exclude replies written by the source-post author.
Include the source post and count it toward limit.
Complete mode only. Adds the replies the post's author hid, each with hiddenByAuthor true. They count toward limit like any reply. A paged read answers 400. Get its hidden replies from GET /x/tweets/{id}/hidden-replies.
Only return replies containing media.
Inclusive ISO bound for Tweet creation time, such as 2026-09-25T19:20:41Z. Unix seconds also work. A time without an offset is UTC.
Exclusive ISO bound for Tweet creation time. Unix seconds also work. A time without an offset is UTC.
Filter by author username.
Filter replies sent to a username.
Filter tweets mentioning a username.
Filter by language. Its alias is lang.
Start date in YYYY-MM-DD format, as a UTC day.
End date in YYYY-MM-DD format, as a UTC day, inclusive, so its own posts count.
Filter media. Its aliases are has_video & has_media.
Whole number from 0.
Minimum likes. Its aliases are minFaves, min_likes & min_faves.
Whole number from 0.
Minimum retweets threshold.
Whole number from 0.
Minimum replies threshold.
Whole number from 0.
Minimum quote count threshold.
Whole number from 0.
Minimum view count threshold.
Whole number from 0.
Minimum bookmark count threshold.
Whole number from 0.
Maximum likes threshold. maxLikes & max_likes also work.
Whole number from 0.
Maximum retweets threshold.
Whole number from 0.
Maximum replies threshold.
Whole number from 0.
Maximum quotes threshold.
Only return tweets from Blue-verified authors.
Return Tweets whose IDs exceed this ID.
Return Tweets at or below this ID.
Keeps Tweets from a recent window, such as 90m or 7d. Use a whole number & s, m, h or d.
Only return native reposts.
Only return tweets from verified authors.
Reply mode. Exclude keeps own-thread replies.
Only when the caller requests a repost mode.
Only when the caller requests a quote mode.
Match this literal phrase, including any hyphens.
Words or quoted phrases to exclude. Separate with spaces, commas, or lines.
Words or quoted phrases where any one can match. Separate with spaces, commas, or lines.
Hashtags separated by spaces, commas, or lines.
Cashtags separated by spaces, commas, or lines.
URL substring or domain filter.
Conversation ID filter.
Only replies to this tweet ID.
Only quotes of this tweet ID.
Only retweets of this tweet ID.
Fields to keep in each row, comma-separated. Use dots for nested fields, such as author.username. A list keeps the field in each item. Case & underscores do not matter. A row that lacks a field leaves it out. Cursors, counts & diagnostics always stay. An unknown name answers 400 unknown_field with the valid names, before any read. The price stays the same. SDK row types then hold only the named fields. A longer URL fails at the edge before Xquik reads it.
Fields to drop from each row, comma-separated. It takes the same names as fields. With fields, it drops from the kept fields. A longer URL fails at the edge before Xquik reads it.
Response
List of replies
Example response
{
"tweets": [
{
"id": "2102761519985332442",
"text": "This galaxy is a little extra.\n\nMeet Messier 106, a spiral galaxy with an extra set of arms. These two additional arms are made of gas heated up by jets from the galaxy’s central black hole. The jets’ superheated shockwaves are depicted in royal blue by @chandraxray. https://t.co/421Lzs0r0c",
"retweetCount": 1364,
"replyCount": 271,
"likeCount": 9775,
"quoteCount": 85,
"viewCount": 962488,
"bookmarkCount": 599,
"conversationId": "2102761519985332442",
"contentDisclosure": {
"aiGenerated": {
"hasAiGeneratedMedia": false
}
},
"displayTextRange": [
0,
267
],
"edit": {
"editableUntilMsecs": "1790175988000",
"editTweetIds": [
"2102761519985332442"
]
},
"entities": {
"hashtags": [],
"urls": [],
"user_mentions": [
{
"id_str": "12415722",
"indices": [
254,
266
],
"name": "Chandra Observatory",
"screen_name": "chandraxray"
}
]
},
"isNoteTweet": false,
"isPinned": false,
"isQuoteStatus": false,
"isReply": false,
"isRetweet": false,
"isTranslatable": false,
"lang": "en",
"possiblySensitive": false,
"source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>",
"type": "tweet",
"url": "https://x.com/NASA/status/2102761519985332442",
"viewState": "EnabledWithCount",
"createdAt": "Wed Sep 23 14:06:28 +0000 2026",
"media": [
{
"altText": "A spiral galaxy, laying diagonally at a three-quarters profile view. Its center is a luminous yellow that stretches out into a pinwheel of wispy blue and red arms. The disc itself is decorated with a smattering of stars and dark dust.",
"availabilityStatus": "Available",
"displayUrl": "pic.x.com/421Lzs0r0c",
"expandedUrl": "https://x.com/NASA/status/2102761519985332442/photo/1",
"focusRects": [
{
"h": 1146,
"w": 2047,
"x": 0,
"y": 419
},
{
"h": 1565,
"w": 1565,
"x": 0,
"y": 0
},
{
"h": 1565,
"w": 1373,
"x": 0,
"y": 0
},
{
"h": 1565,
"w": 783,
"x": 0,
"y": 0
},
{
"h": 1565,
"w": 2047,
"x": 0,
"y": 0
}
],
"height": 1565,
"id": "2102761515958833152",
"indices": [
268,
291
],
"mediaKey": "3_2102761515958833152",
"mediaUrl": "https://pbs.twimg.com/media/HS6CdTYWkAAp0e1.jpg",
"sizes": {
"large": {
"h": 1565,
"resize": "fit",
"w": 2047
},
"medium": {
"h": 917,
"resize": "fit",
"w": 1200
},
"small": {
"h": 520,
"resize": "fit",
"w": 680
},
"thumb": {
"h": 150,
"resize": "crop",
"w": 150
}
},
"type": "photo",
"url": "https://t.co/421Lzs0r0c",
"width": 2047
}
],
"author": {
"id": "11348282",
"username": "NASA",
"name": "NASA",
"followers": 92376233,
"following": 115,
"verified": true,
"isBlueVerified": true,
"isVerified": true,
"profilePicture": "https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/11348282/1788992290",
"profileBannerUrl": "https://pbs.twimg.com/profile_banners/11348282/1788992290",
"description": "Making the seemingly impossible, possible. ✨",
"location": "Pale Blue Dot",
"createdAt": "Wed Dec 19 20:20:32 +0000 2007",
"statusesCount": 74336,
"mediaCount": 28160,
"protected": false,
"url": "http://www.nasa.gov/",
"favouritesCount": 17003,
"isTranslator": false,
"possiblySensitive": false,
"verifiedType": "Government",
"profile_bio": {
"description": "Making the seemingly impossible, possible. ✨",
"entities": {
"description": {},
"url": {
"urls": [
{
"display_url": "nasa.gov",
"expanded_url": "http://www.nasa.gov/",
"indices": [
0,
23
],
"url": "https://t.co/9NkQJKAnuU"
}
]
}
}
},
"hasGraduatedAccess": true,
"parodyCommentaryFanLabel": "None",
"profileDescriptionLanguage": "en",
"profileImageShape": "Square",
"profileTranslatorType": "regular",
"superFollowEligible": false
}
},
{
"id": "2102425682286412261",
"text": "Sept. 22 marks the fall equinox. That means day and night are nearly equal in length around the world, and in the Northern Hemisphere, fall begins. In the Southern Hemisphere, spring begins on this day. https://t.co/laEQ0JajuN",
"retweetCount": 1258,
"replyCount": 200,
"likeCount": 7566,
"quoteCount": 98,
"viewCount": 961825,
"bookmarkCount": 322,
"conversationId": "2102425682286412261",
"contentDisclosure": {
"aiGenerated": {
"hasAiGeneratedMedia": false
}
},
"displayTextRange": [
0,
202
],
"edit": {
"editableUntilMsecs": "1790095918000",
"editTweetIds": [
"2102425682286412261"
]
},
"entities": {
"hashtags": [],
"urls": [],
"user_mentions": []
},
"isNoteTweet": false,
"isPinned": false,
"isQuoteStatus": false,
"isReply": false,
"isRetweet": false,
"isTranslatable": false,
"lang": "en",
"possiblySensitive": false,
"source": "<a href=\"https://www.sprinklr.com\" rel=\"nofollow\">Sprinklr</a>",
"type": "tweet",
"url": "https://x.com/NASA/status/2102425682286412261",
"viewState": "EnabledWithCount",
"createdAt": "Tue Sep 22 15:51:58 +0000 2026",
"media": [
{
"altText": "A satellite's-eye view from October 2022 of the Adirondack Mountains of northeast New York during fall. The leaves on trees are a fiery orange and red. Some trees remain green. White fluffy clouds are visible at the edges of the image.",
"availabilityStatus": "Available",
"displayUrl": "pic.x.com/laEQ0JajuN",
"expandedUrl": "https://x.com/NASA/status/2102425682286412261/photo/1",
"focusRects": [
{
"h": 1801,
"w": 3216,
"x": 0,
"y": 1187
},
{
"h": 2988,
"w": 2988,
"x": 0,
"y": 0
},
{
"h": 2988,
"w": 2621,
"x": 0,
"y": 0
},
{
"h": 2988,
"w": 1494,
"x": 0,
"y": 0
},
{
"h": 2988,
"w": 3216,
"x": 0,
"y": 0
}
],
"height": 2988,
"id": "2102425671280553984",
"indices": [
203,
226
],
"mediaKey": "3_2102425671280553984",
"mediaUrl": "https://pbs.twimg.com/media/HS1RAkdW8AAY1Mp.jpg",
"sizes": {
"large": {
"h": 1903,
"resize": "fit",
"w": 2048
},
"medium": {
"h": 1115,
"resize": "fit",
"w": 1200
},
"small": {
"h": 632,
"resize": "fit",
"w": 680
},
"thumb": {
"h": 150,
"resize": "crop",
"w": 150
}
},
"type": "photo",
"url": "https://t.co/laEQ0JajuN",
"width": 3216
}
],
"author": {
"id": "11348282",
"username": "NASA",
"name": "NASA",
"followers": 92376233,
"following": 115,
"verified": true,
"isBlueVerified": true,
"isVerified": true,
"profilePicture": "https://pbs.twimg.com/profile_images/1321163587679784960/0ZxKlEKB_normal.jpg",
"coverPicture": "https://pbs.twimg.com/profile_banners/11348282/1788992290",
"profileBannerUrl": "https://pbs.twimg.com/profile_banners/11348282/1788992290",
"description": "Making the seemingly impossible, possible. ✨",
"location": "Pale Blue Dot",
"createdAt": "Wed Dec 19 20:20:32 +0000 2007",
"statusesCount": 74336,
"mediaCount": 28160,
"protected": false,
"url": "http://www.nasa.gov/",
"favouritesCount": 17003,
"isTranslator": false,
"possiblySensitive": false,
"verifiedType": "Government",
"profile_bio": {
"description": "Making the seemingly impossible, possible. ✨",
"entities": {
"description": {},
"url": {
"urls": [
{
"display_url": "nasa.gov",
"expanded_url": "http://www.nasa.gov/",
"indices": [
0,
23
],
"url": "https://t.co/9NkQJKAnuU"
}
]
}
}
},
"hasGraduatedAccess": true,
"parodyCommentaryFanLabel": "None",
"profileDescriptionLanguage": "en",
"profileImageShape": "Square",
"profileTranslatorType": "regular",
"superFollowEligible": false
}
}
],
"has_next_page": true,
"next_cursor": "DAAHCgABHTK6Vr___-sLAAIAAAATMjEwMTc3MDE4NjE1NjA1Mjk1OQgAAwAAAAIAAA",
"filtered_count": 0
}Changes
- warning
added the new
topup_in_progressenum value to the/////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the/////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the/response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the///////response property for the response status - warning
added the new
topup_in_progressenum value to the//////response property for the response status - warning
added the new
topup_in_progressenum value to the///////response property for the response status
- warning