Telegram Keyword Search, every message that mentions a word
Paste a Telegram group or channel link and a keyword. You get a direct link to every message that contains it, in a table you can download as a CSV.
- Year
- 2026
- Type
- Web app and command-line tool
- Built with
- Python, Telethon, FastAPI, Uvicorn, Docker, Render
What it does
Telegram’s own search is fine for finding one message. It is no help when you need every mention of a word across a busy group, with links you can hand to someone else. This tool returns a link like https://t.me/group/1234 for each matching message, shown in a table and saved as a CSV that opens correctly in Excel.
Two ways to use it
- Web interface. A password-protected page that runs anywhere. You add your Telegram accounts on the page and choose which one to search with. Results appear as they are found, and stopping a long search keeps everything found so far.
- Command line.
run.baton Windows or./run.shon macOS and Linux, with options for links only, CSV or JSON output.
Search modes
| Mode | What it does |
|---|---|
| Contains the keyword | Uses Telegram’s fast server-side search, then keeps only messages that really contain the keyword, ignoring case. |
| Deep scan | Reads every message. Slower on large groups, but it also finds the keyword inside longer words. |
Privacy by design
Telegram sessions are kept only in the user’s own browser. The server stores nothing on disk, so a restart or redeploy loses nothing and the operator never holds anyone’s login. Removing an account logs it out, and the session also disappears from Telegram’s list of devices.
Deployment
The app ships with a Dockerfile and a Render blueprint, so it deploys to Render’s free plan in one click with a single environment variable for the site password. Locally, one double-click starts it on localhost with no password needed. Tests run with pytest.