# Gate.io

Gate.io historical data for **high caps currency pairs** is available since **2020-07-01**, data for all currency pairs is available since **2022-06-09.**

{% embed url="<https://api.tardis.dev/v1/exchanges/gate-io>" %}
See Gate.io historical data coverage: available symbols, channels, date ranges and incidents
{% endembed %}

### Downloadable **CSV** files

Historical CSV datasets for the first day of each month are **available to download without API key**. See [downloadable CSV files documentation](https://docs.tardis.dev/downloadable-csv-files/overview).

| data type             | symbol    | date       |                                                                                                          |
| --------------------- | --------- | ---------- | -------------------------------------------------------------------------------------------------------- |
| incremental\_book\_L2 | BTC\_USDT | 2020-07-01 | [Download sample](https://datasets.tardis.dev/v1/gate-io/incremental_book_L2/2020/07/01/BTC_USDT.csv.gz) |
| trades                | BTC\_USDT | 2020-07-01 | [Download sample](https://datasets.tardis.dev/v1/gate-io/trades/2020/07/01/BTC_USDT.csv.gz)              |
| quotes                | BTC\_USDT | 2020-07-01 | [Download sample](https://datasets.tardis.dev/v1/gate-io/quotes/2020/07/01/BTC_USDT.csv.gz)              |

### API Access and data format

Historical data format is the same as provided by real-time Gate.io **WebSocket v4 API** (v3 API for data before 2023-04-29) with addition of local timestamps. If you'd like to work with **normalized data format** instead (same format for each exchange) see [downloadable CSV files](https://docs.tardis.dev/downloadable-csv-files/overview) or official [client libs](https://docs.tardis.dev/api/quickstart) that can perform data normalization client-side.

{% tabs %}
{% tab title="Python" %}

```python
# pip install tardis-dev
import asyncio
from tardis_dev import Channel, replay

async def main():
    async for local_timestamp, message in replay(
        exchange="gate-io",
        from_date="2025-09-01",
        to_date="2025-09-02",
        filters=[Channel(name="obu", symbols=["BTC_USDT"])],
        api_key="YOUR_API_KEY",
    ):
        # messages as provided by Gate.io real-time stream
        print(message)

asyncio.run(main())
```

See [Python client docs](https://docs.tardis.dev/python-client/quickstart).
{% endtab %}

{% tab title="Node.js" %}

```javascript
// npm install tardis-dev
import { replay } from 'tardis-dev';

const messages = replay({
  exchange: 'gate-io',
  from: '2025-09-01',
  to: '2025-09-02',
  filters: [{ channel: 'obu', symbols: ['BTC_USDT'] }],
  apiKey: 'YOUR_API_KEY'
});

// messages as provided by Gate.io real-time stream
for await (const { localTimestamp, message } of messages) {
  console.log(localTimestamp, message);
}
```

See [Node.js client docs](https://docs.tardis.dev/node-client/quickstart).
{% endtab %}

{% tab title="cURL & HTTP API" %}

```bash
curl --compressed -g 'https://api.tardis.dev/v1/data-feeds/gate-io?from=2025-09-01&filters=[{"channel":"obu","symbols":["BTC_USDT"]}]&offset=0'
```

{% embed url="<https://api.tardis.dev/v1/data-feeds/gate-io?from=2025-09-01&filters=[{%22channel%22:%22obu%22,%22symbols%22:[%22BTC_USDT%22]}]&offset=0>" %}
Example API response for Gate.io historical market data request
{% endembed %}

See [HTTP API docs](https://docs.tardis.dev/api/http-api-reference).
{% endtab %}

{% tab title="cURL & tardis-machine" %}

```bash
curl -g 'localhost:8000/replay?options={"exchange":"gate-io","filters":[{"channel":"obu","symbols":["BTC_USDT"]}],"from":"2025-09-01","to":"2025-09-02"}'
```

[Tardis-machine](https://docs.tardis.dev/tardis-machine/quickstart) is a locally runnable server that exposes API allowing efficiently requesting historical market data for whole time periods in contrast to [HTTP API](https://docs.tardis.dev/api/http-api-reference) that provides data only in minute by minute slices.

See [tardis-machine](https://docs.tardis.dev/tardis-machine/quickstart) docs.
{% endtab %}
{% endtabs %}

### Captured real-time channels

{% embed url="<https://www.gate.com/docs/developers/apiv4/ws/en/>" %}
See Gate.io WebSocket API docs providing documentation for each captured channel's format
{% endembed %}

{% hint style="info" %}
Click any channel below to see [HTTP API](https://docs.tardis.dev/api/http-api-reference#data-feeds-exchange) response with historical data recorded for it.
{% endhint %}

**Current channels (API v4, since 2023-04-29):**

* [trades](https://api.tardis.dev/v1/data-feeds/gate-io?from=2024-01-01\&filters=\[{%22channel%22:%22trades%22}]) Trade executions stream. Also collected under v3 API until 2023-04-29 with different message format: v3 used method-based params array (trades.update), v4 uses channel-based result object (spot.trades)
* [order\_book\_update](https://api.tardis.dev/v1/data-feeds/gate-io?from=2024-01-01\&filters=\[{%22channel%22:%22order_book_update%22}]) — available since **2023-04-29**, until **2025-08-01** Order book incremental updates stream for local book management. Includes generated initial order book snapshots from REST API (/spot/order\_book). Snapshot messages are marked as "event":"snapshot", "channel":"spot.order\_book\_update" and "generated":true.
* [obu](https://api.tardis.dev/v1/data-feeds/gate-io?from=2025-08-01\&filters=\[{%22channel%22:%22obu%22}]) — available since **2025-08-01** Order book incremental updates with snapshots via WebSocket
* [book\_ticker](https://api.tardis.dev/v1/data-feeds/gate-io?from=2024-01-01\&filters=\[{%22channel%22:%22book_ticker%22}]) — available since **2023-04-29** Best bid and ask price and amount updates stream

**Legacy channels (API v3, until 2023-04-29):**

* [depth](https://api.tardis.dev/v1/data-feeds/gate-io?from=2020-07-01\&filters=\[{%22channel%22:%22depth%22}]) — available until **2023-04-29** Order book snapshots and deltas stream (level 30, interval 0)
* [ticker](https://api.tardis.dev/v1/data-feeds/gate-io?from=2020-07-01\&filters=\[{%22channel%22:%22ticker%22}]) — available until **2023-04-29** Market ticker with 24h stats, best bid/ask and volume

### Market data collection details

[Market data collection infrastructure](https://docs.tardis.dev/faq/general#what-is-your-infrastructure-setup) for Gate.io is located in GCP asia-northeast1 (Tokyo, Japan).

Real-time market data is captured via **multiple WebSocket connections** to `wss://api.gateio.ws/ws/v4`. Until 2023-04-29, data was collected via `wss://ws.gate.io/v3` (API v3).

{% hint style="info" %}
Gate.io servers are located in AWS ap-northeast-1 region (Tokyo, Japan).
{% endhint %}
