MONITORING
Twitter Monitor Tool: Account Alerts by Webhook
A Twitter monitor tool is a service that watches X accounts or search terms and tells you when something new appears. On TwitterAPIs you list the handles to watch, and each new post from them is pushed to your webhook, Slack or Discord, usually within about 60 seconds. One account is free; plans start at $15/mo for 6 accounts. Keywords and mentions are watched by polling search at $0.0008 a call.
1 free
monitored account on every signup, no card
~60 s
shared detection interval, every plan
$0
per monitor and webhook management call
What is a Twitter monitor tool?
A Twitter monitor tool is anything that tells you when something new appears on X without you refreshing a feed: a post from a named account, a mention of your brand, a cashtag, a hashtag. Most tools that rank for the term are dashboards built for a marketing team. This one is built for the engineer who wants the post inside their own system, as an event their code handles, at a price they can compute before they start.
There are two mechanisms, and they suit different jobs. A monitor watches named accounts and pushes each new post to you. Search polling watches terms across the whole network and you pull the matches on your schedule. Both run on the same API key, and most production setups use both.
SETUP
How Twitter monitoring works
Three calls, all free. Register where events should go, tell a monitor which handle to watch, and send yourself a test delivery. From then on every post the account makes arrives as a tweet.created event. Deliveries to your own endpoint are signed with HMAC-SHA256 over the timestamp and the raw body, so your receiver can refuse anything that did not come from us.
Step 1
Register a destination
POST /twitter/webhook with an https URL. Slack and Discord webhook URLs work as they are.
Step 2
Watch a handle
POST /twitter/monitor with the handle and the webhook id. It counts against your plan's slots.
Step 3
Test, then rely on it
POST /twitter/webhook/{id}/test sends a signed sample so you can check your receiver first.
# 1. Where events go. Save "secret" now, it is shown once.
curl -X POST "https://api.twitterapis.com/twitter/webhook" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"url": "https://example.com/hooks/x-posts"}'
# 2. Watch an account and point it at that webhook.
curl -X POST "https://api.twitterapis.com/twitter/monitor" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"handle": "nasa", "webhook_ids": ["wh_9f2a1c"]}'
# 3. Send a signed test delivery before you depend on it.
curl -X POST "https://api.twitterapis.com/twitter/webhook/wh_9f2a1c/test" \
-H "Authorization: Bearer YOUR_API_KEY"import time, requests
API = "https://api.twitterapis.com/twitter/tweet/advanced_search"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}
QUERY = '"your brand" OR @yourhandle -filter:retweets'
seen = set()
MAX_PAGES = 3 # a hard stop, so one loud term cannot run up the bill
def poll_once():
params = {"query": QUERY, "product": "Latest"}
for _ in range(MAX_PAGES):
page = requests.get(API, headers=HEADERS, params=params, timeout=30).json()
fresh = [t for t in page.get("tweets", []) if t["id"] not in seen]
for tweet in fresh:
seen.add(tweet["id"])
handle(tweet) # your alert, queue or database
# stop when a page brings nothing new or there is no next page
if not fresh or not page.get("has_more"):
return
params["cursor"] = page["next_cursor"]
while True:
poll_once()
time.sleep(15 * 60) # 2,880 calls a month at one page per pollTWO MODES
Account monitors or keyword polling?
Pick by what you are watching. A fixed list of people or brands is a monitor: you pay for the list, not for the posts, and quiet accounts cost nothing extra. A term that anyone might write is a search: you pay per call, so the interval you choose sets the bill. A competitor watch usually runs a monitor on their accounts and a search on their product name.
| Mode | Watches | Delivery | Billing | Best for |
|---|---|---|---|---|
| Account monitor | Everything a named handle posts | Pushed to your webhook, Slack or Discord | Flat monthly plan by account count; 1 free | Competitors, executives, project accounts, newsrooms, trading signals |
| Keyword and mention polling | Any search: a brand, a cashtag, a hashtag, @mentions | You pull on your schedule, with a cursor | $0.0008 per search call | Brand mentions, product names, campaign tags, support terms |
USE CASES
What teams monitor on Twitter
The jobs below all share one shape: a known list of sources, or a known set of words, and a system that has to act when either one produces something new. None of them needs a dashboard in the middle, which is where an API-first monitor is cheaper and faster to wire than a listening suite.
Trading and crypto signal desks
Watch project, exchange and founder accounts, and act on a listing or an unlock announcement inside your own bot rather than a browser tab. The event lands as JSON your code already parses.
Competitor launch watch
Put a rival's company account, its founders and its product account on one monitor list. Every launch, pricing post and outage reply reaches a Slack channel the product team already reads.
Brand and support
Poll search for your product name, your handle and common misspellings, and route matches into a support queue. Pair it with a monitor on your own account to audit what was sent.
Newsrooms and research
Follow officials, agencies and beat sources. Get each post the moment it appears, with its id and timestamp, so the desk sees it before the story moves.
Community and creator bots
Repost a creator's new posts into a Discord server, or trigger a thank-you flow when a partner posts. Discord webhook URLs are recognised and formatted natively.
AI agents
Give an agent a webhook to react to, or let it call search through the MCP server. Monitoring calls cost nothing, so an agent that sets up and checks its own watches is free to run.
PRICING
Monitoring plans and cost per account
Monitoring is a flat monthly subscription by the number of accounts you watch at once, never by how many posts they make. The plan covers every delivery, whether an account posts twice a month or two thousand times. No API credits are used. The cost of one watched account falls from $2.50 on Starter to $0.40 on Scale.
| Plan | Price | Accounts watched | Per account | ~2 s delivery after detection |
|---|---|---|---|---|
| Free | $0 | 1 account | $0 | No |
| Starter | $15/mo | 6 accounts | $2.50 | No |
| Growth | $47/mo | 20 accounts | $2.35 | Yes |
| Professional | $95/mo | 50 accounts | $1.90 | Yes |
| Enterprise | $199/mo | 150 accounts | $1.33 | Yes |
| Enterprise Plus | $399/mo | 500 accounts | $0.80 | Yes |
| Scale | $799/mo | 2,000 accounts | $0.40 | Yes |
Checkout and plan changes live on the pricing page. Per-call prices for every other endpoint are on the Twitter API pricing page.
KEYWORD COST
What keyword and mention monitoring costs
Search is billed per call at $0.0008, so the cost of watching a term is the number of polls you make in a month. The table assumes one page per poll for a 30-day month. A quiet term usually fits on one page; a loud one needs more pages per poll, and each extra page is one more call. Per our billing logs, across 484,424 paying calls measured October 22 to 28, 2026 (UTC), a search call returned 11.44 posts on average, and 29.6 percent of calls returned none.
| Poll interval | Calls a month, per query | Cost per query | Cost for 10 queries |
|---|---|---|---|
| Every 5 minutes | 8,640 | $6.91 | $69.12 |
| Every 15 minutes | 2,880 | $2.30 | $23.04 |
| Every hour | 720 | $0.58 | $5.76 |
Two ways to keep the bill down: combine terms into one query with OR rather than polling each term separately, and poll slow terms less often than fast ones. The Twitter search API page lists the operators, and the mentions API page covers watching replies and tags to one account.
LIMITS
Real-time Twitter alerts: latency and limits, stated plainly
Most monitoring pages say real-time and stop there. Here is what that means on this service, so you can decide whether it fits a trading bot or only a support queue.
- +Detection: monitors poll every watched account on a shared interval of about 60 seconds, the same on every plan. A new post is usually seen within a minute. It is a published design figure, not an SLA.
- +Delivery: after detection, the webhook is typically sent within about 2 seconds on Growth and above. On one measured production event detection took about 34 seconds and delivery about 3.6 seconds.
- +No backfill: a monitor delivers posts made after it was created. Read history once through the timeline or search endpoints.
- +Public accounts only: protected accounts and private messages of other people are out of scope.
- +No sentiment or dashboards: you get the post as data. Score it, chart it or summarise it in your own stack, or with an AI model through the MCP server.
- +No uptime figure: there is a live status page, and no published historical uptime number. We would rather say that than print one we cannot back.
Live service checks are on the status page. The Twitter webhook API page documents retries, signatures and the delivery log endpoint in full.
COMPARE
Twitter monitoring tools compared by type
The best Twitter monitoring tool depends on who reads the alert. The listicles that rank for this term compare products feature by feature; the more useful split is by type, because the type decides the price unit, where alerts land and whether latency is even stated. Vendor prices are from their own pages on the date shown and change; check before you buy.
| Tool type | Where alerts land | Price unit | Latency stated | Best for |
|---|---|---|---|---|
| Listening suites (Brand24, Awario, Mention class) | Dashboard, email, Slack | Monthly plan by mention volume or seats | Not published on their monitoring pages | Marketing teams that want charts, sentiment and reports with no code |
| Developer listening (Octolens class) | Slack, email, webhook, API, MCP | Monthly plan, $159 to $499 (their site, checked 2026-08-12) | Not published on their monitoring page | Teams that want relevance filtering across many networks |
| TwitterAPIs monitors plus search | Signed webhook, Slack, Discord, or your own polling | Per account ($15/mo for 6) and $0.0008 per search call | About 60 s detection, shared on every plan | Engineers who want X events inside their own system |
| Official X API | Filtered stream on enterprise and paid tiers | Per resource read, or an enterprise contract | Push for stream customers | Organisations that need X's own contract and complete delivery |
| Open-source scraper | Whatever you build | Your servers, accounts and proxies | Whatever you can keep running | One-off experiments, not production alerting |
If your team wants charts and sentiment with no code, a listening suite is the better buy and this page will not pretend otherwise. If you would rather build the monitoring tool than rent one, the build vs buy guide works through the cost of each path, and the Twitter API alternatives page compares data sources.
ALERTS
Sending Twitter alerts to Slack, Discord, email or a queue
The shortest path is to register a Slack incoming webhook URL or a Discord webhook URL as the destination. Those URLs are recognised and each post arrives as a native message with the author, the text, a link and images, with no server of your own. Slack and Discord do not check signatures, so for anything that writes to a database or triggers an action, point the monitor at your own endpoint, verify the signature, then fan out.
import hmac, hashlib, time
from flask import Flask, request, abort
app = Flask(__name__)
SECRET = "whsec_..." # from the create-webhook response
@app.post("/hooks/x-posts")
def receive():
parts = dict(kv.split("=", 1) for kv in
request.headers.get("X-TwitterAPIs-Signature", "").split(",") if "=" in kv)
t, sig = parts.get("t", ""), parts.get("v1", "")
if not t.isdigit() or abs(time.time() - int(t)) > 300:
abort(401)
expected = hmac.new(SECRET.encode(), t.encode() + b"." + request.get_data(),
hashlib.sha256).hexdigest()
if not hmac.compare_digest(expected, sig):
abort(401)
event = request.get_json()
if event.get("event") == "tweet.created":
enqueue(event["handle"], event["tweet"]) # Slack, email, a queue, a model
return {"ok": True}The same receiver can send email through your existing provider, write to a queue for a trading strategy, or hand the post to an agent. Agents can also manage monitors themselves through the MCP server, where every monitoring tool is free to call.
Start monitoring for free
Sign up, create a key, and put your most important account on the free monitor slot. Use the $0.50 signup credit, about 625 search calls, to try keyword polling on the terms you care about and see your own match rate. When one account is not enough, Starter covers 6 for $15/mo and you can move up to 2,000 accounts without changing any code. The quickstart walks through the first call.
Twitter monitor FAQ
It depends on who reads the alerts. If a marketing team reads them in a dashboard with sentiment charts, a listening suite fits better than an API. If the alert has to reach your own code, a queue or a bot, TwitterAPIs watches accounts for $15/mo for 6 (one account free) and pushes each new post to your webhook, Slack or Discord, and keyword watching runs on search at $0.0008 a call.
Yes. Every account can monitor 1 X account at no cost, and every monitor and webhook management call is $0. Signup also includes $0.50 of credit, about 625 search calls, for keyword watching. No card and no X developer account are needed.
Yes. Register a Slack incoming webhook URL or a Discord webhook URL as the delivery target and each post arrives in that platform's own message format, with the author, the text, a link and images. Point the monitor at an endpoint you control instead when you want the signed JSON payload.
1 on the free tier, then 6, 20, 50, 150, 500, 2,000 on the six plans, up to 2,000 accounts on Scale. The ceiling applies per account, and you can move between plans from the dashboard.
Detection is bound by a shared poll interval of about 60 seconds on every plan, so a new post is usually seen within a minute. It is not an SLA. Once a post is detected, the webhook is typically sent within about 2 seconds on Growth and above. This is a fast-polling design, not a firehose, and it is not sold as sub-second push.
Yes, through search. Poll the advanced search endpoint with your terms and a since cursor at an interval you choose; each call is $0.0008. On paying traffic measured October 22 to 28, 2026 (UTC), a search call returned 11.44 posts on average and 29.6 percent of calls returned none, which is why quiet terms are cheap to watch and loud ones fill pages.
No. A monitor delivers posts made after it was created; there is no backfill. For history, call the user timeline or search endpoints once, store the result, then let the monitor carry the account forward.
No. You need a TwitterAPIs API key, issued at signup. There is no X developer application, no app review and no enterprise sales step.
Watch your first account free
One monitored account free on every signup, plans from $15/mo for 6. No X developer account required.
Next read
Continue exploring related pages:
Twitter API use cases
14 use cases from sentiment analysis to lead generation.
Twitter API answers
Short, sourced answers to the most common Twitter and X API questions.
Twitter timeline API
Pull an account's full posting history over one REST endpoint.
Twitter list API
Read list members and list timelines with the same Bearer key.