Telegram API endpoint
Returns the public profile of a Telegram group from its public t.me page: title, description, member count and, when Telegram shows it, the number of members online. username is the group's public username, with or without a leading @ or a t.me link. Only the profile is available for groups; their messages are not readable here. Channels (use telegram-channel), bots, user accounts and invite links are not supported and return an error that says which kind of name was given; a username nobody owns returns not found. online is 0 when Telegram shows no online figure. avatar_url is omitted for groups without a profile photo. Only public content is read, and Telegram's terms restrict using platform content to train AI or machine-learning systems, so results must not be used for that purpose.
/telegram/groupNotable response behavior:
400 that points to telegram-channel. Bots, user accounts and invite links also return a 400 that says which kind of name was given. A username nobody owns returns 404.members is the exact figure Telegram shows. online is 0 when Telegram shows no online figure for the group.avatar_url is omitted for a group without a profile photo, and description is omitted when the group has none.| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| username | string | Yes | Public group username, with or without @ or a t.me link | python | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/telegram/group?username=python" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"username": "ton_chat",
"title": "TON Chat | TON Whales | TON Talk | Fragment Alerts",
"description": "Chat about $TON and $TON based projects.",
"members": 291,
"online": 16,
"avatar_url": "https://cdn4.telesco.pe/file/AVATAR_ID.jpg",
"url": "https://t.me/ton_chat"
}
}Request schema
No body schema
Response schema
#/definitions/telegram.groupResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | telegram.GroupResponse | No | ||||
| data.avatar_url | string | No | ||||
| data.description | string | No | ||||
| data.members | integer | No | ||||
| data.online | integer | No | ||||
| data.title | string | No | ||||
| data.url | string | No | ||||
| data.username | string | No | ||||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 404 | Not Found | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/telegram/group?username=python" \
-H "x-api-key: $CRAWLORA_API_KEY"