Skip to main content
Track Telegram groups and channels in real-time. Capture messages, token mentions, and media — then backfill historical data on demand.

What You Can Do

CapabilityEndpointDescription
Track GroupPOST /track/telegramMonitor a Telegram group or channel
Get SourceGET /track/telegramRetrieve a tracked Telegram source
Delete TrackingDELETE /track/telegramStop tracking a Telegram source
BackfillPUT /backfill/telegramTrigger historical message backfill
HistoryGET /account/historyRetrieve backfilled historical messages

Track a Telegram Group

Start receiving real-time messages from any Telegram group or channel.
curl -X POST https://scrape.st/track/telegram \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sid": "crypto_signals_group"}'
Response:
{
  "data": {
    "id": "src_456",
    "source": "TELEGRAM",
    "externalId": "crypto_signals_group",
    "name": "Crypto Signals Group"
  },
  "message": "Now tracking crypto_signals_group on telegram"
}

Token & Cashtag Monitoring

Scrapest automatically detects token mentions and cashtags in Telegram messages — $BTC, $SOL, $ETH, and any custom token symbol. This works the same way as Twitter token search, applied to your tracked Telegram sources. Messages containing token references are flagged in the webhook payload for easy filtering.

Backfill History

Retrieve historical messages from tracked Telegram groups.
In the examples below, src_456 is the external ID of the Telegram group/channel whose historical data you want to pull. This is the same externalId returned when you created the tracking via POST /track/telegram.
# Trigger backfill for a Telegram source
curl -X PUT https://scrape.st/backfill/telegram \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sid": "src_456"}'

# Check backfill status
curl -X GET "https://scrape.st/backfill/status?sid=src_456" \
  -H "x-api-key: YOUR_API_KEY"

# Retrieve historical messages
curl -X GET "https://scrape.st/account/history/telegram/src_456?page=1&limit=50" \
  -H "x-api-key: YOUR_API_KEY"

Webhook Payload

When a tracked Telegram group receives a message, your webhook receives a SourceEvent object. This is the exact shape sent via JSON.stringify to your webhook URL:
{
  "mid": "msg_12345",
  "sid": "-1001234567890",
  "source": "telegram",
  "timestamp": 1712072400000,
  "payload": {
    "id": "msg_12345",
    "channelId": "-1001234567890",
    "content": "🚀 $SOL pumping hard, check the chart!",
    "author": {
      "id": "987654321",
      "username": "trader_joe"
    }
  }
}
FieldTypeDescription
midstringMessage ID — the Telegram message ID
sidstringSource ID — the Telegram chat/channel ID
sourcestring"telegram"
timestampnumberUnix timestamp (ms) when the event was received
payloadobjectRaw Telegram message object

Delivery Methods

Telegram data is delivered through all the same channels as Twitter:
  • Webhooks — Push to your endpoint
  • WebSocket — Real-time bidirectional stream
  • SSE — Server-sent events with auto-reconnect

API Reference

All tracking endpoints use /track/:source where :source is twitter, telegram, or discord.