X (Twitter) Likes and Reposts Scraper | $0.12/1K | Per Account avatar

X (Twitter) Likes and Reposts Scraper | $0.12/1K | Per Account

Pricing

from $0.10 / 1,000 post returneds

Go to Apify Store
X (Twitter) Likes and Reposts Scraper | $0.12/1K | Per Account

X (Twitter) Likes and Reposts Scraper | $0.12/1K | Per Account

See what an X (Twitter) account reacts to, not what it publishes. Export the posts it reposted, replied to or liked, each with the original author and full engagement metrics. The intent signal a timeline never shows, for lead scoring and account research. JSON, CSV or Excel. By FeedMiner.

Pricing

from $0.10 / 1,000 post returneds

Rating

0.0

(0)

Developer

FeedMiner

FeedMiner

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 hours ago

Last modified

Share

🧭 Reactions beat broadcasts. A prospect's own timeline is marketing. What they repost at 11pm is what they actually care about, and that is what this exports.

💸 $0.12 per 1,000 posts, down to $0.10 on the larger Apify plans. No start fee, and a run that returns nothing costs nothing.

🔗 Full posts, not just links. Every row is the reposted or answered post itself, with its text, its original author and its engagement, so the export reads without a second lookup.

🧾 Honest about the likes tab. X made likes private by default in 2024. When a likes run comes back empty, the message says the account keeps its likes private rather than blaming your credentials.

FeedMiner · X (Twitter) suite • Posts, profiles, audiences, media, trends
X Likes and Reposts Scraper
➤ You are here
X Trends Scraper
Trending topics by country · $0.16/1K trends
X Tweet Scraper
Search, threads, lists, communities · $0.12/1K tweets

Copy to your AI assistant

