---
title: "Statistics"
method: GET
path: "/v1/channel/stats"
tags: ["Channels"]
---

# Statistics

`GET /v1/channel/stats`

## Request

- Base URL: `https://api.tlmtr.io`
- URL: `https://api.tlmtr.io/v1/channel/stats`
- Auth: API key in header `x-api-key`
- TypeScript: <https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/docs/v1/channel/stats/get.ts> (a function with typed inputs; its response is checked against the schema)

## Query parameters

- `internal_id` string, required

## Response `200`

Channel Statistics

- ChannelStats
  - `internal_id` string, required: Chat internal id
  - `peer` 'Group' | 'Channel', required: Chat type
  - `title` string, required: Channel name
  - `members_count` integer, required: Number of members
  - `members_change` MembersChange, required
    - `tomorrow` integer, nullable: Yesterday
    - `last_7_days` integer, nullable: Last 7 days
    - `last_30_days` integer, nullable: Last 30 days
  - `avg_post_views` AvgPostViews, required
    - `avg_post_views` integer, nullable: Average post views count Deleted messages are not counted
    - `avg_post_views_24h` integer, nullable: for 24 hours
    - `avg_post_views_48h` integer, nullable: for 48 hours
    - `avg_post_views_72h` integer, nullable: for 72 hours
  - `ads_index_grade` 'D' | 'D+' | 'C' | 'C+' | 'B' | 'B+' | 'A' | 'A+': Ads index grade
  - `engagement` Engagement
    - `reactions_avg` integer, nullable: Average reactions
    - `comments_avg` integer, required: Average comments
    - `forwards_avg` integer, required: Average forwards
  - `err_percent` number, float, nullable: ERR, views to member count ratio
  - `err24_percent` number, float, nullable: ERR24 views after 24 hours to member count ratio
  - `messages_count` MessagesCount, required
    - `tomorrow` integer, nullable: Yesterday
    - `last_7_days` integer, nullable: Last 7 days
    - `last_30_days` integer, nullable: Last 30 days
  - `mentions_count` MentionsCount, required
    - `tomorrow` integer, nullable: Yesterday
    - `last_7_days` integer, nullable: Last 7 days
    - `last_30_days` integer, nullable: Last 30 days
    - `all_time` integer, nullable: All time
  - `forwards_count` ForwardsCount, required
    - `tomorrow` integer, nullable: Yesterday
    - `last_7_days` integer, nullable: Last 7 days
    - `last_30_days` integer, nullable: Last 30 days
    - `all_time` integer, nullable: All time
  - `gender` Gender
    - `male_percent` integer, required: Percentage of males
    - `female_percent` integer, required: Percentage of females
  - `premium_percent` number, float, nullable: Percent of premium users Only for telemetr.io verified channels
  - `with_username_percent` number, float, nullable: Percent of users with username Only for telemetr.io verified channels
  - `with_photo_percent` number, float, nullable: Percent of users with photo Only for telemetr.io verified channels
  - `lifetime` Lifetime
    - `days_1` number, float, required: Less than 1 day
    - `days_7` number, float, required: Between 1 and 7 days
    - `days_30` number, float, required: Between 7 and 30 days
    - `months_3` number, float, required: Between 30 and 90 days
    - `months_6` number, float, required: Between 90 and 180 days
    - `old_timers` number, float, required: More than 180 days
  - `generated_at` string, date-time, required: Date when statistics were generated

## Other responses

- `400`: **Bad Request:** The request sent to the server is invalid. Request parameters are missing, incorrect, or in the wrong format.
- `401`: **Unauthorized:** The provided API key is invalid or absent. Provided in the request API key is not valid or is missing.
- `402`: **Payment Required:** Not enough credits to perform this request. The plan allows this call but the credit balance does not cover it. Top up credits and retry. Amounts are in milli-credits (1 credit = 1000).
- `403`: **Forbidden:** Access to this resource is not allowed. User does not have permission to access this feature.
- `404`: **Not Found:** Requested resource could not be found on the server. Specific resource with the provided ID cannot be found.
- `412`: **Inactive Subscription:** The user's subscription is not currently active. User subscription has expired or is otherwise inactive.
- `426`: **Quota Reached:** The user's subscription limit has been reached. User has exceeded their monthly limit for unique channels or total requests. For higher limits please contact us via Telegram [@telemetrio_contact](https://t.me/telemetrio_contact) or write to contact@telemetr.io.
- `429`: **Too Many Requests:** The request rate limit has been reached. Retry after the interval indicated by the response headers.
- `503`: **Service Unavailable:** Credit accounting is temporarily unreachable. The request was refused rather than served without being billed. This is transient — retry with backoff. Carries the standard message envelope, with a constant message: the underlying failure is ours and its text names internal machinery, so it is never forwarded.

## Changes

- **2026-10-09** `6c2bfd66c5f2`: 8 breaking, 2 info
  - the response's body type changed from `object` to no type for status `402`
  - the response's body type changed from `object` to no type for status `426`
  - removed the required property `available_mc` from the response with the `402` status
  - removed the required property `limit` from the response with the `426` status
  - …6 more
- **2026-09-10** `80951ad7b3fb`: 2 info
  - added the media type `application/json` for the response with the status `412`
  - added the non-success response with the status `429`

[Operation history](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/changes/v1/channel/stats/get.md)

---

[API](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api.md) - [All operations](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/tlmtr/apis/telemetr-io-public-api/revisions/98f399867856?raw)
