Get coin exchange listings

Growth This endpoint requires the growth plan or higher. Free, Basic and Startup plans can use preview access.

Get a list of exchanges where a specific coin can be traded. On Coinranking, we use this endpoint on our coin exchange listings page.

https://api.coinranking.com/v2/coin/:uuid/exchanges

Preview access

Free, Basic and Startup plans can test this endpoint with five successful requests per account per UTC day. Use the documented endpoint URL with your existing API key. Preview access is applied automatically. The allowance resets at 00:00 UTC.

All API keys, resource IDs, query parameters and pagination requests share this endpoint's allowance for your account. Failed requests do not consume the preview allowance. Successful previews also count toward your normal API usage, and your plan's result, historical-window and rate limits still apply. See endpoint previews for limits, response headers and quota errors.

Path parameters

Parameter Description
uuid String UUID of the coin you want to request exchanges for

Query parameters

Parameter Description
referenceCurrencyUuid (optional) String

UUID of coin (either fiat or crypto), in which all the prices are calculated. Defaults to US Dollar, but you can use any coin. You can find UUIDs for reference currencies in any coin endpoint, including a convenient dedicated reference currency endpoint

Default value: yhjMzLPhuIDl

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?referenceCurrencyUuid=5k-_VTxqtCEI
limit (optional) Number

Limit. Used for pagination. The maximum amount of results you can fetch in one request is 100 for Free and 5000 for all paid plans, including previews where available.

Default value: 50
Size range: 0-5000

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?limit=10
offset (optional) Number

Offset. Used for pagination

Default value: 0

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?offset=50
orderBy (optional) String

Index to order by. Default is 24h volume.

Default value: 24hVolume
Allowed values:
24hVolume price

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?orderBy=price
orderDirection (optional) String

Order in ascending or descending order

Default value: desc
Allowed values:
desc asc

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?orderDirection=asc
search (optional) String

Value to search for within results, i.e. exchange names

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?search=binance
cursor (optional) String

Cursor for pagination. Use the nextCursor value from the previous response to get the next page of results, or the previousCursor value to navigate back to the previous page. See Pagination for more information.

Example:
https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?cursor=eyJ0IjoxLC...

Code examples

curl
curl 'https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?referenceCurrencyUuid=5k-_VTxqtCEI&limit=50&offset=0&orderBy=price' \
  -H 'x-access-token: your-api-key' \
  -G
JavaScript
const options = {
  headers: {
    'x-access-token': 'your-api-key',
  },
};

fetch('https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?referenceCurrencyUuid=5k-_VTxqtCEI&limit=50&offset=0&orderBy=price', options)
  .then((response) => response.json())
  .then((result) => console.log(result));
PHP
<?php
  $curl = curl_init();

  curl_setopt_array($curl, array(
    CURLOPT_URL => "https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?referenceCurrencyUuid=5k-_VTxqtCEI&limit=50&offset=0&orderBy=price",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 0,
    CURLOPT_FOLLOWLOCATION => true,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => array(
      "x-access-token: your-api-key"
    ),
  ));

  $response = curl_exec($curl);

  curl_close($curl);
  echo $response;
Python
import requests

headers = {
  'x-access-token': 'your-api-key'
}

response = requests.request("GET", "https://api.coinranking.com/v2/coin/Qwsogvtv82FCd/exchanges?referenceCurrencyUuid=5k-_VTxqtCEI&limit=50&offset=0&orderBy=price", headers=headers)

print(response.text)

Response

json
HTTP/1.1 200 OK
{
  "status": "success",
  "data": {
    "stats": {
      "24hVolume": "27739840257.811882",
      "total": 278
    },
    "exchanges": [
      {
        "uuid": "8NvE23ZAn",
        "name": "CoinW",
        "iconUrl": "https://cdn.coinranking.com/zo-Z705sB/517.png",
        "verified": false,
        "recommended": true,
        "numberOfMarkets": 3,
        "coinrankingUrl": "https://coinranking.com/exchange/8NvE23ZAn+coinw",
        "btcPrice": "1.000346487380855",
        "exchangeType": "Centralized",
        "24hVolume": "64615.24751038069027507495",
        "price": "1.00055691180141505381"
      },
      {
        "uuid": "-zdvbieRdZ",
        "name": "Binance",
        "iconUrl": "https://cdn.coinranking.com/mDTK5qrmq/binance.svg",
        "verified": false,
        "recommended": true,
        "numberOfMarkets": 127,
        "coinrankingUrl": "https://coinranking.com/exchange/-zdvbieRdZ+binance",
        "btcPrice": "0.9998934262850078",
        "exchangeType": "Centralized",
        "24hVolume": "43016.1818176284823540315",
        "price": "0.99989907870210148543"
      }
    ]
  },
  "pagination": {
    "limit": 50,
    "hasNextPage": true,
    "hasPreviousPage": false,
    "nextCursor": "eyJ0IjpudWxsLCJyIjoxNzkzOTY2MDI1Ljg4ODk0MDMsInUiOiI4SmxZZ1FNSyIsIm8iOiIyNGhWb2x1bWUiLCJkIjoiZGVzYyJ9",
    "previousCursor": null
  }
}

Response fields

Property Description
status String

Status of the request

Allowed values:
success
data Object
data.stats Object
data.stats.24hVolume String

Total 24h volume of exchanges in the reference currency

data.stats.total Number

Total number of exchanges

data.exchanges Object
data.exchanges.coinrankingUrl Number

The url to the page on Coinranking for this exchange

data.exchanges.uuid String

UUID of the exchange

data.exchanges.name String

Name of the exchange

data.exchanges.exchangeType String/null

Type of exchange: Centralized, Decentralized, or Unknown.

data.exchanges.iconUrl String

Location of the icon. Replace .svg with .png or .webp, optionally with ?size=WIDTHxHEIGHT (e.g. ?size=28x28) to control dimensions. See Icons for more details.

data.exchanges.verified Boolean

DEPRECATED Exchanges that are verified to not participate in harmful practices such as wash trading are marked as verified.

Whether the exchange is recommended based on our criteria, see https://support.coinranking.com/article/82-recommended-exchanges

data.exchanges.numberOfMarkets Number

Number of markets of the exchange paired with Coinranking

data.exchanges.24hVolume String

Total volume in 24 hours

data.exchanges.price String

Price of the chosen coin on this exchange

data.exchanges.btcPrice String

Price of the chosen coin expressed in Bitcoin

pagination Object

Pagination information. See Pagination for more details.

pagination.limit Number

The number of results per page

pagination.hasNextPage Boolean

Whether there are more results available after the current page

pagination.hasPreviousPage Boolean

Whether there are results available before the current page

pagination.nextCursor String/null

Cursor to use for the next page, or null if there are no more results

pagination.previousCursor String/null

Cursor to use for the previous page, or null if on the first page

Error response

json
HTTP/1.1 422 Unprocessable Entity
{
  "status": "fail",
  "type": "REFERENCE_UNAVAILABLE",
  "message": "Reference currency not available"
}

Error responses

Error Description
COIN_NOT_FOUND Object The coin could not be found. Try another UUID.
Error Description
VALIDATION_ERROR Object The request could not be validated. The response should provide more details.
REFERENCE_UNAVAILABLE Object The reference currency used in the request is not available. Choose another UUID.
INVALID_CURSOR Object The cursor string is malformed or could not be decoded. Start pagination from the beginning without a cursor.
CURSOR_MISMATCH Object The cursor was created with different orderBy or orderDirection parameters. Match the original parameters or start over.
PAGINATION_CONFLICT Object Both cursor and offset parameters were provided. Use only one pagination method per request.