feedminer/x-signals-scraper on Apify. Exports what X (Twitter) accounts react to: reposts, replies, likes. One row per post with account (whose signal), signal (reposts|replies|likes), text, url, createdAt, engagement counts and the original author. Call ApifyClient("TOKEN").actor("feedminer/x-signals-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Input: handles (string[]), signals (string[] of reposts|replies|likes), maxItems (int), sessions (array, optional). Note X made third party likes private in 2024, so the likes surface can legitimately return nothing. Full spec: GET https://api.apify.com/v2/acts/feedminer~x-signals-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations

How to scrape what an X (Twitter) account reacts to

Basic: what a prospect reposts

{ "handles": ["paulg"], "signals": ["reposts"], "maxItems": 200 }

Who they talk to

{ "handles": ["paulg"], "signals": ["replies"], "maxItems": 300 }

Replies show the accounts a person actually converses with, which is a relationship map their following list only hints at.

Both signals for a shortlist of prospects

{
"handles": ["ceo1", "ceo2", "ceo3"],
"signals": ["reposts", "replies"],
"maxItems": 3000
}

Try the likes tab

{ "handles": ["someaccount"], "signals": ["likes"], "maxItems": 200 }

Some accounts still expose it. When one does not, the run says so for that account and keeps going with the rest.


Input parameters

ParameterTypeDefaultDescription
handlesarrayAccounts to read, as handles or profile URLs
signalsarray['reposts']Reposts and replies are the reliable ones. X made the likes tab private in 2024, so likes often come back empty even with an account
maxItemsinteger1000Stop once this many posts have been collected

Advanced

ParameterTypeDefaultDescription
sessionsarrayOptional. The Actor works without one. X accounts of your own, for anyone who would rather the run used accounts they control
debugModebooleanfalseVerbose logs for support

Nothing to connect

Paste handles and press Start. There is no account to create, no cookie to copy and nothing to keep alive on your side.

If you would rather the run worked from accounts you own, the optional sessions field takes them. Several can be given at once and the work spreads across them.

About the likes tab

X made the likes of an account private by default in 2024. A likes run can therefore come back empty for an account that simply keeps them private, which is not a failure and not a credential problem. The run says which account produced nothing and why. Reposts and replies are unaffected.


What data can you extract?

FieldTypeDescription
accountstringWhose signal this is, the handle you asked for
signalstringreposts, replies or likes
textstringThe post text
urlstringDirect link to the post
createdAtstringPublication date, RFC 3339
langstringLanguage X detected
likeCount retweetCount replyCount quoteCount viewCountintegerEngagement on the post
isReply isQuote isRetweetbooleanWhat kind of post this is
inReplyToUsernamestringWho is being answered, on a reply
authorobjectThe original author: handle, name, bio, followers, verification
hashtags mentions links mediaarrayEntities in the post

Pricing: Pay Per Event (PPE)

EventPrice
Post returned$0.00012

That is $0.12 per 1,000 posts, with no start fee and no charge for a run that returns nothing. The price steps down on its own for the larger Apify plans, to $0.11 and then $0.10 per 1,000.


What a run costs

One prospect's reposts, 200 posts$0.024
A hundred prospects, 20,000 posts$2.40

Free tier

The Apify free plan includes $5 of usage every month, which is roughly 41,000 posts here. No card required.

Advanced usage

Qualify a lead list. Feed a hundred prospect handles, pull their reposts, and count how many amplified a competitor. That column ranks the list better than firmographics.

Map a relationship graph. replies plus inReplyToUsername gives the accounts a person actually engages with, which is where warm introductions come from.

Track a topic through people. The posts a set of accounts repost, grouped by the original author, shows who the category listens to.

Time it. createdAt on the reacted post plus the account's own posting hours tells you when a prospect is on X, which is when your outreach lands.

Watch a shift. Run the same handles monthly and compare which authors they amplify. A change in who someone reposts is often the first sign of a change in what they buy.


Integrate X reaction data into your stack

Python

from apify_client import ApifyClient
from collections import Counter
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("feedminer/x-signals-scraper").call(run_input={
"handles": ["ceo1", "ceo2", "ceo3"],
"signals": ["reposts"],
"maxItems": 2000,
})
rows = client.dataset(run["defaultDatasetId"]).list_items().items
print(Counter(r["author"]["userName"] for r in rows).most_common(10))

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('feedminer/x-signals-scraper').call({
handles: ['paulg'],
signals: ['replies'],
maxItems: 300,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const talksTo = new Set(items.map((i) => i.inReplyToUsername).filter(Boolean));

No code

Send rows to Google Sheets, Airtable, Slack, Zapier, Make or n8n from the Integrations tab of the run.


Performance

MeasureValue
ParallelismOne worker per account supplied, up to eight
Partial resultsKept and delivered when a limit is reached

FAQ

Do I need an X account? No. Paste handles and press Start. The optional sessions field is there for anyone who would rather run on accounts they own.

Why did the likes come back empty? Because that account keeps its likes private, which X now does by default. The run tells you which account, and reposts and replies still work.

Is my account at risk? The run reads at browsing pace, one page at a time, and steps back as soon as X pushes back. Use a secondary account, as you would with any third party tool.

How far back does it go? As deep as X paginates the timeline, newest first, up to your maxItems.

Do I get the original author of a repost? Yes, author is the author of the reposted post, and account is the one who reposted it.

Can I tell a quote from a plain repost? Yes, isQuote and isRetweet are on every row.

Can I run this on hundreds of handles? Yes. Give several accounts in sessions so the work spreads, and raise maxItems to match.

What if a handle does not exist? It is reported and skipped, and everything else in the run is delivered.


Support

An account that returns nothing, a signal you need, a shape that does not fit your pipeline: write from the actor page.


This actor reads timelines that X publishes on public profiles. It does not access private accounts, protected posts or direct messages. Personal data in the output is subject to GDPR, CCPA and similar regimes: collect what you have a lawful basis to collect, keep it only as long as you need it, and honour deletion requests.


FeedMiner · Fast, honestly priced scrapers, kept alive when platforms change.

X Tweet Scraper · X Profile Scraper · X Follower Scraper · X Advanced Search Scraper · X Media Scraper · X Mentions Monitor · X Engagement Scraper · X Likes and Reposts Scraper · X Trends Scraper · All FeedMiner Actors