Get group members
GET/v1/groups/{identifier}/members1₽–15₽, then free for 1 hour
Returns up to 1,000 members per page. Some records may be absent from the
response, so pagination.page_size reports the actual number of returned
items. pagination.has_next_page indicates whether another page is available.
Authentication
Section titled “Authentication”Api-Key header required.
Parameters
Section titled “Parameters”| Name | Location | Type | Required | Description |
|---|---|---|---|---|
identifier |
path | string | yes | Positive numeric group ID or username. |
page |
query | integer | no | Page number, starting at 1. Defaults to 1. |
Examples
Section titled “Examples”curl -i -H "Api-Key: $API_KEY" \ "https://api.telesint.dev/v1/groups/example_group/members?page=1"import os, requests
response = requests.get( "https://api.telesint.dev/v1/groups/example_group/members", params={"page": 1}, headers={"Api-Key": os.environ["API_KEY"]}, timeout=30,)response.raise_for_status()
charged = int(response.headers["Telesint-Billing-Charged"])balance = int(response.headers["Telesint-Billing-Balance"])result = response.json()const response = await fetch( 'https://api.telesint.dev/v1/groups/example_group/members?page=1', { headers: { 'Api-Key': process.env.API_KEY } },);if (!response.ok) throw new Error(`HTTP ${response.status}`);
const charged = Number(response.headers.get('Telesint-Billing-Charged'));const balance = Number(response.headers.get('Telesint-Billing-Balance'));const result = await response.json();Response — 200 OK
Section titled “Response — 200 OK”{ "data": [ { "data": { "id": 12345, "name": "Ivan Ivanov", "username": "ivan" }, "update": "2026-07-20T12:34:56Z", "create": "2024-03-10T09:00:00Z", "admin": { "id": 12345, "role": "admin", "is_creator": true, "update": "2026-07-18T08:00:00Z" } } ], "pagination": { "page": 1, "page_size": 1, "has_next_page": true }}Member fields
Section titled “Member fields”| Field | Type | Notes |
|---|---|---|
data.id |
integer | Telegram user ID. |
data.name |
string | Display name. |
data.username |
string | null | Current username, if known. |
update |
string (date-time) | null | Date when the user’s group membership information was last updated. |
create |
string (date-time) | null | Date when the user was first seen in the group. |
admin |
object | null | Group admin data: id, role, is_creator, update. |
Billing
Section titled “Billing”The price of access to the export depends on its size:
| Available members | Price |
|---|---|
1–10 |
1₽ |
11–49 |
5₽ |
50+ |
15₽ |
The first successful paid request grants the same API account access to all
pages of the same group for one hour. During that hour, requests by
either group ID or username return Telesint-Billing-Charged: 0; the one-hour
window is not extended by repeats.
Successful responses include:
Telesint-Billing-Charged— amount charged for this request, in RUB;Telesint-Billing-Balance— current balance after the request;Cache-Control: private, no-store.
Errors
Section titled “Errors”400— invalid identifier or insufficient balance. Insufficient-balance responses include billing headers with a zero charge and the current balance.404— group not found, page does not exist, or the page has no returnable members.422—pageis less than1or has an invalid type.503— the service is temporarily unavailable. RespectRetry-Afterwhen it is present.