Twitter Comments Scraper - Replies and Quotes avatar

Twitter Comments Scraper - Replies and Quotes

Pricing

from $1.08 / 1,000 results

Go to Apify Store
Twitter Comments Scraper - Replies and Quotes

Twitter Comments Scraper - Replies and Quotes

Export the comments under any tweet: every reply, ordered by relevance, newest or most liked, plus the tweets that quote it if you want them. Paste tweet links or IDs. Each row has the text, author, time and counts.

Pricing

from $1.08 / 1,000 results

Rating

0.0

(0)

Developer

ToolzerHub

ToolzerHub

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

Twitter Comments Scraper — Replies and Quotes

Export the comments under any tweet — every reply X lists, ordered by relevance, newest or most liked — and, if you want them, the tweets that quote it. Paste tweet links or IDs. Each row is one reply or quote with its text, author, time and counters.

Input

FieldTypeDefaultWhat it does
postUrlslist of text—Required. Tweet links (https://x.com/elonmusk/status/2110947164512038931) or bare IDs. One list can mix both.
replySortrelevance / latest / likesrelevancerelevance is X's default order. latest is newest first. likes puts the most liked first.
includeQuotesbooleanfalseAfter a tweet's replies, also save the tweets that quote it.
maxItemsinteger100Caps the whole run, across every tweet. 0 means no limit.
{
"postUrls": ["https://x.com/elonmusk/status/2110947164512038931"],
"replySort": "likes",
"includeQuotes": true,
"maxItems": 200
}

Output

One row per reply or quote.

FieldWhat it holds
id, urlThe reply's ID and link
text, lang, created_atWhat it says, its language, when it was posted
like_count, reply_count, repost_count, quote_count, bookmark_count, view_countThe six counters
author_handle, author_name, author_id, author_followers_count, author_is_blue_verified, authorWho wrote it
in_reply_to_post_id, in_reply_to_handle, conversation_idWhat it answers
media, hashtags, mentions, urls, quoted_post, reposted_postAttachments and entities
input_post_idThe tweet from your list this row belongs to
kindreply or quote

A reply:

{
"id": "2111020503045648480",
"url": "https://x.com/BanksiaPlums/status/2111020503045648480",
"text": "@elonmusk So…just pointless space rubbish. Littering space for a narcissist’s ego.",
"lang": "en",
"source": "Twitter for iPhone",
"created_at": "2026-10-16T09:04:43.000Z",
"like_count": 0,
"reply_count": 0,
"repost_count": 0,
"quote_count": 0,
"view_count": 1,
"bookmark_count": 0,
"is_reply": true,
"in_reply_to_post_id": "2110947164512038931",
"in_reply_to_user_id": "44196397",
"in_reply_to_handle": "elonmusk",
"conversation_id": "2110947164512038931",
"is_pinned": false,
"hashtags": [],
"author_id": "1387519564729266176",
"author_handle": "BanksiaPlums",
"author_name": "Banksia Plums",
"author_followers_count": 1947,
"author_is_blue_verified": false,
"input_post_id": "2110947164512038931",
"kind": "reply"
}

A quote of the same tweet:

{
"id": "2111015199251566852",
"url": "https://x.com/Z_XSophie/status/2111015199251566852",
"text": "In 2018 he put a Roadster on a rocket. Last night Tesla put a rocket in a Roadster. 🚀",
"lang": "en",
"source": "Twitter for iPhone",
"created_at": "2026-10-16T08:43:38.000Z",
"like_count": 10,
"reply_count": 0,
"repost_count": 1,
"quote_count": 0,
"view_count": 133,
"bookmark_count": 0,
"is_reply": false,
"in_reply_to_post_id": null,
"in_reply_to_user_id": null,
"in_reply_to_handle": null,
"conversation_id": "2111015199251566852",
"is_pinned": null,
"hashtags": [],
"author_id": "1445096722515087363",
"author_handle": "Z_XSophie",
"author_name": "SophieZX",
"author_followers_count": 8111,
"author_is_blue_verified": true,
"input_post_id": "2110947164512038931",
"kind": "quote"
}

Nested fields are cut from these examples for length.

Pricing

You pay for each row saved. A row that is skipped is never charged.

PlanPer 1,000 rows
Free$2.00
Bronze$1.69
Silver$1.38
Gold and above$1.08

Each run also carries a $0.00005 start charge. The Free plan covers the first 50 rows you save with this Actor; after that you need a paid plan.

Questions

Is the original tweet in the dataset? No. Only the replies and, with includeQuotes, the quotes. If you need the tweet itself, the Twitter Scraper finds it with a from: search.

What is the difference between a reply and a quote? A reply sits under the tweet. A quote is a separate tweet on the author's own timeline that embeds the original. They are different lists on X, so they arrive as separate batches: replies first, then quotes for each tweet.

Why do I get fewer replies than the tweet's reply_count? The counter includes replies X does not list. The run saves what X lists, and ends when it stops returning pages or returns an empty one.

Which sort should I use? relevance for a quick read on sentiment, since X puts what it thinks matters first. latest for monitoring, so you can pick up where the last run ended by timestamp. likes to find the replies that landed.

Does maxItems apply to each tweet? To the whole run, tweets taken in the order listed. For an even spread, run one tweet per run or set a cap that fits the busiest one.

What if a tweet link is deleted or wrong? A malformed link is skipped before any lookup. A deleted tweet returns no rows, so nothing is charged. Both show up in the log, and the other tweets still run.

ActorUse it when
Twitter Tweets ScraperYou want the tweets themselves from an account
Twitter ScraperYou want to find tweets about a topic before reading their replies
Twitter Profile ScraperYou want the profile behind a replying account

Support

Questions, bugs, or feature requests: contact@toolzerhub.com

Browse the rest: apify.com/toolzerhub