CoinGecko API endpoint
Lists CoinGecko exchanges from one table chosen by `kind`: `spot` (default), `dex`, `derivatives` or `perp_dex`. Paged with `page` and `limit` (default and max 100). Each exchange has rank, id, name, URL, logo, and, where shown, a trust score and 24h volume in `vs_currency`.
/coingecko/exchangesPath parameters: none.
Query parameters:
kind optional exchange table kind. Defaults to spot. Allowed values: spot, dex, derivatives, perp_dex.page optional page number. Defaults to 1.limit optional rows to return. Defaults to 100; maximum 100.vs_currency optional quote currency. Allowed values: btc, eth, ltc, bch, bnb, eos, xrp, xlm, link, dot, yfi, sol, usd, aed, ars, aud, bdt, bhd, bmd, brl, cad, chf, clp, cny, czk, dkk, eur, gbp, gel, hkd, huf, idr, ils, inr, jpy, krw, kwd, lkr, mmk, mxn, myr, ngn, nok, nzd, php, pkr, pln, rub, sar, sek, sgd, thb, try, twd, uah, vef, vnd, zar, xdr, xag, xau, bits, sats.Notable response behavior:
kind=spot reads /en/exchanges; kind=dex reads /en/exchanges/decentralized; kind=derivatives reads /en/exchanges/derivatives; kind=perp_dex reads /en/exchanges/derivatives/decentralized.| Field | Filled in, of 20 checked | Values in the sample |
|---|---|---|
| rank | 20 | 1 to 20, median 10 |
| id | 20 | |
| name | 20 | “Kraken” and 19 other values |
| url | 20 | coingecko.com |
| image_url | 20 | assets.coingecko.com |
| kind | 20 | spot in all 20 |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| kind | string | No | Exchange table kind, default spot Allowed values: spot, dex, derivatives, perp_dex. | ||
| page | integer | No | Page number, default 1 | ||
| limit | integer | No | Rows to return, default 100, max 100 | ||
| vs_currency | string | No | Quote currency Allowed values: btc, eth, ltc, bch, bnb, eos, xrp, xlm, link, dot, yfi, sol, usd, aed, ars, aud, bdt, bhd, bmd, brl, cad, chf, clp, cny, czk, dkk, eur, gbp, gel, hkd, huf, idr, ils, inr, jpy, krw, kwd, lkr, mmk, mxn, myr, ngn, nok, nzd, php, pkr, pln, rub, sar, sek, sgd, thb, try, twd, uah, vef, vnd, zar, xdr, xag, xau, bits, sats. | ||
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/coingecko/exchanges?kind=spot&page=1&limit=10&vs_currency=btc" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"kind": "spot",
"page": 1,
"limit": 100,
"vs_currency": "usd",
"source_url": "https://www.coingecko.com/en/exchanges",
"fetched_at": "2026-05-24T00:00:00Z",
"exchanges": [
{
"rank": 1,
"id": "binance",
"name": "Binance",
"url": "https://www.coingecko.com/en/exchanges/binance",
"image_url": "https://assets.coingecko.com/markets/images/52/small/binance.jpg",
"kind": "spot",
"trust_score": 10,
"volume_24h": 23789315893
}
]
}
}Request schema
No body schema
Response schema
#/definitions/coingecko.exchangesResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | coingecko.ExchangesResponse | No | ||||
| data.exchanges | array | No | Exchanges on this page, one row per exchange. | |||
| data.exchanges[].id | string | No | binance | CoinGecko exchange id. Use it with the exchange endpoint. | ||
| data.exchanges[].image_url | string | No | https://assets.coingecko.com/markets/images/52/small/binance.jpg | URL of the exchange logo. | ||
| data.exchanges[].kind | string | No | spot | Exchange table the row belongs to, for example `spot`. | ||
| data.exchanges[].name | string | No | Binance | Name of the exchange. | ||
| data.exchanges[].rank | integer | No | 1 | Position of the exchange in the exchanges table. | ||
| data.exchanges[].trust_score | number | No | 10 | CoinGecko trust score of the exchange, shown on a scale up to 10. | ||
| data.exchanges[].url | string | No | https://www.coingecko.com/en/exchanges/binance | Link to the exchange page on CoinGecko. | ||
| data.exchanges[].volume_24h | number | No | 23789315893 | Trading volume over the last 24 hours. | ||
| data.exchanges[].volume_24h_text | string | No | $23,789,315,893 | 24-hour trading volume as CoinGecko displays it, for example `$23,789,315,893`. | ||
| data.fetched_at | string | No | 2026-05-24T00:00:00Z | Time the data was fetched, in UTC (RFC 3339). | ||
| data.kind | string | No | spot | Exchange table returned: `spot`, `dex`, `derivatives` or `perp_dex`. | ||
| data.limit | integer | No | 100 | Maximum number of exchanges returned. | ||
| data.page | integer | No | 1 | Page number returned. | ||
| data.source_url | string | No | https://www.coingecko.com/en/exchanges | URL the data was read from. | ||
| data.vs_currency | string | No | usd | Currency code from the request's vs_currency parameter. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 500 | Internal Server Error | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/coingecko/exchanges?kind=spot&page=1&limit=10&vs_currency=btc" \
-H "x-api-key: $CRAWLORA_API_KEY"