WEIR

Crypto Twitter Tracker: Send an X List to Telegram (2026)

Build a crypto Twitter tracker: poll a public X List with sinceId, send each new post to Telegram, and see what checking once a minute really costs.


Published · Updated · 7 min read

Cover image: Your crypto List, in Telegram

A crypto Twitter tracker watches the crypto accounts you choose and sends you each new post, for example in a Telegram chat.

This guide builds one on X (Twitter) from a public List, a short Python script and a Telegram bot. You get the code, real output and an honest price for checking once a minute. We run Weir, the API the script calls.

It tracks what accounts post, not prices, and nothing here is financial advice. This call returns only posts newer than the id you pass:

curl -s https://api.weirapp.io/v1/x/search \
  -H "Authorization: Bearer $WEIR_API_KEY" -H "Content-Type: application/json" \
  -d '{"listId": "84839422", "sinceId": "2113036054848516290", "limit": 20}'
  1. Build a public ListAdd the accounts, then copy the List id.
  2. Poll for new postsSearch with listId and sinceId.
  3. Send them to TelegramOne sendMessage call per post.
  4. Run it every minuteCron starts the script on schedule.

Step 1: Put your crypto accounts in a public X List

A List lets one search cover every account in it. Weir's search takes up to 10 usernames on its own, and a List lifts that cap.

Three rules keep the List useful:

  • Keep it public. The API reads only public Lists, and one you don't own works too.
  • Take handles from official sites. Kraken's support page lists 12 official X accounts and asks you to DM @krakensupport about any other.
  • Vet influencers first. A crypto KOL tracker (KOL means key opinion leader) works the same way, but check unfamiliar accounts with our bot signals checklist.

Then copy the List id: the digits after /i/lists/ in its URL.

Step 2: Poll the List for new posts with sinceId

sinceId returns only posts newer than the id you pass. Save the newest id after each poll and send it next time.

We tested this on 22 October 2026 with a public List of X's own official accounts. No public List of only crypto brands turned up to borrow, and the method is the same:

→ search {"listId": "84839422", "limit": 3}
← 3 posts · 4 credits · newest id 2113036054848516290
→ search {"listId": "84839422", "sinceId": "2113036054848516290", "limit": 3}
← 0 posts · 1 credit · meta.nextCursor null

That empty poll still cost a credit.

Step 3: Forward new posts to a Telegram channel

You need a bot token from @BotFather and a chat id. Our Twitter to Telegram bot guide covers both in two steps.

Save this as list_to_telegram.py, starting with your keys and one search call:

import os, pathlib, time, requests

LIST_ID = "84839422"  # your List: the digits after /i/lists/ in its URL
STATE = pathlib.Path("since_id.txt")  # the newest post already sent
WEIR = {"Authorization": f"Bearer {os.environ['WEIR_API_KEY']}"}
SEND = f"https://api.telegram.org/bot{os.environ['TELEGRAM_BOT_TOKEN']}/sendMessage"

def search(body):
    r = requests.post("https://api.weirapp.io/v1/x/search", json=body, headers=WEIR, timeout=30)
    r.raise_for_status()  # 402: out of credits, stop. 429: the next run tries again
    return r.json()

The second part saves the newest id on the first run, then pages through new posts and sends each one, oldest first:

if not STATE.exists():  # first run: save the newest id and send nothing
    STATE.write_text(search({"listId": LIST_ID, "limit": 1})["data"][0]["id"])
body, posts = {"listId": LIST_ID, "sinceId": STATE.read_text().strip(), "limit": 100}, []
for _ in range(5):  # page cap
    page = search(body)
    posts += page["data"]
    if not page["meta"]["nextCursor"]:
        break
    body["cursor"] = page["meta"]["nextCursor"]
for post in sorted(posts, key=lambda p: int(p["id"])):  # oldest first
    text = f"@{post['author']['username']}: {post['text'][:2000]}\n\n{post['url']}"
    requests.post(SEND, json={"chat_id": os.environ["TELEGRAM_CHAT_ID"], "text": text},
                  timeout=10).raise_for_status()
    STATE.write_text(post["id"])
    time.sleep(1)  # about one message a second per chat

