Discover/T API
live

T APIt.me

Access comments from public Telegram channel posts directly through the embedded discussion widget to analyze conversations and engagement. Retrieve comment data organized by post to monitor discussions and understand audience interactions on your channels.

Endpoint health
monitored
get_comments
Checks pendingself-healing
Endpoints
1
Updated
3h ago
Try it
Maximum number of comments to return.
Telegram channel username (the part after t.me/, e.g. 'ilchegg').
Numeric post ID within the channel (e.g. '10400').
api.parse.bot/scraper/198b3ea1-90b0-47b8-a7ac-7a9a302463cb/<endpoint>
Ready to send
Fill in the parameters and hit sign in to send to see live response data here.
Call it over HTTPgrab a free API key at signup
curl -X GET 'https://api.parse.bot/scraper/198b3ea1-90b0-47b8-a7ac-7a9a302463cb/get_comments?limit=20&channel=ilchegg&post_id=10400' \
  -H 'X-API-Key: $PARSE_API_KEY'
Python SDK · recommended

Typed, relational, agent-ready

A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.

  • Fully typed · autocompletes
  • Objects link to objects
  • Typed errors & pagination

Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:

uv add parse-sdk
uv run parse init
uv run parse add --marketplace t-me-api

uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.


"""Walkthrough: Telegram Comments API — fetch and inspect discussion comments on public channel posts."""
from parse_apis.t_me_api import Telegram, ParseError

client = Telegram()

# Fetch comments from a known public post, capped to 5 items.
for comment in client.discussions.get(channel="ilchegg", post_id="10400", limit=5):
    print(comment.author_name, comment.text, comment.datetime)

# Drill-down: take ONE comment and inspect its fields.
first = client.discussions.get(channel="ilchegg", post_id="10400", limit=1).first()
if first:
    print(first.comment_id, first.author_name, first.has_photo, first.has_video)

# Typed error handling: catch infrastructure-level failures.
try:
    result = client.discussions.get(channel="nonexistent_channel_xyz", post_id="1", limit=1).first()
except ParseError as exc:
    print(f"Error fetching discussion: {exc}")

print("exercised: discussions.get (list + first + error)")
All endpoints · 1 totalmissing one? ·

Retrieve comments from a public Telegram channel post. Comments are returned sorted by time (oldest first). Pagination through older comments is handled automatically until the specified limit is reached. Each comment includes the author name, profile URL, message text, timestamp, and media flags. Posts without a linked discussion group return an empty comments list.

Input
ParamTypeDescription
limitintegerMaximum number of comments to return.
channelrequiredstringTelegram channel username (the part after t.me/, e.g. 'ilchegg').
post_idrequiredstringNumeric post ID within the channel (e.g. '10400').
Response
{
  "type": "object",
  "fields": {
    "channel": "string",
    "post_id": "string",
    "comments": "array of comment objects with comment_id, author_name, author_url, text, datetime, reply_text, has_photo, has_video",
    "comments_count": "integer — total number of comments on the post"
  },
  "sample": {
    "data": {
      "channel": "ilchegg",
      "post_id": "10400",
      "comments": [
        {
          "text": "2/2",
          "datetime": "2026-06-30T14:51:44+00:00",
          "has_photo": true,
          "has_video": false,
          "author_url": "https://t.me/nyashkaliza",
          "comment_id": "483520",
          "reply_text": "2/2",
          "author_name": "лизяша"
        }
      ],
      "comments_count": 237
    },
    "status": "success"
  }
}

About the T API

The T API on Parse exposes 1 endpoint for the publicly available data on t.me. Calls return JSON over HTTPS and are billed per successful response.

Pin a release with the API-Snapshot-Version header so canonical updates don't silently change your contract.