# Single channel stats

The first call for the channel's metrics costs 1 or 2 credits, depending on the set of metrics (see the difference below).

Next calls cost 0.1 and 0.2 credits for less than 14 days period (i.e., if the data period you request is less than 14 days, for example, from April 1 to April 10), 0.3 and 0.6 credits for the over 14 days period accordingly (i.e., if the data period you request is more than 14 days, for example, from April 1 to April 25).&#x20;

On day 31, since your first request, it will cost another credit or two again for the first API call for a specific channel.

#### Available data sets of metrics

<table data-header-hidden><thead><tr><th width="211"></th><th width="136"></th><th width="179"></th><th></th></tr></thead><tbody><tr><td><strong>Set of metrics</strong></td><td><strong>1st request, credits</strong></td><td><strong>each next request, ≤ 14 days time period, credits</strong></td><td><strong>each next request, > 14 days time period, credits</strong></td></tr><tr><td><a href="#standard-set-of-metrics">Standard (available for 10+ platforms)</a></td><td>1</td><td>0.1</td><td>0.3</td></tr><tr><td><a href="#extra-set-of-metrics">Extra (Twitch only)</a></td><td>2</td><td>0.2</td><td>0.6</td></tr><tr><td><a href="#paid-subscribers-set-of-metrics">Paid subscribers (Twitch only)</a></td><td>1</td><td>0.1</td><td>0.3</td></tr><tr><td><a href="#chat-analytics-set-of-metrics">Chat analytics (available for Twitch, Kick and YouTube Gaming)</a></td><td>1</td><td>0.1</td><td>0.3</td></tr><tr><td><a href="#audience-geography-set-of-metrics">Audience geography (Twitch only)</a> </td><td>1</td><td>0.1</td><td>0.3</td></tr><tr><td><a href="#audience-demographics-set-of-metrics">Audience demographics (Twitch only)</a> <mark style="color:green;">[NEW]</mark></td><td>1</td><td>0.1</td><td>0.3</td></tr></tbody></table>

### Standard set of metrics <a href="#standard-set-of-metrics" id="standard-set-of-metrics"></a>

#### Available platforms

One request will provide you with data for one specific channel only. Since the channel can broadcast on different platforms with the same name, use the filter by platform: <mark style="color:yellow;">`platform={name}`</mark>. Supported values:

```
twitch; youtube; kick; rumble; trovo; nimo; bigo; nonolive; afreecatv; mildom; chzzk; soop; steam
```

#### Supported time periods

Use the filter <mark style="color:yellow;">`time={value}`</mark> to select a different time period. If you do not specify a time period, you will get data for the last 30 days by default. Supported values:

```
today; 7-days; 30-days; 90-days; this-month; last-month; this-year; last-year; YYYY-MM-DD,YYYY-MM-DD
```

If needed,  you can select a specific time period of channel stats down to the hours and minutes. To do this, add a time range in the filter <mark style="color:yellow;">`time={value}`</mark> in the next format: `YYYY-MM-DD HH:MM,YYYY-MM-DD HH:MM`

<pre><code><strong>Request example
</strong><strong>
</strong><strong>curl -X GET https://streamscharts.com/api/jazz/channels/cohhcarnage?platform=twitch&#x26;time=2025-01-01 13:00,2025-01-05 22:10 \
</strong>-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
</code></pre>

**Note:** With the exact time, you can select only within the 7-day range.

#### How to access the standard set of metrics for single channel stats

You will need a Client ID and a token to use Streams Charts API. Your Client ID is bound to your account and can never be changed, but you can change your access token anytime for security reasons.

Use the example request below to see how it works with a standard set of metrics for a single channel stats.

```
curl -X GET https://streamscharts.com/api/jazz/channels/shroud?platform=twitch \
-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
```

{% hint style="info" %}
For YouTube channels, use channel ID in the request to get a correct response. I.e., `https://streamscharts.com/api/jazz/channels/`<mark style="color:yellow;">`UC1dGHGJTXU_dkiR8tW3qQgg`</mark>`?platform=youtube`
{% endhint %}

