---
title: Testing mode
slug: testing
eyebrow: Getting started
nav_group: Getting started
nav_label: Testing mode
nav_order: 50
---

# Testing mode

Validate your integration before spending credits.

Add `testing_mode=true` to any request and the API returns realistically shaped **fake data** with the same schema as the live response. Testing-mode requests are never charged.

```curl REQUEST
curl -X GET https://streamscharts.com/api/v2/channels/xqc/streams/45870685068?platform=twitch&testing_mode=true \
  -H 'Client-ID: XXXXXXXXXXXX' \
  -H 'Token: YYYYYYYYYYYYYY'
```

```json RESPONSE · fake data
{
  "data": {
    "platform": "twitch",
    "channel_name": "samplestreamer",
    "channel_display_name": "SampleStreamer",
    "channel_id": "900123456",
    "stream_id": "900000012345",
    "stream_status": "Sample Stream Title - Just Chatting & Games",
    "stream_start": "2025-01-15 18:12:07",
    "stream_end": "2025-01-15 23:47:00",
    "hours_watched": 6812,
    "airtime_in_m": 335,
    "peak_viewers": 3104,
    "average_viewers": 1220,
    "followers_gain": 187,
    "top_game_by_hw": "Just Chatting",
    "top_game_by_hw_%": 68.4
  }
}
```

The fixture ignores the channel, stream or game you asked for and always answers with the same synthetic record — `samplestreamer` for a channel or a broadcast, `samplechannel1`… for a channel list, `Sample Game Category` for a game. The names above are the marker that you are looking at a fixture and not at production data.