X Tweet Engagement Scraper - Replies, Quotes & Retweeters
Pricing
from $3.20 / 1,000 x engagement items
X Tweet Engagement Scraper - Replies, Quotes & Retweeters
Collect replies, quote tweets and retweeters of up to 50 X (Twitter) posts in one run. Every row is tagged with engagementType and its parent tweet, and carries author followers, bio, verification and tweet metrics. Rank by relevance, recency or likes. No login or cookies.
Pricing
from $3.20 / 1,000 x engagement items
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
1
Bookmarked
36
Total users
5
Monthly active users
17 days ago
Last modified
Categories
Share
What is X Tweet Engagement Scraper?
X Tweet Engagement Scraper collects the public replies, quote tweets and retweeters of X (Twitter) posts in one run, with no login or cookies. Give it up to 50 tweet URLs or IDs and get one flat dataset where every row is tagged with engagementType (reply, quote or retweet) and its parent tweet, plus the engaging account's followers, bio and verification, and tweet metrics for replies and quotes.
Use it when you want the whole response to a post in one table: the conversation (replies), the commentary (quotes) and the amplification (retweeters).
| What you get | Fields |
|---|---|
| Row type and context | engagementType, parentTweetId, parentTweetUrl, position, rankingMode, page, scrapedAt |
| Reply or quote tweet | tweetId, tweetUrl, text, createdAt, language, conversationId, quotedTweetId, source |
| Engaging account | authorUsername, authorName, authorId, authorUrl, authorVerified, authorFollowers, authorFollowing, authorBio, authorProfileImageUrl |
| Metrics (replies and quotes) | likeCount, replyCount, retweetCount, quoteCount, viewCount, bookmarkCount |
| Content | hashtags, mentions, urls, mediaUrls |
Retweeter rows carry the account fields only, because a retweet has no text of its own.
Best fit
- Launch post-mortems: see who replied, who quoted and who reposted an announcement.
- Giveaway and campaign audits: export everyone who engaged with a post.
- Influencer discovery: sort all engagers by
authorFollowers, or keep only large accounts withminAuthorFollowers. - Sentiment work: read reply and quote text side by side.
Which X (Twitter) Actor should I use?
This Actor is part of a family of public X (Twitter) Actors that share the same no-login approach and similar row fields. Pick the one that matches your job:
- Use X (Twitter) Replies Scraper instead when you only need replies to specific posts, with like/language filters and a resume cursor.
- Use X (Twitter) Quote Tweets Scraper instead when you need the quote tweets of a post, with the original post on every row.
- This Actor is the right pick when you want replies, quote tweets and retweeters of the same posts together in one run.
- Use X (Twitter) Retweeters Scraper instead when you only need the accounts that retweeted a post.
- Use X (Twitter) Profile Scraper instead when you need bio, follower counts and verification for a list of accounts.
- Use X (Twitter) Following Scraper instead when you need the accounts a user follows.
- Use Twitter/X Scraper — Profiles & Followers instead when you need the followers of an account.
Practical scenario
A social media manager reviews a launch post the morning after. She runs the post URL with all three engagement types, rankingMode: "Likes" and minAuthorFollowers: 1000. The dataset groups cleanly by engagementType: the top replies to answer, the quote tweets that framed the launch, and the larger accounts that reposted it. She exports the sheet and flags accounts for follow-up.
Input
| Field | Type | Default | Description |
|---|---|---|---|
tweetUrls | array | required | Tweet URLs or numeric IDs, up to 50. |
engagementTypes | array | all three | Any of reply, quote, retweet. |
rankingMode | string | Relevance | Order for replies and quotes: Relevance, Recency or Likes. |
maxItems | integer | 100 | Total rows saved and charged across all tweets and types (1–5000). |
minLikes | integer | 0 | Keep only replies and quotes with at least this many likes. Retweeter rows are not affected. |
minAuthorFollowers | integer | 0 | Keep only rows from accounts with at least this many followers. |
maxPagesPerType | integer | 3 | How deep to page each engagement type (1–50). |
dedupeItems | boolean | true | Skip duplicate rows across pages and tweets. |
{"tweetUrls": ["https://x.com/OpenAI/status/2065225362544726371"],"engagementTypes": ["reply", "quote", "retweet"],"rankingMode": "Likes","maxItems": 300,"minAuthorFollowers": 1000}
Output
One dataset row per engagement item. Sample reply row (account anonymised; other values from a real export):
{"engagementType": "reply","parentTweetId": "2065225362544726371","parentTweetUrl": "https://x.com/OpenAI/status/2065225362544726371","position": 2,"tweetId": "2087037525978132826","tweetUrl": "https://x.com/example_user/status/2087037525978132826","text": "@OpenAI Clearly forgot this","createdAt": "2026-08-11T04:44:56.000Z","language": "en","conversationId": "2065225362544726371","authorUsername": "example_user","authorName": "Example User","authorUrl": "https://x.com/example_user","authorVerified": false,"authorFollowers": 480,"authorFollowing": 1921,"replyCount": 0,"retweetCount": 0,"quoteCount": 0,"likeCount": 2,"viewCount": 40,"bookmarkCount": 0,"mentions": ["openai"],"source": "Twitter for iPhone","rankingMode": "Relevance","page": 1,"scrapedAt": "2026-10-12T06:52:15.818Z"}
Each run also writes OUTPUT and RUN_SUMMARY to the default key-value store with an outcome (COMPLETE, PARTIAL, VALID_EMPTY, INVALID_INPUT or UPSTREAM_FAILED), countsByType, rows skipped by filters and nextCursors.
Pricing
Pay per event, with Apify platform usage included. You pay the engagement-item event once for each row saved to the dataset (reply, quote or retweeter), plus the small apify-actor-start event. Rows skipped by minLikes, minAuthorFollowers or dedupe are not charged, and maxItems is a hard cap on engagement events. See the Pricing tab for current event prices.
Use with AI agents (MCP)
Actor identity: khadinakbar/x-tweet-engagement-scraper.
Get replies, quote tweets and retweeters of https://x.com/OpenAI/status/2065225362544726371 from accounts with large followings, then list the most influential reactions.
{ "tweetUrls": ["https://x.com/OpenAI/status/2065225362544726371"], "minAuthorFollowers": 5000, "maxItems": 200 }
Group rows by engagementType. Read OUTPUT.outcome and OUTPUT.countsByType first; VALID_EMPTY means the post had no matching public engagement.
API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/x-tweet-engagement-scraper').call({tweetUrls: ['https://x.com/OpenAI/status/2065225362544726371'],engagementTypes: ['quote', 'retweet'],maxItems: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems({ clean: true });console.log(items.map((r) => [r.engagementType, r.authorUsername, r.authorFollowers]));
Best results
- Pick only the
engagementTypesyou need somaxItemsis spent on useful rows. - Use
rankingMode: "Likes"to surface the strongest replies and quotes first. - Add
minAuthorFollowersfor influencer-focused exports; skipped rows are free. - For very deep single-type exports (thousands of replies), the dedicated replies or quotes Actors above add a resume cursor.
Builder's note
I built this because most engagement reviews need all three views of the same post, and stitching three exports together by hand is slow. I designed one flat schema with an engagementType column so the rows sort, filter and pivot cleanly in a spreadsheet.
Continue the workflow
- Then use X (Twitter) Profile Scraper to enrich the most active engagers with full profile details.
- Before a campaign review, search for related posts with X (Twitter) Tweet Scraper.
FAQ
Do I need an X account or cookies?
No. The Actor reads public engagement data only.
Why do retweeter rows have no text?
A retweet repeats the original post, so the row describes the account that retweeted it.
Can I collect engagement for several posts at once?
Yes, up to 50 tweet URLs or IDs per run. parentTweetId tells you which post each row belongs to.
How are replies and quotes ordered?
By rankingMode: Relevance (X's default), Recency or Likes. Retweeters keep X's own order.
Responsible use
This Actor collects publicly available X (Twitter) engagement data. Use it in line with X's terms, privacy law and your own data policies, especially when handling personal profile data. This Actor is not affiliated with or endorsed by X Corp.