*Use your Client ID and token instead of "XXXXXXXXXXXX" and "YYYYYYYYYYYYYY", which you can find* [*here*](https://streamscharts.com/api/token)*.*

The response you would get would be a JSON response that contains something like a sample response:

```json
{
"data":{
"platform": "twitch",
"channel_name": "shroud",
"channel_display_name": "shroud",
"channel_id": "37402112",
"hours_watched": 2554370,
"peak_viewers": 33925,
"average_viewers": 16262,
"airtime_in_m": 9425,
"followers_gain": 9574,
"followers_gain_per_h": 61,
"total_followers": 10602496,
"stream_count": 18,
"streams_list":[
{
"id": "48882015229",
"name": "life of a gamer !mggiveaway",
"date": "2023-07-16 20:45:00"
},
{
"id": "48855028893",
"name": "FIREBALL --> shroud.gg <-> shroud shroud shroud shroud shroud shroud shroud",
"date": "2023-07-13 20:45:00"
},
…
],
"games_count": 3,
"top_5_games_by_hw":[
{
"name": "Diablo IV",
"hours_watched": 2488439,
"%_of_hours_watched": 97.4
},
{
"name": "BattleBit Remastered",
"hours_watched": 65246,
"%_of_hours_watched": 2.6
},
{
"name": "Just Chatting",
"hours_watched": 685,
"%_of_hours_watched": 0
}
],
"stream_days": 25,
"avatar_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/7ed5e0c6-0191-4eef-8328-4af6e4ea5318-profile_image-300x300.png",
"channel_country": "CA",
"stream_language": "en",
"partnership_status": "partner",
"channel_type": "Male"
}
}
```

#### Excluding

NimoTV, Bigo LIVE, AfreecaTV, CHZZK, SOOP, SteamTV:

```
followers_gain; followers_gain_per_h; total_followers; partnership_status
```

YouTube, Trovo, Nonolive, Mildom:

```
partnership_status
```

Rumble:

```
followers_gain; followers_gain_per_h; total_followers; games_count; top_5_games_by_hw
```

### Extra set of metrics

By extra metrics, we mean that in return for the standard set of metrics, you will also get the following ones:

{% code title="Example of response" %}

```json
...
"extra_metrics":{
"live_views": 17636629,
"unique_viewers": 3210179,
"unique_auth_viewers": 2696550,
"auth_viewers_average_view_duration_in_m": 76,
"authorized_to_all_viewers_ratio_%": 84,
"avg_daily_estimated_audience": 234358,
"avg_daily_estimated_audience_average_view_duration_in_m": 47
}
...
```

{% endcode %}

#### Available platforms

One request will provide you with data for one specific channel only. Since an extra set of metrics is available only for Twitch channels, use the filter <mark style="color:yellow;">`platform=twitch`</mark> to get it.

#### Supported time periods

Use the filter <mark style="color:yellow;">`time={value}`</mark> to select a different time period. If you do not specify a time period, you will get data for the last 30 days by default. Supported values:

```
today; 7-days; 30-days; 90-days; this-month; last-month; this-year; last-year; YYYY-MM-DD,YYYY-MM-DD
```

If needed,  you can select a specific time period of channel stats down to the hours and minutes. To do this, add a time range in the filter <mark style="color:yellow;">`time={value}`</mark> in the next format: `YYYY-MM-DD HH:MM,YYYY-MM-DD HH:MM`

<pre><code><strong>Request example
</strong><strong>
</strong><strong>curl -X GET https://streamscharts.com/api/jazz/channels-extra/cohhcarnage?platform=twitch&#x26;time=2025-01-01 13:00,2025-01-05 22:10 \
</strong>-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
</code></pre>

**Note:** With the exact time, you can select only within the 7-day range.

#### How to access the extra set of metrics for single channel stats

You will need a Client ID and a token to use Streams Charts API. Your Client ID is bound to your account and can never be changed, but you can change your access token anytime for security reasons.

To get an extra set of metrics by one channel, use the following route: <mark style="color:yellow;">`/api/jazz/channels-extra/{name}?platform=twitch`</mark>

To see how it works with an extra set of metrics for a single channel stats, use the example request below.

```
curl -X GET https://streamscharts.com/api/jazz/channels-extra/shroud?platform=twitch \
-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
```

*Use your Client ID and token instead of "XXXXXXXXXXXX" and "YYYYYYYYYYYYYY", which you can find* [*here*](https://streamscharts.com/api/token)*.*

The response you would get would be a JSON response that contains something like a sample response:

{% code fullWidth="false" %}

```json
{
"data":{
"platform": "twitch",
"channel_name": "shroud",
"channel_display_name": "shroud",
"channel_id": "37402112",
"hours_watched": 4397224,
"peak_viewers": 158564,
"average_viewers": 22503,
"airtime_in_m": 11725,
"followers_gain": 58596,
"followers_gain_per_h": 299.9,
"total_followers": 10503756,
"stream_count": 21,
"streams_list":[{"id": "42019886731", "name": "s3 cycle --> !announcement", "date": "2023-03-29 18:30:00"…],
"games_count": 12,
"top_5_games_by_hw":[{"name": "Counter-Strike: Global Offensive", "hours_watched": 1218921, "%_of_hours_watched": 27.7 },…],
"stream_days": 24,
"avatar_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/7ed5e0c6-0191-4eef-8328-4af6e4ea5318-profile_image-300x300.png",
"channel_country": "CA",
"stream_language": "en",
"partnership_status": "partner",
"channel_type": "Male",
"extra_metrics":{
"live_views": 17636629,
"unique_viewers": 3210179,
"unique_auth_viewers": 2696550,
"auth_viewers_average_view_duration_in_m": 76,
"authorized_to_all_viewers_ratio_%": 84,
"avg_daily_estimated_audience": 234358,
"avg_daily_estimated_audience_average_view_duration_in_m": 47
}
}
}
```

{% endcode %}

{% hint style="info" %}
From April 3, 2023, such metrics as Authorized Viewers and Unique Viewers are available only for channels authorized on Streams Charts via Twitch. Historical data is still available for all Twitch channels.
{% endhint %}

### Paid subscribers set of metrics

#### Available platforms

One request will provide you with data for one specific channel only. Since a paid subscribers set of metrics is available only for Twitch channels, use the filter <mark style="color:yellow;">`platform=twitch`</mark> to get it.

#### Supported time periods

Use the filter time={value} to select a different time period. If you do not specify a time period, you will get data for the last 30 days by default. Supported values:

```
today; 7-days; 30-days; 90-days; this-month; last-month; this-year; last-year; YYYY-MM-DD,YYYY-MM-DD
```

If needed,  you can select a specific time period of channel stats down to the hours and minutes. To do this, add a time range in the filter <mark style="color:yellow;">`time={value}`</mark> in the next format: `YYYY-MM-DD HH:MM,YYYY-MM-DD HH:MM`

<pre><code><strong>Request example
</strong><strong>
</strong><strong>curl -X GET https://streamscharts.com/api/jazz/channels-extra/cohhcarnage/subs?platform=twitch&#x26;time=2025-01-01 13:00,2025-01-05 22:10 \
</strong>-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
</code></pre>

**Note:** With the exact time, you can select only within the 7-day range.

#### How to access the paid subscribers' set of metrics for single channel stats

You will need a Client ID and a token to use Streams Charts API. Your Client ID is bound to your account and can never be changed, but you can change your access token anytime for security reasons.

To get paid subscribers set of metrics by one channel, use the following route: <mark style="color:yellow;">`/api/jazz/channels-extra/{name}/subs?platform=twitch`</mark>

To see how it works with paid subscribers' set of metrics for single channel stats, use the example request below.

```
curl -X GET https://streamscharts.com/api/jazz/channels-extra/shroud/subs?platform=twitch \
-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
```

*Use your Client ID and token instead of "XXXXXXXXXXXX" and "YYYYYYYYYYYYYY", which you can find* [*here*](https://streamscharts.com/api/token)*.*

The response you would get would be a JSON response that contains something like a sample response:

```json
{
"data":{
"platform": "twitch",
"channel_name": "shroud",
"channel_display_name": "shroud",
"channel_id": "37402112",
"avatar_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/7ed5e0c6-0191-4eef-8328-4af6e4ea5318-profile_image-300x300.png",
"stream_language": "en",
"partnership_status": "partner",
"total_subs": 3429,
"min_income_from_subs_in_$": 5083,
"max_income_from_subs_in_$": 8889,
"paid_subs": 2180,
"gifted_subs": 1249,
"prime_subs": 1388,
"tier_1_subs": 2018,
"tier_2_subs": 1,
"tier_3_subs": 22
}
}
```

{% hint style="info" %}
The Twitch streamers themselves do not verify Streams Charts calculations. We use our own methodology, and the numbers may not coincide with the original values.&#x20;

Our calculations usually do not consider subscriptions when the channel is offline, and we do not track auto-renewed subscriptions unless the viewer clicks the appropriate button in chat to notify the streamer about his auto-renewal.
{% endhint %}

### Chat analytics set of metrics

#### Available platforms

One request will provide you with data for one specific channel only. Since the channel can broadcast on different platforms with the same name, use the filter by platform: <mark style="color:yellow;">`platform={name}`</mark>. Supported values:

```
twitch; youtube; kick
```

{% hint style="info" %}
Twitch chat data available for 200,000+ channels since January 2022. For Kick it available for 70,000+ channels since July 2025, and for YouTube only for top Gaming channels since July 2025.
{% endhint %}

#### Supported time periods

Use the filter <mark style="color:yellow;">`time={value}`</mark> to select a different time period. If you do not specify a time period, you will get data for the last 30 days by default. Supported values:

```
today; 7-days; 30-days; 90-days; this-month; last-month; this-year; last-year; YYYY-MM-DD,YYYY-MM-DD
```

#### How to access the chat analytics set of metrics for single channel stats

You will need a Client ID and a token to use Streams Charts API. Your Client ID is bound to your account and can never be changed, but you can change your access token anytime for security reasons.

To get chat analytics set of metrics by one channel, use the next route: <mark style="color:yellow;">`/api/jazz/channels-extra/{name}/chat?platform=twitch`</mark>

To see how it works with a chat analytics set of metrics for a single channel stats, use the example request below.

```
curl -X GET https://streamscharts.com/api/jazz/channels-extra/shroud/chat?platform=twitch \
-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
```

{% hint style="info" %}
For YouTube channels, use **channel ID** in the request to get a correct response. I.e., `https://streamscharts.com/api/jazz/channels-extra/`<mark style="color:yellow;">`UCWsDFcIhY2DBi3GB5uykGXA`</mark>`/chat?platform=youtube`
{% endhint %}

*Use your Client ID and token instead of "XXXXXXXXXXXX" and "YYYYYYYYYYYYYY", which you can find* [*here*](https://streamscharts.com/api/token)*.*

The response you would get for **Twitch chat data** would be a JSON response that contains something like a sample response:

```json
{
"data":{
"platform": "twitch",
"channel_name": "shroud",
"channel_display_name": "shroud",
"channel_id": "37402112",
"avatar_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/7ed5e0c6-0191-4eef-8328-4af6e4ea5318-profile_image-300x300.png",
"stream_language": "en",
"partnership_status": "partner",
"total_messages": 258088,
"total_words_count": 1213817,
"active_chatters": 47609,
"avg_daily_passive_chatters": 134091,
"avg_daily_engagement_rate_%": 2.5,
"messages_per_chatter": 5.4,
"chatters_with_1_message": 23780,
"chatters_with_2+_message": 23829,
"cheer_messages": 9,
"cheer_chatters": 9,
"total_bits": 12000,
"income_from_bits_in_$": 120,
"bits_per_cheered_message": 1333,
"bits_per_cheered_chatter": 1333
}
}
```

The response you would get for **YouTube or Kick chat data** would be a JSON response that contains something like a sample response:

```json
{
"data":{
"platform": "kick",
"channel_name": "xqc",
"channel_display_name": "xqc",
"channel_id": "668",
"avatar_url": "https://files.kick.com/images/user/676/profile_image/conversion/931b4e8f-5445-427c-bd82-b473530390cc-thumb.webp",
"stream_language": "en",
"partnership_status": "partner",
"total_messages": 890938,
"total_words_count": 2550177,
"active_chatters": 32501,
"messages_per_chatter": 27.4,
"chatters_with_1_message": 9416,
"chatters_with_2+_message": 23085,
"active_chatters_to_viewers_ratio_%": 2.2
}
}
```

### Audience geography set of metrics

#### Available platforms

One request will provide you with data for one specific channel only. Since a location set of metrics is available only for Twitch channels, use the filter <mark style="color:yellow;">`platform=twitch`</mark> to get it.

#### Supported time periods

Selecting a specific time is not available for geography. Channel data is current as of today and aggregated over the last 30 streams.

#### How to access the audience geography set of metrics for single channel stats

You will need a Client ID and a token to use Streams Charts API. Your Client ID is bound to your account and can never be changed, but you can change your access token anytime for security reasons.

To get chat analytics set of metrics by one channel, use the next route: <mark style="color:yellow;">`/api/jazz/channels-extra/{name}/geo?platform=twitch`</mark>

To see how it works with a location set of metrics for a single channel stats, use the example request below.

```
curl -X GET https://streamscharts.com/api/jazz/channels-extra/xqc/geo?platform=twitch \
-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
```

*Use your Client ID and token instead of "XXXXXXXXXXXX" and "YYYYYYYYYYYYYY", which you can find* [*here*](https://streamscharts.com/api/token)*.*

The response you would get would be a JSON response that contains something like a sample response:

```json
{
    "data": {
        "platform": "twitch",
        "channel_name": "xqc",
        "channel_display_name": "xQc",
        "channel_id": "71092938",
        "avatar_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/xqc-profile_image-9298dca608632101-300x300.jpeg",
        "stream_language": "en",
        "partnership_status": "partner",
        "viewers_by_country": [
            {
                "country_name": "USA",
                "country_iso": "US",
                "%_of_viewers": 35.9,
                "daily_avg_view_duration_m": 18
            },
            {
                "country_name": "Canada",
                "country_iso": "CA",
                "%_of_viewers": 8.3,
                "daily_avg_view_duration_m": 18
            },
            {
                "country_name": "United Kingdom",
                "country_iso": "GB",
                "%_of_viewers": 5,
                "daily_avg_view_duration_m": 18
            },
            ...
            ]
            }
}
```

### Audience demographics set of metrics

#### Available platforms

One request will provide you with data for one specific channel only. Since demographics set of metrics is available only for Twitch channels, use the filter <mark style="color:yellow;">`platform=twitch`</mark> to get it.

#### Supported time periods

Selecting a specific time is not available for demographics. Channel data is current as of today and aggregated over the last 30 streams.

#### How to access the audience demographics set of metrics for single channel stats

You will need a Client ID and a token to use Streams Charts API. Your Client ID is bound to your account and can never be changed, but you can change your access token anytime for security reasons.

To get chat analytics set of metrics by one channel, use the next route: <mark style="color:yellow;">`/api/jazz/channels-extra/{name}/demo?platform=twitch`</mark>

To see how it works with a location set of metrics for a single channel stats, use the example request below.

```
curl -X GET https://streamscharts.com/api/jazz/channels-extra/shroud/demo?platform=twitch \
-H 'Client-ID: XXXXXXXXXXXX' \
-H 'Token: YYYYYYYYYYYYYY'
```

*Use your Client ID and token instead of "XXXXXXXXXXXX" and "YYYYYYYYYYYYYY", which you can find* [*here*](https://streamscharts.com/api/token)*.*

The response you would get would be a JSON response that contains something like a sample response:

```json
{
"data":{
"platform": "twitch",
"channel_name": "shroud",
"channel_display_name": "shroud",
"channel_id": "37402112",
"avatar_url": "https://static-cdn.jtvnw.net/jtv_user_pictures/7ed5e0c6-0191-4eef-8328-4af6e4ea5318-profile_image-300x300.png",
"stream_language": "en",
"partnership_status": "partner",
"audience_annual_income_range":[
{"10k_20k": 25, "20k_30k": 18, "50k_75k": 12, "30k_40k": 10, "40k_50k": 8,…}
],
"audience_interests":[
{"video_games": 95, "streaming_influencers": 80, "esports": 70, "computers_electronics": 65, "music_art": 50,…}
],
"audience_family_status":[
{"single": 55, "married": 30, "parents": 15}
],
"audience_occupations":[
{"white_collar": 25, "students": 20, "stem_it": 18, "freelancers": 7, "service_retail": 6,…}
],
"audience_age_ranges":[
{"20_to_24": 30, "25_to_29": 28, "30_to_34": 18, "17_to_19": 12, "35_to_39": 6,…}
],
"audience_gender":[
{"male": 90, "female": 8, "non_binary": 2}
],
"audience_languages":[
{"English": 90, "French": 3, "Other": 3, "German": 2, "Spanish": 2…}
]
}
}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://streams-charts.gitbook.io/streams-charts-live-streaming-api-docs/single-channel-stats.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