It saves the id after each message, so a failed send neither loses nor repeats posts.

Telegram's FAQ asks bots to send at most one message a second in a chat.

Its Bot API caps a message at 4,096 characters, so the script trims long posts.

Step 4: Run the tracker once a minute with cron

Cron can't run a job more often than once a minute. flock -n skips a run while the last one is still sending:

* * * * * cd /home/you/tracker && flock -n .lock python3 list_to_telegram.py

Cron starts with few environment variables, so set your three keys in the crontab too.

What does a crypto Twitter tracker cost to run?

Every poll costs 1 credit, plus 1 per new post. A poll that finds posts also makes one empty call to reach the end, because X's last page usually still carries a cursor.

Here's the most a month can cost for a List of busy accounts:

Credits a month at most, 20 accounts, 200 posts a day
Poll the List hourly7,440
Poll every 5 minutes20,640
20 hourly monitors20,440
Poll every minute55,200

Once a minute means 43,200 polls a month, so empty polls make up most of the bill.

In dollars, after the free credits and at the $20 pack's rate, speed is what you pay for:

Route Alerts within Cost a month You need
Poll every minute A minute Up to $8.37 Cron and this script
Poll every 5 minutes 5 minutes Up to $2.61 Cron and this script
20 hourly monitors An hour $2.57 Tier 2 ($100 bought)
X Activity API Pushed $30 X API credits

Our pick for most trackers is the 5-minute poll. It costs about what hourly monitors do, and it reports far sooner.

Monitors are the no-code route, but they run hourly at most, on paid tiers. Each one watches a search, one account or one thread, never a List, so you need one per account.

X's own API bills only for posts it returns, at $0.005 each, so polling speed doesn't change its price.

Can a crypto Twitter tracker follow cashtags like $BTC?

Yes, with a search query instead of a List. We ran this on 22 October 2026:

→ search {"query": "$BTC", "minLikes": 1000, "limit": 3}
← 2 posts · 3 credits · both over 1,000 likes · a cursor for more

An earlier cashtag test of ours came back empty, so check your first page before you trust a query.

We left the posts out, since they came from personal accounts and talked prices.

A Twitter monitor for memecoins works the same way. Check every unfamiliar handle before you add it.

If the tracker doesn't work

  • Nothing reaches Telegram. Check the token, the chat id, and that your bot may post in that chat.
  • Old posts flood the chat. Keep since_id.txt between runs, because the first run only saves the newest id.
  • A 402 stops the script. You're out of credits, and only a pack or next month's free grant clears it.
  • A burst of posts goes missing. Raise the page cap, since X serves about 20 posts a page.

When not to use Weir

  • Seconds matter. X's Activity API pushes post events by webhook or stream, at $0.005 a post.
  • Sub-second filters, or posting too? TwitterAPI.io offers filter rules that check as often as every 0.05 seconds, and its API can post.
  • Want a ready-made feed? An Apify actor streams events from "market-moving accounts", priced from $5 per 1,000 events plus usage.
  • Trading on alerts is out of scope: this tracker stops at messages.

FAQ

What is a crypto Twitter tracker?

It's a tool that watches chosen crypto accounts on X and alerts you to their new posts. Some track follows or keywords instead. This one polls a public X List and sends each new post to Telegram.

Is there a crypto Twitter tracker for Telegram?

Yes. You can build a Twitter crypto tracker in under 30 lines of Python, with a public X List, Weir's search and a Telegram bot. Hosted trackers exist too, so compare what they cost and how fast they deliver.

How do I track crypto KOLs on Twitter?

Add their accounts to a public X List and poll it with sinceId. Stick to well-known public figures and official brand accounts. Check unfamiliar handles for bot signals before you trust what they post.

Can I get crypto tweets in real time?

Not by polling. Cron runs once a minute at most, and Weir's monitors run hourly at most. For push delivery, X's Activity API sends post events by webhook or stream and bills each post.

Sources

All checked on 22 October 2026: