X (Twitter) Mentions Monitor | $0.12/1K | Only What Is New avatar

X (Twitter) Mentions Monitor | $0.12/1K | Only What Is New

Pricing

from $0.10 / 1,000 mention returneds

Go to Apify Store
X (Twitter) Mentions Monitor | $0.12/1K | Only What Is New

X (Twitter) Mentions Monitor | $0.12/1K | Only What Is New

Watch what X (Twitter) says about your brand and get only what is new. Every mention with its author, engagement metrics and link, plus a delta mode that remembers where the last run stopped, so a scheduled watch never returns or bills the same mention twice. JSON, CSV or Excel. By FeedMiner.

Pricing

from $0.10 / 1,000 mention 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

🔁 It remembers. The actor keeps the last post it saw for each brand. Tomorrow's run returns the twelve new mentions, not the same three hundred you already read and already paid for.

💸 $0.12 per 1,000 mentions, down to $0.10 on the larger Apify plans. The most visible tweet scraper on the store bills $0.40 per 1,000 for the same rows. No start fee.

🏷️ Handles and phrases, handled differently. @airfrance is watched as a mention. Air France is matched as a phrase, so you do not get every post about air.

🔇 A noise floor. A minimum like count and a language filter cut the bot chatter before it reaches your dataset, and before it is billed.

FeedMiner · X (Twitter) suite • Posts, profiles, audiences, media, trends
X Mentions Monitor
➤ You are here
X Engagement Scraper
Quote authors and repliers · $0.15/1K accounts
X Likes and Reposts Scraper
What an account reacts to · $0.12/1K posts

Copy to your AI assistant

feedminer/x-mentions-scraper on Apify. Watches X (Twitter) for brand mentions and returns only what appeared since the previous run. One row per mention with brand, text, author, engagement counts (likes, reposts, replies, quotes, views), createdAt and url. Call ApifyClient("TOKEN").actor("feedminer/x-mentions-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Input: brands (string[] of handles or phrases), onlyNewSinceLastRun (bool, default true), language (string), minLikes (int), maxItems (int), sessions (array, optional). State is kept in a key-value store named feedminer-x-mentions-state in your Apify account, created by the first run, record MENTIONS_STATE. Full spec: GET https://api.apify.com/v2/acts/feedminer~x-mentions-scraper/builds/default (Bearer TOKEN) → inputSchema, actorDefinition.storages.dataset, readme. Token: https://console.apify.com/account/integrations

How to monitor a brand on X (Twitter)

Basic: one brand, everything new since last time

{ "brands": ["@apify"], "onlyNewSinceLastRun": true, "maxItems": 500 }

A brand name that is two words

{ "brands": ["Air France"], "language": "fr", "maxItems": 1000 }

The phrase is matched whole, so posts about air travel in general stay out.

A brand, its product and its handle in one watch

{ "brands": ["@stripe", "Stripe Billing", "stripe.com"], "maxItems": 2000 }

Each brand keeps its own memory, so adding a fourth term next month does not replay the first three.

Only mentions with traction

{ "brands": ["@apify"], "minLikes": 5, "language": "en", "maxItems": 300 }

A full sweep, ignoring the memory

{ "brands": ["@apify"], "onlyNewSinceLastRun": false, "maxItems": 2000 }

Use this the first time, to build a baseline, then leave the delta on.


Input parameters

ParameterTypeDefaultDescription
brandsarrayA name, a phrase or an X handle. Handles are watched as mentions, phrases are matched whole
onlyNewSinceLastRunbooleantrueReturn only the mentions that appeared since the previous run of this actor. Turn it off to sweep the whole window again
maxItemsinteger1000Stop once this many mentions have been collected

Filter mentions

ParameterTypeDefaultDescription
languageselectKeeps only posts X detected in this language
minLikesinteger0Ignore mentions below this many likes, to cut the noise

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

Coming from another brand monitor

username, usernames and handles are read as accounts to watch, and become mention searches. keywords, terms and searchTerms are read as phrases.

How the memory works

After each run the actor stores the newest post id it saw, per brand, in a key-value store named feedminer-x-mentions-state in your Apify account, created by the first run and reused by every later one. The next run asks X for what came after that id and drops anything older that slips through. A brand that produced nothing keeps its previous mark, so a quiet week does not replay your whole history on the following run.

Turn onlyNewSinceLastRun off whenever you want a full sweep again. The memory is not lost, it is ignored for that run.

Nothing to connect

Name the brands and press Start. The watch covers all of X, with no account to create and no cookie to copy on your side.

If you would rather the run worked from accounts you own, the optional sessions field takes them.


What data can you extract from a brand mention?

FieldTypeDescription
brandstringWhich of your watched terms this mention matched
textstringMention text
urlstringDirect link to the post
createdAtstringPublication date, RFC 3339
langstringLanguage X detected
likeCount retweetCount replyCount quoteCount bookmarkCountintegerEngagement
viewCountintegerViews
isReply isQuote isRetweetbooleanWhat kind of post this is
conversationIdstringThread this mention belongs to
authorobjectHandle, name, bio, followers, verification, join date
hashtags mentions links mediaarrayEntities in the post

Pricing: Pay Per Event (PPE)

EventPrice
Mention returned$0.00012

That is $0.12 per 1,000 mentions, with no start fee. A run that finds nothing new costs nothing, which is the normal outcome of a watch that runs every hour. 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

A daily brand watch, 100 new mentions a day, 3,000 rows in a month$0.36
A 5,000 mention backlog sweep$0.60

Free tier

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

Advanced usage

Schedule it, that is the point. Apify Schedules run it hourly or daily. With the delta on, each run returns the new mentions only, and the cost follows the noise rather than the archive.

Send it somewhere. From the Integrations tab, push each run's dataset to Slack, an email, a Google Sheet or a webhook, and you have a brand alert without writing a service.

Watch a competitor the same way. Nothing here is specific to your own brand. Two competitors and your own name in one watch gives you share of voice, run after run.

Sort by reach, not by volume. viewCount and the author's follower count are on every row, so the one post that matters this week is a sort away.

Start with a sweep. Run once with the delta off to capture the current state, then leave it on. Otherwise the first scheduled run returns a large backlog.


Integrate X brand mentions into your stack

Python

from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("feedminer/x-mentions-scraper").call(run_input={
"brands": ["@apify", "Apify"],
"onlyNewSinceLastRun": True,
"minLikes": 2,
"maxItems": 500,
})
new = client.dataset(run["defaultDatasetId"]).list_items().items
loud = [m for m in new if m["viewCount"] > 10000]
print(len(new), "new mentions,", len(loud), "with real reach")

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });
const run = await client.actor('feedminer/x-mentions-scraper').call({
brands: ['@stripe'],
onlyNewSinceLastRun: true,
maxItems: 300,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
const negative = items.filter((m) => /down|broken|outage/i.test(m.text));

No code

Connect the run to Slack, Gmail, Google Sheets, Zapier, Make or n8n from the Integrations tab, and the watch becomes an alert.


Performance

MeasureValue
ParallelismOne worker per brand, up to six
Memory between runsOne post id per brand, in the key-value store feedminer-x-mentions-state of your account
Partial resultsKept and delivered when a limit is reached

FAQ

How does it know what is new? It stores the newest post id it returned for each brand and asks X for what came after it. X ids grow with time, so the comparison is exact, not a date guess.

What if I add a brand later? It starts from scratch for that brand only. The others keep their memory.

Can I get the backlog back? Yes, run once with onlyNewSinceLastRun set to false.

Do I need an X account? No. The run brings its own. When none is free at that moment, the watch reaches the public Communities index only, and the run says so.

Does it catch mentions that do not use my handle? Yes, that is what phrases are for. Watch @yourbrand and Your Brand together.

How often should I run it? Hourly for a crisis watch, daily for a normal one. There is no minimum interval on the actor's side.

Will I be billed twice for the same mention? Not with the delta on. A mention is returned once, and the memory moves forward.

Can I filter out retweets? Every row carries isRetweet, so filtering them in your pipeline is one condition. The watch itself keeps them, because a repost is often the reach.


Support

A mention you expected and did not get, a term that matches too much, an alert you want to wire: write from the actor page.


This actor reads public posts on X. 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