NAV
Shell HTTP JavaScript Node.JS PHP Ruby Python Java GO
  • Getting started
  • Authentication
  • REST APIs
  • WebSockets
  • Standards and Conventions
  • Errors and Rate Limits
  • Crypto Market Data APIs

    Crypto APIs provides a wide range of data driven API endpoints from 100+ exchanges, which will allow you to get access to information in a Request – Reply Scheme or Subscribe – Publish communication model. You will be able to get information about current, latest & historical data, plus exchange rates.

    Metadata

    In this section, you will be able to get meta information about the exchanges supported by Crypto APIs.

    List All Exchanges

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchanges/meta' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchanges/meta HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchanges/meta').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchanges/meta",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchanges/meta');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchanges/meta")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchanges/meta'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchanges/meta")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchanges/meta")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "name": "Bittrex",
                "_id": "5b1ea9d21090c200146f7366"
            },
            ...
            {
                "name": "Bitfinex",
                "_id": "5b4366dab98b280001540e18"
            }
        ]
    }
    

    Get a list of all supported exchanges provided by our system.

    HTTP Request

    GET /v1/exchanges/meta?skip={skip}&limit={limit}

    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variable HTTP Request
    _id Exchange id, used as Crypto APIs Internal ID, allowing getting data from other endpoints.
    name Display name of the exchange

    List Exchanges by supporting assets

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchanges/asset/5b1ea92e584bf50020130612",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchanges/asset/5b1ea92e584bf50020130612")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7366",
                "pairsAsBaseCount": 51,
                "pairsAsQuoteCount": 3
            },
            ...
            {
                "exchangeId": "5b4366dab98b280001540e18",
                "pairsAsBaseCount": 95,
                "pairsAsQuoteCount": 8
            }
        ]
    }
    

    Get a list of exchanges which support the given asset in a pair as base or quote.

    HTTP Request

    GET /v1/exchanges/asset/{assetId}?skip={skip}&limit={limit}

    Endpoint Parameters
    Variable Type Description
    assetId string Our identifier (UID) of the asset. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variable HTTP Request
    exchange_id Unique exchange identification string (UID) (_id attribute from exchanges endpoint)
    pairsAsBaseCount Number of pairs in the exchange where asset is supported as base
    pairsAsQuoteCount Number of pairs in the exchange where asset is supported as quote

    List Exchanges by supporting pairs

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchanges/pair/5b1ea92e584bf50020130612/5b755dacd5dd99000b3d92b2")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "symbolId": "5bfc325c9c40a100014db8ff",
                "exchangeId": "5b4366dab98b280001540e53",
                "exchangeSymbol": "ETH-EUR",
                "baseAsset": "5b4366f596e7a1000166b3d7",
                "quoteAsset": "5b4366f596e7a1000166b3d5",
                "tradeType": "SPOT"
            },
            ....
            {
                "symbolId": "5b45b055401814000123ebf8",
                "exchangeId": "5b4366dab98b280001540e53",
                "exchangeSymbol": "BTG-PLN",
                "baseAsset": "5b4366f596e7a1000166b3f8",
                "quoteAsset": "5b4366f596e7a1000166b46d",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get a list of exchanges and symbols which support the given assets as base/quote or quote/base.

    HTTP Request

    GET /v1/exchanges/pair/{assetId_1}/{assetId_2}?skip={skip}&limit={limit}

    Endpoint Parameters
    Variable Type Description
    assetId_1 string Our identifier (UID) of the asset. (_id attribute from assets endpoint)
    assetId_2 string Our identifier (UID) of the asset. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variable HTTP Request
    symbolId Unique symbol identification string (UID). (_id attribute from symbols endpoint)
    exchangeId Our identifier (UID) of the exchange where symbol is traded. (_id attribute from exchanges endpoint)
    exchangeSymbol Our symbol identifier, see table below for format description.
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)

    List All Symbols supported in exchange

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchanges/5b1ea9d21090c200146f7366/pairs",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366/pairs")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "symbolId": "5bfc325c9c40a100014db8ff",
                "exchangeId": "5b4366dab98b280001540e53",
                "exchangeSymbol": "ETH-EUR",
                "baseAsset": "5b4366f596e7a1000166b3d7",
                "quoteAsset": "5b4366f596e7a1000166b3d5",
                "tradeType": "SPOT"
            },
            ....
            {
                "symbolId": "5b45b055401814000123ebf8",
                "exchangeId": "5b4366dab98b280001540e53",
                "exchangeSymbol": "BTG-PLN",
                "baseAsset": "5b4366f596e7a1000166b3f8",
                "quoteAsset": "5b4366f596e7a1000166b46d",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get a list of symbols which are supported in the given exchange.

    HTTP Request

    GET /v1/exchanges/{exchangeId}/pairs?skip={skip}&limit={limit}

    Endpoint Parameters
    Variable Type Description
    exchangeId string Our identifier (UID) of the exchange. (_id attribute from exchanges endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variable HTTP Request
    symbolId Unique symbol identification string (UID). (_id attribute from symbols endpoint)
    exchangeId Our identifier (UID) of the exchange where symbol is traded. (_id attribute from exchanges endpoint)
    exchangeSymbol Our symbol identifier, see table below for format description.
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)

    List All Assets

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/assets/meta' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/assets/meta HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/assets/meta').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/assets/meta",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/assets/meta');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/assets/meta")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/assets/meta'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/assets/meta")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/assets/meta")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "originalSymbol": "ETH",
                "name": "Ethereum",
                "cryptoType": true,
                "_id": "5b755dacd5dd99000b3d92b2"
            },
            ....
            {
                "originalSymbol": "USD",
                "name": "US Dollar",
                "cryptoType": false,
                "_id": "5b4366f596e7a1000166b3d5"
            }
        ]
    }
    

    Get a list of all associated assets.

    HTTP Request

    GET /v1/assets/meta?skip={skip}&limit={limit}&type={type}

    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    type string (optional)
    For a list of cryptocurrencies set type=crypto.
    For a list of fiat currencies set type=fiat.
    Otherwise if not set a list of all types would be listed.
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Endpoint Name HTTP Request
    _id Unique asset identification string (UID)
    name Display name of the asset
    cryptoType Boolean value transported as integer; True for cryptocurrency assets, False otherwise.
    originalSymbol Original asset name as listed originally by creator / issuer

    List All Symbols

    Sample Data

    
    curl -X GET \
       'https://api.cryptoapis.io/v1/mappings' \
      -H 'Content-Type: authorization/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/mappings HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/mappings').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/mappings",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/mappings');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/mappings")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/mappings'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/mappings")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeadeer("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/mappings")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b4366dab98b280001540e53",
                "exchangeSymbol": "ETH-EUR",
                "baseAsset": "5b4366f596e7a1000166b3d7",
                "quoteAsset": "5b4366f596e7a1000166b3d5",
                "tradeType": "SPOT",
                "_id": "5bfc325c9c40a100014db8ff"
            },
            ....
            {
                "exchangeId": "5b4366dab98b280001540e53",
                "exchangeSymbol": "BTG-PLN",
                "baseAsset": "5b4366f596e7a1000166b3f8",
                "quoteAsset": "5b4366f596e7a1000166b46d",
                "tradeType": "SPOT",
                "_id": "5b45b055401814000123ebf8"
            }
        ]
    }
    

    Get a detailed list of all symbol mappings.

    HTTP Request

    GET /v1/mappings?skip={skip}&limit={limit}

    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    _id Unique symbol identification string (UID)
    exchangeSymbol Our symbol identifier, see table below for format description.
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    Trade Type Details
    Type Name Description
    SPOT FX Spot Agreement to exchange one asset for another one (e.g. Buy BTC for USD)
    FUTURES Futures contract FX Spot derivative contract where traders agree to trade fx spot at predetermined future time
    OPTION Option contract FX Spot derivative contract where traders agree to trade right to require buy or sell of fx spot at agreed price on exercise date

    Base data

    In this section, you will be able to get information about the exchanges supported by Crypto APIs.

    List All Exchanges

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchanges' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchanges HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchanges').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchanges",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchanges');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchanges")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchanges'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchanges")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchanges")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "BITTREX",
                "name": "Bittrex",
                "website": "https://bittrex.com/",
                "_id": "5b1ea9d21090c200146f7366",
                "logo" : {
                    "mimeType" : "image/svg+xml",
                    "imageData" : "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MTkiIGhlaWdodD0iMTQyIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNDE5IDE0MiI+CiAgICA8ZyBmaWx0ZXI9InVybCgjYSkiPgogICAgICAgIDxwYXRoIGZpbGw9IiMwMDg0RDQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ2LjM3NCA0Mi41NTl2LTEyLjU1aDYzLjA1NHY2My4wN0g0Ni4zNzR2LTMzLjNoNy44ODJ2MjUuNDE2aDQ3LjI5VjM3Ljg5MWgtNDcuMjl2NC42NjhoLTcuODgyek0zMC4wMSAxMTAuODJWNDcuNzQ3aDYzLjA1MnYzMi43OTVoLTcuODh2LTI0LjkxSDM3Ljg4OXY0Ny4zMDRoNDcuMjkydi01LjE3NWg3Ljg4djEzLjA1OUgzMC4wMDl6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTQ3LjIxNSAxMTAuOTI2VjkzLjY2OWgyLjAwN3YxNy4yNTdoLTIuMDA3em0yMy44NTggMGgtMi4yOWwtOS40MzEtMTQuNDgzaC0uMDk1Yy4xMjYgMS43LjE4OSAzLjI1OC4xODkgNC42NzR2OS44MDloLTEuODUzVjkzLjY2OWgyLjI2Nmw5LjQwOCAxNC40MjRoLjA5NGMtLjAxNi0uMjEyLS4wNTEtLjg5My0uMTA2LTIuMDQyLS4wNTUtMS4xNTYtLjA3NS0xLjk4My0uMDU5LTIuNDc4di05LjkwNGgxLjg3N3YxNy4yNTd6bTEzLjY4MyAwaC0yLjAwN1Y5NS40NTFoLTUuNDY1VjkzLjY3aDEyLjkzN3YxLjc4MmgtNS40NjV2MTUuNDc1em0yMS4zMiAwaC05LjYyVjkzLjY2OWg5LjYydjEuNzgyaC03LjYxNHY1LjU2aDcuMTUzdjEuNzcxaC03LjE1M3Y2LjM1aDcuNjE0djEuNzk0em05LjQ2OS03LjE3NnY3LjE3NmgtMi4wMDdWOTMuNjY5aDQuNzMzYzIuMTE3IDAgMy42NzkuNDA1IDQuNjg2IDEuMjE2IDEuMDE1LjgxIDEuNTIzIDIuMDMgMS41MjMgMy42NiAwIDIuMjgxLTEuMTU3IDMuODI0LTMuNDcgNC42MjZsNC42ODYgNy43NTVoLTIuMzczbC00LjE3OC03LjE3NmgtMy42em0wLTEuNzI0aDIuNzVjMS40MTYgMCAyLjQ1NS0uMjc5IDMuMTE2LS44MzguNjYxLS41NjYuOTkyLTEuNDEyLjk5Mi0yLjUzOCAwLTEuMTQtLjMzOS0xLjk2My0xLjAxNi0yLjQ2Ny0uNjY4LS41MDMtMS43NDctLjc1NS0zLjIzNC0uNzU1aC0yLjYwOHY2LjU5OHptMzAuMDQzIDguOWgtMi4yOWwtOS40MzItMTQuNDgzaC0uMDk0Yy4xMjYgMS43LjE4OSAzLjI1OC4xODkgNC42NzR2OS44MDloLTEuODUzVjkzLjY2OWgyLjI2Nmw5LjQwOCAxNC40MjRoLjA5NGMtLjAxNi0uMjEyLS4wNTEtLjg5My0uMTA2LTIuMDQyLS4wNTUtMS4xNTYtLjA3NS0xLjk4My0uMDU5LTIuNDc4di05LjkwNGgxLjg3N3YxNy4yNTd6bTE5LjIxOCAwbC0yLjE0OC01LjQ4OGgtNi45MTdsLTIuMTI1IDUuNDg4aC0yLjAzbDYuODIzLTE3LjMyOGgxLjY4OGw2Ljc4NyAxNy4zMjhoLTIuMDc4em0tMi43NzMtNy4yOTRsLTIuMDA3LTUuMzQ4YTI4LjcwOCAyOC43MDggMCAwIDEtLjgwMy0yLjQ5IDIyLjQ1NSAyMi40NTUgMCAwIDEtLjc0MyAyLjQ5bC0yLjAzMSA1LjM0OGg1LjU4NHptMTYuMTYxIDcuMjk0aC0yLjAwNlY5NS40NTFoLTUuNDY1VjkzLjY3aDEyLjkzNnYxLjc4MmgtNS40NjV2MTUuNDc1em0xMS43IDBWOTMuNjY5aDIuMDA3djE3LjI1N2gtMi4wMDd6bTI1LjM1Ny04LjY1MmMwIDIuNzYyLS43IDQuOTM0LTIuMTAxIDYuNTE2LTEuMzkzIDEuNTgyLTMuMzMzIDIuMzcyLTUuODE5IDIuMzcyLTIuNTQyIDAtNC41MDUtLjc3NS01Ljg5LTIuMzI1LTEuMzc3LTEuNTU4LTIuMDY2LTMuNzU0LTIuMDY2LTYuNTg2IDAtMi44MS42OTItNC45ODYgMi4wNzctNi41MjggMS4zODUtMS41NSAzLjM1My0yLjMyNSA1LjkwMi0yLjMyNSAyLjQ3OSAwIDQuNDE1Ljc4NyA1LjgwOCAyLjM2IDEuMzkzIDEuNTc0IDIuMDg5IDMuNzQ2IDIuMDg5IDYuNTE2em0tMTMuNzUxIDBjMCAyLjMzNy40OTUgNC4xMTIgMS40ODcgNS4zMjQuOTk5IDEuMjA0IDIuNDQ3IDEuODA2IDQuMzQ0IDEuODA2IDEuOTEyIDAgMy4zNTYtLjYwMiA0LjMzMi0xLjgwNi45NzYtMS4yMDQgMS40NjMtMi45NzkgMS40NjMtNS4zMjQgMC0yLjMyMS0uNDg3LTQuMDgtMS40NjMtNS4yNzYtLjk2OC0xLjIwNC0yLjQwNC0xLjgwNi00LjMwOS0xLjgwNi0xLjkxMiAwLTMuMzY4LjYwNi00LjM2NyAxLjgxOC0uOTkyIDEuMjA0LTEuNDg3IDIuOTU4LTEuNDg3IDUuMjY0em0zNC43MTcgOC42NTJoLTIuMjlsLTkuNDMxLTE0LjQ4M2gtLjA5NWMuMTI2IDEuNy4xODkgMy4yNTguMTg5IDQuNjc0djkuODA5aC0xLjg1M1Y5My42NjloMi4yNjZsOS40MDggMTQuNDI0aC4wOTRjLS4wMTUtLjIxMi0uMDUxLS44OTMtLjEwNi0yLjA0Mi0uMDU1LTEuMTU2LS4wNzUtMS45ODMtLjA1OS0yLjQ3OHYtOS45MDRoMS44Nzd2MTcuMjU3em0xOS4yMTkgMGwtMi4xNDgtNS40ODhoLTYuOTE3bC0yLjEyNSA1LjQ4OGgtMi4wM2w2LjgyMi0xNy4zMjhoMS42ODhsNi43ODcgMTcuMzI4aC0yLjA3N3ptLTIuNzc0LTcuMjk0bC0yLjAwNy01LjM0OGEyOC43NCAyOC43NCAwIDAgMS0uODAyLTIuNDkgMjIuMjYyIDIyLjI2MiAwIDAgMS0uNzQ0IDIuNDlsLTIuMDMgNS4zNDhoNS41ODN6bTEwLjg1IDcuMjk0VjkzLjY2OWgyLjAwN3YxNS40NGg3LjYxM3YxLjgxN2gtOS42MnoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNDEuMDcxIDYzLjUzaC0xOS4zOTN2MTYuNzM3aDIxLjY0N3Y0LjM3MmgtMjYuODM2VjM4LjQ2aDI2LjYyOXY0LjM3MmgtMjEuNDR2MTYuNTMyaDE5LjM5M3Y0LjE2NnptLTE2NC4yNCAyMS4xMDdoNS4xODlWMzguNDZoLTUuMTg5djQ2LjE3NnptLTI2Ljk3Ni00LjM3aC0xMC43OVY2My4zMjRoMTEuMTk5YzUuODczIDAgOS42OTYgMy40MTYgOS42OTYgOC42NzYgMCA1LjE5LTMuNzU1IDguMjY1LTEwLjEwNSA4LjI2NXptLTEwLjc5LTM3LjQzNGg5LjQyM2M1Ljg3MiAwIDkuMjg3IDIuODcgOS4yODcgNy41ODMgMCA1LjM5Ny0zLjQxNSA4LjgxMi04LjY3MSA4LjgxMmgtMTAuMDM5VjQyLjgzM3ptMTYuNDU2IDE4LjAzNGM0LjkxOC0xLjUwMiA3LjU4MS01LjMyOSA3LjU4MS0xMC44NiAwLTcuMjQyLTUuMzk1LTExLjU0NC0xNC42MTQtMTEuNTQ0aC0xNC42MTJ2NDYuMTc1aDE1Ljk3OWM5LjY5NiAwIDE1LjQzMi00LjcxMyAxNS40MzItMTIuNjM2IDAtNS41MzQtMy42MTktOS43MDEtOS43NjYtMTEuMTM1em01MC42NzYtMTguMDMzaC0xMy4wNDRWMzguNDZoMzEuMTQxdjQuMzczaC0xMi45MDh2NDEuODAzaC01LjE4OVY0Mi44MzR6bTI1LjYwOSAwaDEzLjA0NHY0MS44MDNoNS4xODhWNDIuODM0aDEyLjkwOFYzOC40NmgtMzEuMTR2NC4zNzN6bTYxLjQ2MyAyMy4yOTJjNi4xNDctMS40MzQgMTAuMDM5LTYuMDc4IDEwLjAzOS0xMy41MjUgMC04Ljg4LTYuMDExLTE0LjEzOS0xNi4xODYtMTQuMTM5aC0xMy4zMTV2NDYuMTc1aDUuMTg5VjY2Ljc0Mmg5Ljk3bDEwLjAzOSAxNy44OTVoNi4xNDVsLTEwLjUxNi0xNy4xNDUtMS4zNjUtMS4zNjZ6bTgwLjU4NS01LjA1NGwxMy43MjYtMjIuNTQzaC02LjI4NGwtMTAuMzExIDE4LjMwNy0uNDA5IDEuNzc3LS40MDktMS43NzctMTAuMzExLTE4LjMwNmgtNi4yMTNsMTMuNzI1IDIyLjU0Mi0xNC4xMzcgMjMuNTY3aDYuMzUybDEwLjU4NC0xOC45OS40MDktMS43NzguNDA5IDEuNzc3IDEwLjY1NCAxOC45OWg2LjM1MmwtMTQuMTM3LTIzLjU2NnptLTk0LjkyNiAxLjU3aDguODFjNi4xNDQgMCAxMC4zMTEtMy4zNDcgMTAuMzExLTEwLjA0MSAwLTYuMTQ3LTMuNjg3LTkuNzY3LTkuOTcxLTkuNzY3aC05LjE1djE5LjgwOXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogICAgPC9nPgogICAgPGRlZnM+CiAgICAgICAgPGZpbHRlciBpZD0iYSIgd2lkdGg9IjQzMy4xMDYiIGhlaWdodD0iMTQ3LjA0NSIgeD0iLTMuMTA5IiB5PSItMy4xMDkiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CiAgICAgICAgICAgIDxmZU9mZnNldC8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE1Ii8+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjA3NDUwOTggMCAwIDAgMCAwLjI1MDk4IDAgMCAwIDAgMC40MTE3NjUgMCAwIDAgMSAwIi8+CiAgICAgICAgICAgIDxmZUJsZW5kIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgogICAgICAgICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KPC9zdmc+"
                }
            },
            ...
            {
                "exchangeId": "BITFINEX",
                "name": "Bitfinex",
                "website": "https://www.bitfinex.com/",
                "_id": "5b4366dab98b280001540e18",
                "logo" : {
                    "mimeType" : "image/svg+xml",
                    "imageData" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijg5M3B4IiBoZWlnaHQ9IjEwM3B4IiB2aWV3Qm94PSIwIDAgODkzIDEwMyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMy42LjEgKDI2MzEzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5sb2dvPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnMvPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxvZ28iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjkuMzk1ODExLCAtOTM2LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibG9nby13LWJnLW9uLWRhcmsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA4NDkuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibG9nbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMwLjAwMDAwMCwgODcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTc5MS45MzU5MzcsODguNDEzNTI0MyBDNzk2LjczMTMzMSw5My40OTE4Mjc4IDgyMy4wNzA3NzQsMTE3LjgzMTUyNyA4NjQuNDEzNjU2LDg5LjU4MzQwMjkgQzg5NC4zMDg4MDEsNjYuMzAyMDMxIDg5My41NjE5NDQsMTUuODI2OTY4NiA4OTAuNjkwMDMxLDAuNTg0NDM5NDA2IEM4ODkuNjg5NTQ5LDIuODAyNzM3NjQgODU0Ljk2NTQyNyw3OC44NDM3ODU5IDc5MS45MzU5MzcsODguNDEzNTI0MyBaIE04OTAuNjg2MDA4LDAuNTcxNTM3OTM3IEM4OTAuMzE5ODI4LDAuNDIwMjcxMDI3IDg1MS44NTgzMzksLTQuODIzNDQ0MzkgODEzLjgzNjAxNiwxOS42NjU4NzA1IEM3OTAuMjI1NDIyLDM0Ljg3MjkxNzIgNzg3LjEwNDM5NSw1Ny4xMzAwODM2IDc4OC4xODE2NTEsNzEuOTYwOTc2OCBDODQzLjQ1NDc0Nyw2NS43NzU2MjA0IDg4OS40MzIxOSwyLjMxNTM2OTIgODkwLjY4NjAwOCwwLjU3MTUzNzkzNyBaIiBpZD0iUGF0aC0xLUNvcHktOSIgZmlsbD0iIzk3QzU1NCIvPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04OTAuNjg2MDA4LDAuNTcxNTM3OTM3IEM4OTAuMzE5ODI4LDAuNDIwMjcxMDI3IDg1MS44NTgzMzksLTQuODIzNDQ0MzkgODEzLjgzNjAxNiwxOS42NjU4NzA1IEM3OTAuMjI1NDIyLDM0Ljg3MjkxNzIgNzg3LjEwNDM5NSw1Ny4xMzAwODM2IDc4OC4xODE2NTEsNzEuOTYwOTc2OCBDODQzLjQ1NDc0Nyw2NS43NzU2MjA0IDg4OS40MzIxOSwyLjMxNTM2OTIgODkwLjY4NjAwOCwwLjU3MTUzNzkzNyBaIiBpZD0iUGF0aC0xLUNvcHktOCIgZmlsbD0iIzcwOUIzMCIvPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MS42NTksODUuNDQ1IEwxOC42MDMsODUuNDQ1IEwxOC42MDMsNjIuNTEzIEw2MS42NTksNjIuNTEzIEM3Mi40MjMsNjIuNTEzIDc3LjkyMiw2Ny42NjEgNzcuOTIyLDc0LjMzIEM3Ny45MjIsODAuNzY1IDcyLjU0LDg1LjQ0NSA2MS42NTksODUuNDQ1IEw2MS42NTksODUuNDQ1IFogTTYwLjI1NSw1MC4yMjggTDE4LjYwMyw1MC4yMjggTDE4LjYwMywzMC45MjMgTDYwLjI1NSwzMC45MjMgQzcxLjYwNCwzMC45MjMgNzYuMDUsMzQuOTAxIDc2LjA1LDQwLjQgQzc2LjA1LDQ1LjQzMSA3MC45MDIsNTAuMjI4IDYwLjI1NSw1MC4yMjggTDYwLjI1NSw1MC4yMjggWiBNNzEuMjUzLDU2LjA3OCBDODkuMzg4LDU1LjQ5MyA5NS45NCw0Ni40ODQgOTUuOTQsMzYuNjU2IEM5NS45NCwyNS44OTIgODcuMzk5LDE3IDY2LjU3MywxNyBMMCwxNyBMMCw5OS4xMzQgTDY4LjU2Miw5OS4xMzQgQzg1LjY0NCw5OS4xMzQgOTguMzk3LDkxLjk5NyA5OC4zOTcsNzYuNjcgQzk4LjM5Nyw2NS43ODkgOTEuMjYsNTYuNTQ2IDcxLjI1Myw1Ni4wNzggTDcxLjI1Myw1Ni4wNzggWiBNMTIwLjM2OSwxNyBMMTIwLjM2OSw5OS4xMzQgTDEzOC45NzIsOTkuMTM0IEwxMzguOTcyLDE3IEwxMjAuMzY5LDE3IFogTTIxNC40MTI5OTksMzIuNTYxIEwyNTUuMzYyOTk5LDMyLjU2MSBMMjU1LjM2Mjk5OSwxNyBMMTU0Ljg1OTk5OSwxNyBMMTU0Ljg1OTk5OSwzMi41NjEgTDE5NS44MDk5OTksMzIuNTYxIEwxOTUuODA5OTk5LDk5LjEzNCBMMjE0LjQxMjk5OSw5OS4xMzQgTDIxNC40MTI5OTksMzIuNTYxIFogTTI3MS4yNTA5OTksMTcgTDI3MS4yNTA5OTksOTkuMTM0IEwyODkuODUzOTk5LDk5LjEzNCBMMjg5Ljg1Mzk5OSw2Ny4wNzYgTDMzMy40OTQ5OTksNjcuMDc2IEwzMzMuNDk0OTk5LDUzLjYyMSBMMjg5Ljg1Mzk5OSw1My42MjEgTDI4OS44NTM5OTksMzEuMTU3IEwzNjAuNzU1OTk5LDMxLjE1NyBMMzYwLjc1NTk5OSwxNyBMMjcxLjI1MDk5OSwxNyBaIE0zNzUuODI0OTk4LDE3IEwzNzUuODI0OTk4LDk5LjEzNCBMMzk0LjQyNzk5OCw5OS4xMzQgTDM5NC40Mjc5OTgsMTcgTDM3NS44MjQ5OTgsMTcgWiBNNDM4LjA0NDk5OCwzNy4wMDcgTDQ5OS43MDM5OTgsOTkuMTM0IEw1MjAuNzYzOTk4LDk5LjEzNCBMNTIwLjc2Mzk5OCwxNyBMNTAyLjM5NDk5OCwxNyBMNTAyLjM5NDk5OCw3Ni4yMDIgTDQ0My4xOTI5OTgsMTcgTDQxOS41NTg5OTgsMTcgTDQxOS41NTg5OTgsOTkuMTM0IEw0MzguMDQ0OTk4LDk5LjEzNCBMNDM4LjA0NDk5OCwzNy4wMDcgWiBNNTQ1Ljg5NDk5OCwxNyBMNTQ1Ljg5NDk5OCw5OS4xMzQgTDYzNi45MjA5OTgsOTkuMTM0IEw2MzYuOTIwOTk4LDg1LjMyOCBMNTY0LjQ5Nzk5OCw4NS4zMjggTDU2NC40OTc5OTgsNjIuNzQ3IEw2MDcuOTA0OTk4LDYyLjc0NyBMNjA3LjkwNDk5OCw0OS45OTQgTDU2NC40OTc5OTgsNDkuOTk0IEw1NjQuNDk3OTk4LDMxLjE1NyBMNjM2LjkyMDk5OCwzMS4xNTcgTDYzNi45MjA5OTgsMTcgTDU0NS44OTQ5OTgsMTcgWiBNNzYxLjUwMTk5NywxNyBMNzM2LjkzMTk5NywxNyBMNzA1LjU3NTk5Nyw0NS44OTkgTDY3NC40NTM5OTcsMTcgTDY0OS41MzI5OTcsMTcgTDY5My4yOTA5OTcsNTcuNDgyIEw2NDcuODk0OTk3LDk5LjEzNCBMNjcyLjQ2NDk5Nyw5OS4xMzQgTDcwNS4zNDE5OTcsNjguODMxIEw3MzguMTAxOTk3LDk5LjEzNCBMNzYzLjEzOTk5Nyw5OS4xMzQgTDcxNy42MjY5OTcsNTcuMzY1IEw3NjEuNTAxOTk3LDE3IFoiIGlkPSJCSVRGSU5FWC1Db3B5LTMiIGZpbGw9IiNEREREREQiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"
                }
            }
        ]
    }
    

    Get a detailed list of all supported exchanges provided by our system.

    HTTP Request

    GET /v1/exchanges?skip={skip}&limit={limit}

    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variable HTTP Request
    _id Unique exchange identification string (UID)
    exchangeId Our exchange identifier
    website Exchange website address
    name Display name of the exchange
    logo Object holding meta information about exchange logo e.g. mime type, and base64 encoded image data, etc.

    Get Exchange details

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchanges/5b1ea9d21090c200146f7366",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchanges/5b1ea9d21090c200146f7366")
    }
    
    

    Response Body

    {
        "payload": {
            "exchangeId": "BITTREX",
            "name": "Bittrex",
            "website": "https://bittrex.com/",
            "_id": "5b1ea9d21090c200146f7366",
            "logo" : {
                "mimeType" : "image/svg+xml",
                "imageData" : "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI0MTkiIGhlaWdodD0iMTQyIiBmaWxsPSJub25lIiB2aWV3Qm94PSIwIDAgNDE5IDE0MiI+CiAgICA8ZyBmaWx0ZXI9InVybCgjYSkiPgogICAgICAgIDxwYXRoIGZpbGw9IiMwMDg0RDQiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTTQ2LjM3NCA0Mi41NTl2LTEyLjU1aDYzLjA1NHY2My4wN0g0Ni4zNzR2LTMzLjNoNy44ODJ2MjUuNDE2aDQ3LjI5VjM3Ljg5MWgtNDcuMjl2NC42NjhoLTcuODgyek0zMC4wMSAxMTAuODJWNDcuNzQ3aDYzLjA1MnYzMi43OTVoLTcuODh2LTI0LjkxSDM3Ljg4OXY0Ny4zMDRoNDcuMjkydi01LjE3NWg3Ljg4djEzLjA1OUgzMC4wMDl6IiBjbGlwLXJ1bGU9ImV2ZW5vZGQiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjZmZmIiBkPSJNMTQ3LjIxNSAxMTAuOTI2VjkzLjY2OWgyLjAwN3YxNy4yNTdoLTIuMDA3em0yMy44NTggMGgtMi4yOWwtOS40MzEtMTQuNDgzaC0uMDk1Yy4xMjYgMS43LjE4OSAzLjI1OC4xODkgNC42NzR2OS44MDloLTEuODUzVjkzLjY2OWgyLjI2Nmw5LjQwOCAxNC40MjRoLjA5NGMtLjAxNi0uMjEyLS4wNTEtLjg5My0uMTA2LTIuMDQyLS4wNTUtMS4xNTYtLjA3NS0xLjk4My0uMDU5LTIuNDc4di05LjkwNGgxLjg3N3YxNy4yNTd6bTEzLjY4MyAwaC0yLjAwN1Y5NS40NTFoLTUuNDY1VjkzLjY3aDEyLjkzN3YxLjc4MmgtNS40NjV2MTUuNDc1em0yMS4zMiAwaC05LjYyVjkzLjY2OWg5LjYydjEuNzgyaC03LjYxNHY1LjU2aDcuMTUzdjEuNzcxaC03LjE1M3Y2LjM1aDcuNjE0djEuNzk0em05LjQ2OS03LjE3NnY3LjE3NmgtMi4wMDdWOTMuNjY5aDQuNzMzYzIuMTE3IDAgMy42NzkuNDA1IDQuNjg2IDEuMjE2IDEuMDE1LjgxIDEuNTIzIDIuMDMgMS41MjMgMy42NiAwIDIuMjgxLTEuMTU3IDMuODI0LTMuNDcgNC42MjZsNC42ODYgNy43NTVoLTIuMzczbC00LjE3OC03LjE3NmgtMy42em0wLTEuNzI0aDIuNzVjMS40MTYgMCAyLjQ1NS0uMjc5IDMuMTE2LS44MzguNjYxLS41NjYuOTkyLTEuNDEyLjk5Mi0yLjUzOCAwLTEuMTQtLjMzOS0xLjk2My0xLjAxNi0yLjQ2Ny0uNjY4LS41MDMtMS43NDctLjc1NS0zLjIzNC0uNzU1aC0yLjYwOHY2LjU5OHptMzAuMDQzIDguOWgtMi4yOWwtOS40MzItMTQuNDgzaC0uMDk0Yy4xMjYgMS43LjE4OSAzLjI1OC4xODkgNC42NzR2OS44MDloLTEuODUzVjkzLjY2OWgyLjI2Nmw5LjQwOCAxNC40MjRoLjA5NGMtLjAxNi0uMjEyLS4wNTEtLjg5My0uMTA2LTIuMDQyLS4wNTUtMS4xNTYtLjA3NS0xLjk4My0uMDU5LTIuNDc4di05LjkwNGgxLjg3N3YxNy4yNTd6bTE5LjIxOCAwbC0yLjE0OC01LjQ4OGgtNi45MTdsLTIuMTI1IDUuNDg4aC0yLjAzbDYuODIzLTE3LjMyOGgxLjY4OGw2Ljc4NyAxNy4zMjhoLTIuMDc4em0tMi43NzMtNy4yOTRsLTIuMDA3LTUuMzQ4YTI4LjcwOCAyOC43MDggMCAwIDEtLjgwMy0yLjQ5IDIyLjQ1NSAyMi40NTUgMCAwIDEtLjc0MyAyLjQ5bC0yLjAzMSA1LjM0OGg1LjU4NHptMTYuMTYxIDcuMjk0aC0yLjAwNlY5NS40NTFoLTUuNDY1VjkzLjY3aDEyLjkzNnYxLjc4MmgtNS40NjV2MTUuNDc1em0xMS43IDBWOTMuNjY5aDIuMDA3djE3LjI1N2gtMi4wMDd6bTI1LjM1Ny04LjY1MmMwIDIuNzYyLS43IDQuOTM0LTIuMTAxIDYuNTE2LTEuMzkzIDEuNTgyLTMuMzMzIDIuMzcyLTUuODE5IDIuMzcyLTIuNTQyIDAtNC41MDUtLjc3NS01Ljg5LTIuMzI1LTEuMzc3LTEuNTU4LTIuMDY2LTMuNzU0LTIuMDY2LTYuNTg2IDAtMi44MS42OTItNC45ODYgMi4wNzctNi41MjggMS4zODUtMS41NSAzLjM1My0yLjMyNSA1LjkwMi0yLjMyNSAyLjQ3OSAwIDQuNDE1Ljc4NyA1LjgwOCAyLjM2IDEuMzkzIDEuNTc0IDIuMDg5IDMuNzQ2IDIuMDg5IDYuNTE2em0tMTMuNzUxIDBjMCAyLjMzNy40OTUgNC4xMTIgMS40ODcgNS4zMjQuOTk5IDEuMjA0IDIuNDQ3IDEuODA2IDQuMzQ0IDEuODA2IDEuOTEyIDAgMy4zNTYtLjYwMiA0LjMzMi0xLjgwNi45NzYtMS4yMDQgMS40NjMtMi45NzkgMS40NjMtNS4zMjQgMC0yLjMyMS0uNDg3LTQuMDgtMS40NjMtNS4yNzYtLjk2OC0xLjIwNC0yLjQwNC0xLjgwNi00LjMwOS0xLjgwNi0xLjkxMiAwLTMuMzY4LjYwNi00LjM2NyAxLjgxOC0uOTkyIDEuMjA0LTEuNDg3IDIuOTU4LTEuNDg3IDUuMjY0em0zNC43MTcgOC42NTJoLTIuMjlsLTkuNDMxLTE0LjQ4M2gtLjA5NWMuMTI2IDEuNy4xODkgMy4yNTguMTg5IDQuNjc0djkuODA5aC0xLjg1M1Y5My42NjloMi4yNjZsOS40MDggMTQuNDI0aC4wOTRjLS4wMTUtLjIxMi0uMDUxLS44OTMtLjEwNi0yLjA0Mi0uMDU1LTEuMTU2LS4wNzUtMS45ODMtLjA1OS0yLjQ3OHYtOS45MDRoMS44Nzd2MTcuMjU3em0xOS4yMTkgMGwtMi4xNDgtNS40ODhoLTYuOTE3bC0yLjEyNSA1LjQ4OGgtMi4wM2w2LjgyMi0xNy4zMjhoMS42ODhsNi43ODcgMTcuMzI4aC0yLjA3N3ptLTIuNzc0LTcuMjk0bC0yLjAwNy01LjM0OGEyOC43NCAyOC43NCAwIDAgMS0uODAyLTIuNDkgMjIuMjYyIDIyLjI2MiAwIDAgMS0uNzQ0IDIuNDlsLTIuMDMgNS4zNDhoNS41ODN6bTEwLjg1IDcuMjk0VjkzLjY2OWgyLjAwN3YxNS40NGg3LjYxM3YxLjgxN2gtOS42MnoiLz4KICAgICAgICA8cGF0aCBmaWxsPSIjZmZmIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zNDEuMDcxIDYzLjUzaC0xOS4zOTN2MTYuNzM3aDIxLjY0N3Y0LjM3MmgtMjYuODM2VjM4LjQ2aDI2LjYyOXY0LjM3MmgtMjEuNDR2MTYuNTMyaDE5LjM5M3Y0LjE2NnptLTE2NC4yNCAyMS4xMDdoNS4xODlWMzguNDZoLTUuMTg5djQ2LjE3NnptLTI2Ljk3Ni00LjM3aC0xMC43OVY2My4zMjRoMTEuMTk5YzUuODczIDAgOS42OTYgMy40MTYgOS42OTYgOC42NzYgMCA1LjE5LTMuNzU1IDguMjY1LTEwLjEwNSA4LjI2NXptLTEwLjc5LTM3LjQzNGg5LjQyM2M1Ljg3MiAwIDkuMjg3IDIuODcgOS4yODcgNy41ODMgMCA1LjM5Ny0zLjQxNSA4LjgxMi04LjY3MSA4LjgxMmgtMTAuMDM5VjQyLjgzM3ptMTYuNDU2IDE4LjAzNGM0LjkxOC0xLjUwMiA3LjU4MS01LjMyOSA3LjU4MS0xMC44NiAwLTcuMjQyLTUuMzk1LTExLjU0NC0xNC42MTQtMTEuNTQ0aC0xNC42MTJ2NDYuMTc1aDE1Ljk3OWM5LjY5NiAwIDE1LjQzMi00LjcxMyAxNS40MzItMTIuNjM2IDAtNS41MzQtMy42MTktOS43MDEtOS43NjYtMTEuMTM1em01MC42NzYtMTguMDMzaC0xMy4wNDRWMzguNDZoMzEuMTQxdjQuMzczaC0xMi45MDh2NDEuODAzaC01LjE4OVY0Mi44MzR6bTI1LjYwOSAwaDEzLjA0NHY0MS44MDNoNS4xODhWNDIuODM0aDEyLjkwOFYzOC40NmgtMzEuMTR2NC4zNzN6bTYxLjQ2MyAyMy4yOTJjNi4xNDctMS40MzQgMTAuMDM5LTYuMDc4IDEwLjAzOS0xMy41MjUgMC04Ljg4LTYuMDExLTE0LjEzOS0xNi4xODYtMTQuMTM5aC0xMy4zMTV2NDYuMTc1aDUuMTg5VjY2Ljc0Mmg5Ljk3bDEwLjAzOSAxNy44OTVoNi4xNDVsLTEwLjUxNi0xNy4xNDUtMS4zNjUtMS4zNjZ6bTgwLjU4NS01LjA1NGwxMy43MjYtMjIuNTQzaC02LjI4NGwtMTAuMzExIDE4LjMwNy0uNDA5IDEuNzc3LS40MDktMS43NzctMTAuMzExLTE4LjMwNmgtNi4yMTNsMTMuNzI1IDIyLjU0Mi0xNC4xMzcgMjMuNTY3aDYuMzUybDEwLjU4NC0xOC45OS40MDktMS43NzguNDA5IDEuNzc3IDEwLjY1NCAxOC45OWg2LjM1MmwtMTQuMTM3LTIzLjU2NnptLTk0LjkyNiAxLjU3aDguODFjNi4xNDQgMCAxMC4zMTEtMy4zNDcgMTAuMzExLTEwLjA0MSAwLTYuMTQ3LTMuNjg3LTkuNzY3LTkuOTcxLTkuNzY3aC05LjE1djE5LjgwOXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPgogICAgPC9nPgogICAgPGRlZnM+CiAgICAgICAgPGZpbHRlciBpZD0iYSIgd2lkdGg9IjQzMy4xMDYiIGhlaWdodD0iMTQ3LjA0NSIgeD0iLTMuMTA5IiB5PSItMy4xMDkiIGNvbG9yLWludGVycG9sYXRpb24tZmlsdGVycz0ic1JHQiIgZmlsdGVyVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICAgICAgICAgICAgPGZlRmxvb2QgZmxvb2Qtb3BhY2l0eT0iMCIgcmVzdWx0PSJCYWNrZ3JvdW5kSW1hZ2VGaXgiLz4KICAgICAgICAgICAgPGZlQ29sb3JNYXRyaXggaW49IlNvdXJjZUFscGhhIiB2YWx1ZXM9IjAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDAgMCAwIDEyNyAwIi8+CiAgICAgICAgICAgIDxmZU9mZnNldC8+CiAgICAgICAgICAgIDxmZUdhdXNzaWFuQmx1ciBzdGREZXZpYXRpb249IjE1Ii8+CiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHZhbHVlcz0iMCAwIDAgMCAwLjA3NDUwOTggMCAwIDAgMCAwLjI1MDk4IDAgMCAwIDAgMC40MTE3NjUgMCAwIDAgMSAwIi8+CiAgICAgICAgICAgIDxmZUJsZW5kIGluMj0iQmFja2dyb3VuZEltYWdlRml4IiByZXN1bHQ9ImVmZmVjdDFfZHJvcFNoYWRvdyIvPgogICAgICAgICAgICA8ZmVCbGVuZCBpbj0iU291cmNlR3JhcGhpYyIgaW4yPSJlZmZlY3QxX2Ryb3BTaGFkb3ciIHJlc3VsdD0ic2hhcGUiLz4KICAgICAgICA8L2ZpbHRlcj4KICAgIDwvZGVmcz4KPC9zdmc+"
            }
        }
    }
    

    Get a detailed information for a single supported exchange provided by our system by ID.

    HTTP Request

    GET /v1/exchanges/{exchangeId}

    URL Parameters
    Variable Type Description
    exchangeId string Our identifier (UID) of the exchange. (_id attribute from exchanges endpoint)
    Output Variables
    Variable HTTP Request
    _id Unique exchange identification string (UID)
    exchangeId Our exchange identifier
    website Exchange website address
    name Display name of the exchange
    logo Object holding meta information about exchange logo e.g. mime type, and base64 encoded image data, etc.

    List All Assets

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/assets' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/assets HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/assets').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/assets",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/assets');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/assets")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/assets'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/assets")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/assets")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "originalSymbol": "ETH",
                "name": "Ethereum",
                "slug": "ethereum",
                "cryptoType": true,
                "supply": 103337722,
                "marketCap": 13895051350,
                "price": 134.46,
                "volume": 2871630447,
                "change": -3.37,
                "change1Hour": -2.52,
                "change1Week": -10.18,
                "earliestKnownPrice" : 12.793825364721,
                "earliestTradeDate" : 1487265353,
                "_id": "5b4366f596e7a1000166b3d4",
                "lastUpdate": 1574170410,
                "logo" : {
                    "mimeType" : "image/svg+xml",
                    "imageData" : "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzYyN0VFQSIvPjxnIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZmlsbC1vcGFjaXR5PSIuNjAyIiBkPSJNMTYuNDk4IDR2OC44N2w3LjQ5NyAzLjM1eiIvPjxwYXRoIGQ9Ik0xNi40OTggNEw5IDE2LjIybDcuNDk4LTMuMzV6Ii8+PHBhdGggZmlsbC1vcGFjaXR5PSIuNjAyIiBkPSJNMTYuNDk4IDIxLjk2OHY2LjAyN0wyNCAxNy42MTZ6Ii8+PHBhdGggZD0iTTE2LjQ5OCAyNy45OTV2LTYuMDI4TDkgMTcuNjE2eiIvPjxwYXRoIGZpbGwtb3BhY2l0eT0iLjIiIGQ9Ik0xNi40OTggMjAuNTczbDcuNDk3LTQuMzUzLTcuNDk3LTMuMzQ4eiIvPjxwYXRoIGZpbGwtb3BhY2l0eT0iLjYwMiIgZD0iTTkgMTYuMjJsNy40OTggNC4zNTN2LTcuNzAxeiIvPjwvZz48L2c+PC9zdmc+"
                }
            },
            ....
            {
                "originalSymbol": "USD",
                "name": "US Dollar",
                "cryptoType": false,
                "_id": "5b4366f596e7a1000166b3d5",
                "lastUpdate": 1574170410,
                "change" : 0.0,
                "price" : 1.0,
                "change1Hour" : 0.0,
                "earliestKnownPrice" : 0.0,
                "earliestTradeDate" : 1556780769,
                "change1Week" : 0.0,
                "logo" : {
                    "mimeType" : "image/svg+xml",
                    "imageData" : "PHN2ZyBoZWlnaHQ9IjMyIiB3aWR0aD0iMzIiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiBmaWxsPSIjNmNkZTA3IiByPSIxNiIvPjxwYXRoIGQ9Ik0yMi41IDE5LjE1NGMwIDIuNTctMi4wODYgNC4yNzYtNS4xNjYgNC41MzNWMjZoLTIuMTF2LTIuMzM2QTExLjQ5NSAxMS40OTUgMCAwIDEgOS41IDIxLjM1bDEuNTUyLTIuMTI2YzEuMzgzIDEuMDc1IDIuNjkyIDEuNzc2IDQuMjY5IDIuMDF2LTQuNThjLTMuNTQxLS44ODgtNS4xOS0yLjE3My01LjE5LTQuODEzIDAtMi41MjMgMi4wNjEtNC4yNTIgNS4wOTMtNC40ODZWNmgyLjExdjEuNDAyYTkuNDkgOS40OSAwIDAgMSA0LjU2IDEuNzc2bC0xLjM1OSAyLjE5NmMtMS4wNjctLjc3MS0yLjE1OC0xLjI2Mi0zLjI5OC0xLjQ5NXY0LjQzOWMzLjY4Ny44ODggNS4yNjMgMi4zMTMgNS4yNjMgNC44MzZ6bS03LjE4LTUuMzI3VjkuNzE1Yy0xLjUyNy4xMTctMi4zMjcuOTM1LTIuMzI3IDEuOTYzIDAgLjk4LjQ2IDEuNjEyIDIuMzI4IDIuMTV6bTQuMzE4IDUuNDljMC0xLjA1LS41MS0xLjY4MS0yLjQwMS0yLjIxOXY0LjIzYzEuNTI4LS4xMTggMi40MDEtLjg4OSAyLjQwMS0yLjAxeiIgZmlsbD0iI2ZmZiIvPjwvZz48L3N2Zz4="
                }
            }
        ]
    }
    

    Get detailed list of all associated assets.

    HTTP Request

    GET /v1/assets?skip={skip}&limit={limit}&type={type}

    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    type string (optional)
    For a list of cryptocurrencies set type=crypto.
    For a list of fiat currencies set type=fiat.
    Otherwise if not set a list of all types would be listed.
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Endpoint Name HTTP Request
    _id Unique asset identification string (UID)
    name Display name of the asset
    cryptoType Boolean value transported as integer; True for cryptocurrency assets, False otherwise.
    originalSymbol Original asset name as listed originally by creator / issuer
    slug lowercase and without whitespaces representation of the name of the asset
    supply approximate total amount of coins in existence right now. Applicable only for currencies of type crypto
    marketCap market capitalization in USD. Applicable only for currencies of type crypto
    price latest weighted average trade price across markets in USD. Applicable only for currencies of type crypto
    volume 24 hour trading volume in USD. Applicable only for currencies of type crypto
    change 24 hour trading price percentage change.
    change1Hour 1 hour trading price percentage change.
    change1Week 1 week trading price percentage change.
    earliestKnownPrice The first trading price in USD
    earliestTradeDate UNIX Timestamp of the date of the first trade
    logo Object holding meta information about currency logo e.g. mime type, and base64 encoded image data, etc.
    lastUpdate UNIX Timestamp of the date of the last update

    Get Asset details

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/assets/5b755dacd5dd99000b3d92b2",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/assets/5b755dacd5dd99000b3d92b2")
    }
    
    

    Response Body

    {
        "payload": {
            "assetId": "ETH",
            "originalSymbol": "ETH",
            "name": "Ethereum",
            "slug": "ethereum",
            "cryptoType": true,
            "supply": 103337722,
            "marketCap": 13895051350,
            "price": 134.46,
            "volume": 2871630447,
            "change": -3.37,
            "change1Hour": -2.52,
            "change1Week": -10.18,
            "earliestKnownPrice" : 12.793825364721,
            "earliestTradeDate" : 1487265353,
            "_id": "5b755dacd5dd99000b3d92b2",
            "lastUpdate": 1574170410,
            "logo" : {
                "mimeType" : "image/svg+xml",
                "imageData" : "PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMiIgaGVpZ2h0PSIzMiI+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48Y2lyY2xlIGN4PSIxNiIgY3k9IjE2IiByPSIxNiIgZmlsbD0iIzYyN0VFQSIvPjxnIGZpbGw9IiNGRkYiIGZpbGwtcnVsZT0ibm9uemVybyI+PHBhdGggZmlsbC1vcGFjaXR5PSIuNjAyIiBkPSJNMTYuNDk4IDR2OC44N2w3LjQ5NyAzLjM1eiIvPjxwYXRoIGQ9Ik0xNi40OTggNEw5IDE2LjIybDcuNDk4LTMuMzV6Ii8+PHBhdGggZmlsbC1vcGFjaXR5PSIuNjAyIiBkPSJNMTYuNDk4IDIxLjk2OHY2LjAyN0wyNCAxNy42MTZ6Ii8+PHBhdGggZD0iTTE2LjQ5OCAyNy45OTV2LTYuMDI4TDkgMTcuNjE2eiIvPjxwYXRoIGZpbGwtb3BhY2l0eT0iLjIiIGQ9Ik0xNi40OTggMjAuNTczbDcuNDk3LTQuMzUzLTcuNDk3LTMuMzQ4eiIvPjxwYXRoIGZpbGwtb3BhY2l0eT0iLjYwMiIgZD0iTTkgMTYuMjJsNy40OTggNC4zNTN2LTcuNzAxeiIvPjwvZz48L2c+PC9zdmc+"
            }
        }
    }
    

    Get detailed information for a specific asset.

    HTTP Request

    GET /v1/assets/{assetId}

    URL Parameters
    Variable Type Description
    assetId string Our identifier (UID) of the asset. (_id attribute from assets endpoint)
    Output Variables
    Endpoint Name HTTP Request
    _id Unique asset identification string (UID)
    assetId Our asset identifier
    name Display name of the asset
    cryptoType Boolean value transported as integer; True for cryptocurrency assets, False otherwise.
    originalSymbol Original asset name as listed originally by creator / issuer
    slug lowercase and without whitespaces representation of the name of the asset
    supply approximate total amount of coins in existence right now. Applicable only for currencies of type crypto
    marketCap market capitalization in USD. Applicable only for currencies of type crypto
    price latest weighted average trade price across markets in USD. Applicable only for currencies of type crypto
    volume 24 hour trading volume in USD. Applicable only for currencies of type crypto
    change 24 hour trading price percentage change.
    change1Hour 1 hour trading price percentage change.
    change1Week 1 week trading price percentage change.
    earliestKnownPrice The first trading price in USD
    earliestTradeDate UNIX Timestamp of the date of the first trade
    logo Object holding meta information about currency logo e.g. mime type, and base64 encoded image data, etc.
    lastUpdate UNIX Timestamp of the date of the last update

    Get symbol details

    Sample Data

    
    curl -X GET \
       'https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff' \
      -H 'Content-Type: authorization/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/mappings/5bfc325c9c40a100014db8ff",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeadeer("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/mappings/5bfc325c9c40a100014db8ff")
    }
    
    

    Response Body

    {
        "payload": {
            "exchangeId": "5b4366dab98b280001540e53",
            "exchangeSymbol": "ETH-EUR",
            "baseAsset": "5b4366f596e7a1000166b3d7",
            "quoteAsset": "5b4366f596e7a1000166b3d5",
            "tradeType": "SPOT",
            "_id": "5bfc325c9c40a100014db8ff"
        }
    }
    

    Get a detailed information for a specific symbol mapping.

    HTTP Request

    GET /v1/mappings/{symbolId}

    URL Parameters
    Variable Type Description
    symbolId</a string Symbol identifier used to filter response. (_id attribute from symbols endpoint)
    Output Variables
    Variables Description
    _id Unique symbol identification string (UID)
    exchangeSymbol Our symbol identifier, see table below for format description.
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    Trade Type Details
    Type Name Description
    SPOT FX Spot Agreement to exchange one asset for another one (e.g. Buy BTC for USD)
    FUTURES Futures contract FX Spot derivative contract where traders agree to trade fx spot at predetermined future time
    OPTION Option contract FX Spot derivative contract where traders agree to trade right to require buy or sell of fx spot at agreed price on exercise date
    Symbol identifier

    String representation pattern of a symbol based on exchange, exchange type, base asset and quote asset

    Type Pattern
    SPOT {symbol_id}_SPOT_{baseAsset}_{quoteAsset} (e.g. BITFINEX_SPOT_BTC_USD)

    Exchange Rates

    Crypto APIs calculates the exchange rate based on the executed trades in the supported +100 exchanges, all of our exchange rates are calculated based on 5 minute intervals, so you can get a rate per asset or a rate per asset and exchange at once, both live and historical.

    Get Specific Rate

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" , 
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130612/5b1ea92e584bf50020130615")
    }
    
    

    Response Body

    {
        "payload": {
            "weightedAveragePrice": 0.00025199385136389241,
            "medianPrice": 0.00024906102275700436,
            "weightedMedianAveragePrice": 0,
            "timestamp": 1543839205,
            "baseAsset": "5b1ea92e584bf50020130612",
            "quoteAsset": "5b1ea92e584bf50020130615"
        }
    }
    

    Get exchange rates between pair of requested assets pointing at a specific or current time.

    HTTP Request

    GET /v1/exchange-rates/{baseAssetId}/{quoteAssetId}?timestamp={timestamp}

    URL Parameters
    Variable Type Description
    baseAssetId string Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAssetId string Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp int Time (in UNIX Timestamp) of the market data used to calculate exchange rate. Optional. Default value is current time.
    Output Variables
    Variables Description
    baseAsset Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAsset Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp Time (in UNIX Timestamp) of the market data used to calculate exchange rate
    weightedAveragePrice Exchange rate between assets calculated by weighted average of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume
    medianPrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours
    weightedMedianAveragePrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume. Range of the prices is being adjusted by calculating percentage of wrong (extremely low or extremely high) prices

    Get All Current Rates

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" , 
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchange-rates/5b1ea92e584bf50020130615",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchange-rates/5b1ea92e584bf50020130615")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 34,
            "index": 0,
            "limit": 50,
            "results": 34
        },
        "payload": [
            {
                "baseAsset": "5b1ea92e584bf50020130615",
                "quoteAsset": "5b1ea92e584bf50020130612",
                "medianPrice": 0.00024971208719927192,
                "weightedAveragePrice": 0.00025063981680473099,
                "weightedMedianAveragePrice": 0,
                "timestamp": 1543839501
            },
            ....
            {
                "baseAsset": "5b1ea92e584bf50020130615",
                "quoteAsset": "5b1ea92e584bf50020130613",
                "price": 6.8903065749863579,
                "weightedAveragePrice": 6.8903065749863579,
                "weightedMedianAveragePrice": 0,
                "timestamp": 1543839501
            },
        ]
    }
    

    Get the current exchange rate between requested asset and all other assets.

    HTTP Request

    GET /v1/exchange-rates/{baseAssetId}?timestamp={timestamp}&skip={skip}&limit={limit}

    URL Parameters
    Variable Type Description
    baseAssetId string Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAssetId string Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp int Time (in UNIX Timestamp) of the market data used to calculate exchange rate. Optional. Default value is current time.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    baseAsset Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAsset Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp Time (in UNIX Timestamp) of the market data used to calculate exchange rate
    weightedAveragePrice Exchange rate between assets calculated by weighted average of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume
    medianPrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours
    weightedMedianAveragePrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume. Range of the prices is being adjusted by calculating percentage of wrong (extremely low or extremely high) prices

    Get Specific Rate in a specific Exchange

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" , 
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615/5b1ea92e584bf50020130612")
    }
    
    

    Response Body

    {
        "payload": {
            "weightedAveragePrice": 0.00025199385136389241,
            "medianPrice": 0.00024906102275700436,
            "weightedMedianAveragePrice": 0,
            "exchangeId": "5b4366dab98b280001540e16",
            "timestamp": 1543839205,
            "baseAsset": "5b1ea92e584bf50020130615",
            "quoteAsset": "5b1ea92e584bf50020130612"
        }
    }
    

    Get exchange rates between pair of requested assets pointing at a specific or current time in a specific Exchange.

    HTTP Request

    GET /v1/exchange-rates/exchange/{exchangeId}/{baseAssetId}/{quoteAssetId}?timestamp={timestamp}

    URL Parameters
    Variable Type Description
    exchangeId string Our exchange identifier
    baseAssetId string Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAssetId string Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp int Time (in UNIX Timestamp) of the market data used to calculate exchange rate. Optional. Default value is current time.
    Output Variables
    Variables Description
    baseAsset Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAsset Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp Time (in UNIX Timestamp) of the market data used to calculate exchange rate
    weightedAveragePrice Exchange rate between assets calculated by weighted average of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume
    medianPrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours
    weightedMedianAveragePrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume. Range of the prices is being adjusted by calculating percentage of wrong (extremely low or extremely high) prices
    exchangeId Our exchange identifier

    Get All Current Rates in a specific Exchange

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" , 
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/exchange-rates/exchange/5b4366dab98b280001540e16/5b1ea92e584bf50020130615")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 34,
            "index": 0,
            "limit": 50,
            "results": 34
        },
        "payload": [
            {
                "baseAsset": "5b1ea92e584bf50020130615",
                "quoteAsset": "5b1ea92e584bf50020130612",
                "medianPrice": 0.00024971208719927192,
                "weightedAveragePrice": 0.00025063981680473099,
                "weightedMedianAveragePrice": 0,
                "exchangeId": "5b4366dab98b280001540e16",
                "timestamp": 1543839501
            },
            ....
            {
                "baseAsset": "5b1ea92e584bf50020130615",
                "quoteAsset": "5b1ea92e584bf50020130613",
                "price": 6.8903065749863579,
                "weightedAveragePrice": 6.8903065749863579,
                "weightedMedianAveragePrice": 0,
                "exchangeId": "5b4366dab98b280001540e16",
                "timestamp": 1543839501
            },
        ]
    }
    

    Get the current exchange rate between requested asset and all other assets in a specific Exchange.

    HTTP Request

    GET /v1/exchange-rates/exchange/{exchangeId}/{baseAssetId}?timestamp={timestamp}&skip={skip}&limit={limit}

    URL Parameters
    Variable Type Description
    exchangeId string Our exchange identifier
    baseAssetId string Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    timestamp int Time (in UNIX Timestamp) of the market data used to calculate exchange rate. Optional. Default value is current time.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our exchange identifier
    baseAsset Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quoteAsset Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    timestamp Time (in UNIX Timestamp) of the market data used to calculate exchange rate
    weightedAveragePrice Exchange rate between assets calculated by weighted average of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume
    medianPrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours
    weightedMedianAveragePrice Exchange rate between assets calculated by median of the last trades in every exchange for the last 24 hours by giving more weight to exchanges with higher volume. Range of the prices is being adjusted by calculating percentage of wrong (extremely low or extremely high) prices

    OHLCV

    The information provided from the API calls are related to downloading OHLCV (Open, High, Low, Close, Volume) time-series data. Each data point, within the particular time range, of this time-series represents several indicators calculated from transactions activity.

    List all Periods

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/ohlcv/periods' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/ohlcv/periods HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/ohlcv/periods').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/ohlcv/periods",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/ohlcv/periods');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/ohlcv/periods")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/ohlcv/periods'
    headers = {
      'Content-Type' : 'application/json',
      'X-API-Key' : 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/ohlcv/periods")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/ohlcv/periods")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 100,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "period": "1sec",
                "lengthInSeconds": 1,
                "lengthInMonths": 0,
                "unitCount": 1,
                "unitName": "second",
                "displayName": "1 Second"
            },
            ....
            {
                "period": "6hrs",
                "lengthInSeconds": 21600,
                "lengthInMonths": 0,
                "unitCount": 6,
                "unitName": "hour",
                "displayName": "6 Hours"
            }
        ]
    }
    

    Get full list of, supported by us, time periods available for requesting OHLCV data.

    HTTP Request

    GET /v1/ohlcv/periods

    Available Time-series periods
    Time Series Period Identifier
    Second 1sec, 2sec, 3sec, 4sec, 5sec, 6sec, 10sec, 15sec, 20sec, 30sec
    Minute 1min, 2min, 3min, 4min, 5min, 6min, 10min, 15min, 20min, 30min
    Hour 1hrs, 2hrs, 3hrs, 4hrs, 6hrs, 8hrs, 12hrs
    Day 1day, 2day, 3day, 5day, 7day, 10day
    Month 1mth, 2mth, 3mth, 4mth, 6mth
    Year 1yrs, 2yrs, 3yrs, 4yrs, 5yrs
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    period Period Identifier used by Crypto APIs
    lengthInSeconds Seconds part of period length
    lengthInMonths Months part of period length
    unitCount Period length in units
    unitName Type of time-series used (second/minute/hour/day/year)
    displayName Display name of period length

    Latest Data

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/ohlcv/latest/5bfc32a29c40a100014dc5f6?period=1day")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 35,
            "index": 0,
            "limit": 50,
            "results": 35
        },
        "payload": [
            {
                "exchange": "5b1ea9d21090c200146f7362",
                "eventType": "SPOT",
                "assetBase": "5b1ea92e584bf50020130621",
                "assetQuote": "5b1ea92e584bf50020130614",
                "timePeriodStart": 1534204800,
                "timePeriodEnd": 1534291200,
                "timeOpen": 1534204814,
                "timeClose": 1534250116,
                "priceOpen": 0.016135,
                "priceClose": 0.016392,
                "priceLow": 0.015909,
                "priceHigh": 0.016754999999999999,
                "volumeTraded": 376888.24000000011,
                "tradesCount": 8948,
                "_id": "5b754a7c0e23de00017958fd"
            },
            ....
            {
                "exchange": "5b1ea9d21090c200146f7362",
                "eventType": "SPOT",
                "assetBase": "5b1ea92e584bf50020130621",
                "assetQuote": "5b1ea92e584bf50020130614",
                "timePeriodStart": 1468800,
                "timePeriodEnd": 1555200,
                "timeOpen": 1533307,
                "timeClose": 1534147,
                "priceOpen": 0.017266,
                "priceClose": 0.015892,
                "priceLow": 0.014929,
                "priceHigh": 0.017687000000000001,
                "volumeTraded": 2858646.7699999646,
                "tradesCount": 80412,
                "_id": "5b6469df1cc71c0001468414"
            }
        ]
    }
    

    Get OHLCV latest time-series data for requested symbol and period, returned in time descending order.

    HTTP Request

    GET /v1/ohlcv/latest/{symbol_id}?period={period_id}&limit={limit}

    URL Parameters
    Variable Type Description
    symbol_id string Symbol identifier (UID) used to filter response. (required)
    period_id string Identifier of requested time period (required, e.g. 1hrs, 2mth etc.) (required)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchange_id Our identifier (UID) of the exchange where symbol is traded.
    eventType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    assetBase FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    assetQuote FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    timePeriodStart Period starting time (range left inclusive)
    timePeriodEnd Period ending time (range right exclusive)
    timeOpen Time of first trade inside period range
    timeClose Time of last trade inside period range
    priceOpen First trade price inside period range
    priceClose Last trade price inside period range
    priceLow Lowest traded price inside period range
    priceHigh Highest traded price inside period range
    volumeTraded Cumulative base amount traded inside period range
    tradesCount Amount of trades executed inside period range
    _id Unique exchange identification string (UID)

    Historical Data

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    <?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["Authorizaion"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/ohlcv/history/5bfc32a29c40a100014dc5f6?period=1day&timePeriodStart=1530000000&timePeriodEnd=1540876000")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 34,
            "index": 0,
            "limit": 50,
            "results": 34
        },
        "payload": [
            {
                "exchange": "5b1ea9d21090c200146f7362",
                "eventType": "SPOT",
                "assetBase": "5b1ea92e584bf50020130621",
                "assetQuote": "5b1ea92e584bf50020130614",
                "timePeriodStart": 1530489600,
                "timePeriodEnd": 1530576000,
                "timeOpen": 1530549336,
                "timeClose": 1530575925,
                "priceOpen": 0.018759000000000001,
                "priceClose": 0.018835999999999999,
                "priceLow": 0.018678,
                "priceHigh": 0.019154000000000001,
                "volumeTraded": 82432.489999999962,
                "tradesCount": 6245,
                "_id": "5b5b0aae188299000123db17"
            },
            ....
            {
                "exchange": "5b1ea9d21090c200146f7362",
                "eventType": "SPOT",
                "assetBase": "5b1ea92e584bf50020130621",
                "assetQuote": "5b1ea92e584bf50020130614",
                "timePeriodStart": 1534204800,
                "timePeriodEnd": 1534291200,
                "timeOpen": 1534204814,
                "timeClose": 1534250116,
                "priceOpen": 0.016135,
                "priceClose": 0.016392,
                "priceLow": 0.015909,
                "priceHigh": 0.016754999999999999,
                "volumeTraded": 376888.24000000011,
                "tradesCount": 8948,
                "_id": "5b754a7c0e23de00017958fd"
            }
        ]
    }
    

    Get OHLCV time-series data for requested symbol and period, returned in time ascending order.

    HTTP Request

    GET /v1/ohlcv/history/{symbol_id}?period={period_id}&timePeriodStart={time_start}&timePeriodEnd={time_end}&skip={skip}&limit={limit}

    URL Parameters
    Variable Type Description
    symbol_id string Symbol identifier (UID) used to filter response. (required)
    period_id string Identifier of requested time period (required, e.g. 1hrs, 2mth etc.) (required)
    time_start timestamp Time period starting time in timestamp (required)
    time_end timestamp Time period ending time in timestamp (optional, if not supplied then the data is returned to the end or when count of result elements reaches the limit)
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchange_id Our identifier (UID) of the exchange where symbol is traded.
    eventType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    assetBase FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    assetQuote FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    timePeriodStart Period starting time (range left inclusive)
    timePeriodEnd Period ending time (range right exclusive)
    timeOpen Time of first trade inside period range
    timeClose Time of last trade inside period range
    priceOpen First trade price inside period range
    priceClose Last trade price inside period range
    priceLow Lowest traded price inside period range
    priceHigh Highest traded price inside period range
    volumeTraded Cumulative base amount traded inside period range
    tradesCount Amount of trades executed inside period range
    _id Unique exchange identification string (UID)

    Trades

    In this section, you will be able to get information about transaction data.

    Output Variables
    Variable Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)
    Direction of the transaction Description
    Buy Exchange has reported that transaction aggressor was buying
    Sell Exchange has reported that transaction aggressor was selling
    Buy_Estimated Exchange has not reported transaction aggressor, we estimated that more likely it was buying
    Sell_Estimated Exchange has not reported transaction aggressor, we estimated that more likely it was selling
    Unknown Exchange has not reported transaction aggressor and we have not estimated who it was

    Latest Data

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/latest' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/latest HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/latest').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/latest",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/latest');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/latest")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/latest'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/latest")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/latest")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 1813,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea8278111cc0001206314",
                "baseAsset": "5b1e9de8cf19ad00016095e2",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532955177,
                "exchangeSequenceId": "35209977",
                "tradeType": "SPOT",
                "price": 8168.9910900000004,
                "amount": 0.00089999999999999998,
                "direction": "SELL"
            },
            ....
            {
                "exchangeId": "5b1ea8278111cc00012062d8",
                "baseAsset": "5b1e9de9cf19ad0001609613",
                "quoteAsset": "5b1e9de8cf19ad00016095e3",
                "eventTime": 1532446280685,
                "exchangeSequenceId": "272319805",
                "tradeType": "SPOT",
                "price": 0.0013412999999999999,
                "amount": 52.420000000000002,
                "direction": "SELL"
            }
        ]
    }
    

    Get latest trades from all symbols up to 1 hour ago. Latest data is always returned in time descending order.

    HTTP Request

    GET /v1/trades/latest?limit={limit}

    URL Parameters
    Variable Type Description
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Latest Data by symbol

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/5b45b055401814000123ebf7/latest' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/5b45b055401814000123ebf7/latest HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/5b45b055401814000123ebf7/latest').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/5bfc32a29c40a100014dc5f6/latest",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/5bfc32a29c40a100014dc5f6/latest');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/5bfc32a29c40a100014dc5f6/latest")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/5bfc32a29c40a100014dc5f6/latest'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/5bfc32a29c40a100014dc5f6/latest")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/5bfc32a29c40a100014dc5f6/latest")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 15168,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea8278111cc0001206314",
                "baseAsset": "5b1e9de8cf19ad00016095e2",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532955177,
                "exchangeSequenceId": "35209977",
                "tradeType": "SPOT",
                "price": 8168.9910900000004,
                "amount": 0.00089999999999999998,
                "direction": "SELL"
            },
            ....
            {
                "exchangeId": "5b1ea8278111cc0001206314",
                "baseAsset": "5b1e9de8cf19ad00016095e2",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532446280685,
                "exchangeSequenceId": "272319805",
                "tradeType": "SPOT",
                "price": 0.0013412999999999999,
                "amount": 52.420000000000002,
                "direction": "SELL"
            }
        ]
    }
    

    Get latest trades from a specific symbol up to 1 hour ago. Latest data is always returned in time descending order.

    HTTP Request

    GET /v1/trades/{symbol_id}/latest?skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    symbol_id string Symbol identifier used to filter response.
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Latest Data by exchange

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/exchange/5b1ea9d21090c200146f7362/latest",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/latest")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 15168,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1e9de8cf19ad00016095e2",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532955177,
                "exchangeSequenceId": "35209977",
                "tradeType": "SPOT",
                "price": 8168.9910900000004,
                "amount": 0.00089999999999999998,
                "direction": "SELL"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1e9de8cf19ad00016095e2",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532446280685,
                "exchangeSequenceId": "272319805",
                "tradeType": "SPOT",
                "price": 0.0013412999999999999,
                "amount": 52.420000000000002,
                "direction": "SELL"
            }
        ]
    }
    

    Get latest trades from a specific exchange up to 1 hour ago. Latest data is always returned in time descending order.

    HTTP Request

    GET /v1/trades/exchange/{exchangeId}/latest?skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    exchangeId string Our identifier (UID) of the exchange where trade took place. (_id attribute from exchanges endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Latest Data by base asset

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/latest")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 15168,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532955177,
                "exchangeSequenceId": "35209977",
                "tradeType": "SPOT",
                "price": 8168.9910900000004,
                "amount": 0.00089999999999999998,
                "direction": "SELL"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1e9de8cf19ad00016095e5",
                "eventTime": 1532446280685,
                "exchangeSequenceId": "272319805",
                "tradeType": "SPOT",
                "price": 0.0013412999999999999,
                "amount": 52.420000000000002,
                "direction": "SELL"
            }
        ]
    }
    

    Get latest trades from a specific base asset up to 1 hour ago. Latest data is always returned in time descending order.

    HTTP Request

    GET /v1/trades/baseAsset/{baseAsset}/latest?skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    baseAsset string Our identifier (UID) of the base asset in a trade. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Latest Data by assets pair

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 15168,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "eventTime": 1532955177,
                "exchangeSequenceId": "35209977",
                "tradeType": "SPOT",
                "price": 8168.9910900000004,
                "amount": 0.00089999999999999998,
                "direction": "SELL"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "eventTime": 1532446280685,
                "exchangeSequenceId": "272319805",
                "tradeType": "SPOT",
                "price": 0.0013412999999999999,
                "amount": 52.420000000000002,
                "direction": "SELL"
            }
        ]
    }
    

    Get latest trades from a specific assets pair (exp. BTC / USD) up to 1 hour ago. Latest data is always returned in time descending order.

    HTTP Request

    GET /v1/trades/baseAsset/{baseAsset}/quoteAsset/{quoteAsset}/latest?skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    baseAsset string Our identifier (UID) of the base asset in a trade. (_id attribute from assets endpoint)
    quoteAsset string Our identifier (UID) of the quote asset in a trade. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Latest Data by exchange assets pair

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/latest")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 15168,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "eventTime": 1532955177,
                "exchangeSequenceId": "35209977",
                "tradeType": "SPOT",
                "price": 8168.9910900000004,
                "amount": 0.00089999999999999998,
                "direction": "SELL"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "eventTime": 1532446280685,
                "exchangeSequenceId": "272319805",
                "tradeType": "SPOT",
                "price": 0.0013412999999999999,
                "amount": 52.420000000000002,
                "direction": "SELL"
            }
        ]
    }
    

    Get latest trades from a specific assets pair (exp. BTC / USD) in a specific exchange up to 1 hour ago. Latest data is always returned in time descending order.

    HTTP Request

    GET /v1/trades/exchange/{exchangeId}/baseAsset/{baseAsset}/quoteAsset/{quoteAsset}/latest?skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    exchangeId string Our identifier (UID) of the exchange where trade took place. (_id attribute from exchanges endpoint)
    baseAsset string Our identifier (UID) of the base asset in a trade. (_id attribute from assets endpoint)
    quoteAsset string Our identifier (UID) of the quote asset in a trade. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Historical Data

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/5b3a4d2a3d8cea0001653b91/history?timeStart=1526000000&timeEnd=1526593672000")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 166419,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f73a5",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130696",
                "quoteAsset": "5b1ea92e584bf50020130612",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f73a5",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130696",
                "quoteAsset": "5b1ea92e584bf50020130612",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get history transactions from specific symbol, returned in time ascending order. If no start & end time is defined when calling the endpoint, your data results will be provided 24 hours back, by default.

    HTTP Request

    GET /v1/trades/{symbol_id}/history?timeStart={time_start}&timeEnd={time_end}&skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    symbol_id string Symbol identifier used to filter response.
    URL Parameters
    Variable Type Description
    timeStart integer Unix Timestamp for the start of the requested period.
    timeEnd integer Unix Timestamp for the end of the requested period. Has current time by default.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Historical Data by exchange

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/history?timeStart=1526000000&timeEnd=1526593672000")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 166419,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130696",
                "quoteAsset": "5b1ea92e584bf50020130612",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130696",
                "quoteAsset": "5b1ea92e584bf50020130612",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get history transactions from specific exchange, returned in time ascending order. If no start & end time is defined when calling the endpoint, your data results will be provided 24 hours back, by default.

    HTTP Request

    GET /v1/trades/exchange/{exchangeId}/history?timeStart={time_start}&timeEnd={time_end}&skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    exchangeId string Our identifier (UID) of the exchange where trade took place. (_id attribute from exchanges endpoint)
    URL Parameters
    Variable Type Description
    timeStart integer Unix Timestamp for the start of the requested period.
    timeEnd integer Unix Timestamp for the end of the requested period. Has current time by default.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Historical Data by base asset

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/history?timeStart=1526000000&timeEnd=1526593672000")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 166419,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130623",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130623",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get history transactions from specific base asset, returned in time ascending order. If no start & end time is defined when calling the endpoint, your data results will be provided 24 hours back, by default.

    HTTP Request

    GET /v1/trades/baseAsset/{baseAsset}/history?timeStart={time_start}&timeEnd={time_end}&skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    baseAsset string Our identifier (UID) of the base asset in a trade. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    timeStart integer Unix Timestamp for the start of the requested period.
    timeEnd integer Unix Timestamp for the end of the requested period. Has current time by default.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Historical Data by asset pair

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 166419,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get history transactions from specific assets pair (exp. BTC/USD), returned in time ascending order. If no start & end time is defined when calling the endpoint, your data results will be provided 24 hours back, by default.

    HTTP Request

    GET /v1/trades/baseAsset/{baseAsset}/quoteAsset/{quoteAsset}/history?timeStart={time_start}&timeEnd={time_end}&skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    baseAsset string Our identifier (UID) of the base asset in a trade. (_id attribute from assets endpoint)
    quoteAsset string Our identifier (UID) of the quote asset in a trade. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    timeStart integer Unix Timestamp for the start of the requested period.
    timeEnd integer Unix Timestamp for the end of the requested period. Has current time by default.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Historical Data by exchange assets pair

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000 HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/trades/exchange/5b1ea9d21090c200146f7362/baseAsset/5b1ea92e584bf50020130612/quoteAsset/5b1ea92e584bf50020130615/history?timeStart=1526000000&timeEnd=1526593672000")
    }
    
    

    Response Body

    {
        "meta": {
            "totalCount": 166419,
            "index": 0,
            "limit": 50,
            "results": 50
        },
        "payload": [
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            },
            ....
            {
                "exchangeId": "5b1ea9d21090c200146f7362",
                "exchangeSequenceId": "2068932",
                "eventTime": 1526593672000,
                "baseAsset": "5b1ea92e584bf50020130612",
                "quoteAsset": "5b1ea92e584bf50020130615",
                "price": 0.00010399999999999999,
                "amount": 9.4859000099999999,
                "direction": "BUY",
                "tradeType": "SPOT"
            }
        ]
    }
    

    Get history transactions from specific assets pair (exp. BTC/USD) in a specific exchange, returned in time ascending order. If no start & end time is defined when calling the endpoint, your data results will be provided 24 hours back, by default.

    HTTP Request

    GET /v1/trades/exchange/{exchangeId}/baseAsset/{baseAsset}/quoteAsset/{quoteAsset}/history?timeStart={time_start}&timeEnd={time_end}&skip={skip}&limit={limit}

    Endpoint Parameters
    Parameter Type Description
    exchangeId string Our identifier (UID) of the exchange where trade took place. (_id attribute from exchanges endpoint)
    baseAsset string Our identifier (UID) of the base asset in a trade. (_id attribute from assets endpoint)
    quoteAsset string Our identifier (UID) of the quote asset in a trade. (_id attribute from assets endpoint)
    URL Parameters
    Variable Type Description
    timeStart integer Unix Timestamp for the start of the requested period.
    timeEnd integer Unix Timestamp for the end of the requested period. Has current time by default.
    skip int The offset of items to start from. Useful for paginations. (e.g. skip=100 would show results from 101 item to 150)
    limit int Amount of items to return (optional, default value is 50)
    Meta Response
    Variable Type Description
    totalCount int Total count of the items in the listing for the given criteria
    index int Sequential index number of the items list start position (depends on the skip parameter) for the given criteria
    limit int Limit number of the items list (depends on the limit parameter) for the given criteria.
    results int Count of the items listed in the current response for the given criteria
    Output Variables
    Variables Description
    exchangeId Our identifier (UID) of the exchange where symbol is traded.
    tradeType Type of symbol (possible values are: SPOT, FUTURES or OPTION)
    exchangeSequenceId Sequence number per pair (type, exchangeId) which is valid only for the lifespan of the connection.
    eventTime Time of trade reported by exchange
    baseAsset FX Spot base asset identifier (UID), for derivatives it’s contact underlying (e.g. BTC for BTC/USD)
    quoteAsset FX Spot quote asset identifier (UID), for derivatives it’s contract underlying (e.g. USD for BTC/USD)
    price Price of the transaction
    amount Base asset amount traded in the transaction
    direction Aggressor side of the transaction (BUY/SELL/BUY_ESTIMATED/SELL_ESTIMATED/UNKNOWN)

    Order Book

    In this section, you will be able to get information about calls related to order book data, also known as books or passive level 2 data.

    Output Variables
    Variable Description
    timestamp Time of snapshot generation reported by exchange
    exchange_id Our identifier (UID) of the exchange where symbol is traded.
    base_asset Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quote_asset Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    symbol Exchange symbol identifier.
    symbol_id Our symbol identifier, see table below for format description.
    depth Depth of exchange for Book Snapshot level of 50
    bids Latest 50 bid levels in order from best to worst
    asks Latest 50 ask levels in order from best to worst
    price Price of the bid/ask
    amount Available amount of base to quote asset at the given price
    Symbol identifier

    String representation pattern of a symbol based on exchange, exchange type, base asset and quote asset

    Type Pattern
    SPOT {symbol_id}_SPOT_{baseAsset}_{quoteAsset} (e.g. BITFINEX_SPOT_BTC_USD)

    Snapshot by symbol

    Sample Data

    
    curl -X GET \
      'https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot' \
      -H 'Content-Type: application/json' \
      -H 'X-API-Key: my-api-key'
    
    
    
    GET https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot HTTP/1.1
    Host: https://api.cryptoapis.io
    Content-Type: application/json
    X-API-Key: my-api-key
    
    
    
    $.ajaxSetup({
      headers:{
        "Content-Type": "application/json" ,
        "X-API-Key": "my-api-key"
      }
    });
    
    $.get('https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot').then(function(d) {console.log(d)});
    
    
    
    const https = require('https');
    
    var options = {
      "method": "GET",
      "hostname": "https://api.cryptoapis.io",
      "path": "/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot",
      "headers": {
        'Content-Type': 'application/json',
        'X-API-Key': 'my-api-key'
      }
    };
    
    var request = https.request(options, function (response) {
      response.on("data", function (data) {
        console.log(data);
      });
    });
    
    request.end();
    
    
    
    &lt;?php
    
    $request = new HttpRequest();
    $request->setUrl('https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot');
    $request->setMethod(HTTP_METH_GET);
    $request->setHeaders(array(
      'Content-Type' => 'application/json',
      'X-API-Key' => 'my-api-key'
    ));
    
    try {
      $response = $request->send();
      echo $response->getBody();
    } catch (HttpException $ex) {
      echo $ex;
    }
    
    ?>
    
    
    
    require 'uri'
    require 'net/http'
    
    url = URI("https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot")
    http = Net::HTTP.new(url.host, url.port)
    request = Net::HTTP::Get.new(url)
    request["Content-Type"] = 'application/json'
    request["X-API-Key"] = 'my-api-key'
    response = http.request(request)
    puts response.read_body
    
    
    
    import requests
    url = 'https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot'
    headers = {
      'Content-Type': 'application/json',
      'X-API-Key': 'my-api-key'
    }
    response = requests.get(url, headers=headers)
    
    
    
    OkHttpClient client = new OkHttpClient();
    
    Request request = new Request.Builder()
      .url("https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot")
      .post(body)
      .addHeader("Content-Type", "application/json")
      .addHeader("X-API-Key", "my-api-key")
      .build();
    
    Response response = client.newCall(request).execute();
    
    
    
    import (
      "gopkg.in/resty.v0"
    )
    
    func main()
    {
        resp, err := resty.R().
          SetHeader("Content-Type", "application/json").
          SetHeader("X-API-Key", "my-api-key").
          Get("https://api.cryptoapis.io/v1/order-book/BITFINEX_SPOT_EOS_BTC/snapshot")
    }
    
    

    Response Body

    {
        "payload": {
            "timestamp": "1565947559209",
            "exchange_id": "5bc0893ea6f99f00093f0202",
            "base_asset": "5b1ea92e584bf50020130621",
            "quote_asset": "5b1ea92e584bf50020130612",
            "symbol": "tEOSBTC",
            "symbol_id": "BITFINEX_SPOT_EOS_BTC",
            "depth": {
                "bids": [
                    {
                        "price": 0.00035391,
                        "amount": 100
                    },
                    {
                        "price": 0.00035381,
                        "amount": 154.90625
                    },
                    {
                        "price": 0.00035377999,
                        "amount": 1108.8
                    },
                    {
                        "price": 0.00035356,
                        "amount": 18.743822
                    },
                    {
                        "price": 0.00035347999,
                        "amount": 278.70001
                    },
                    {
                        "price": 0.00035332001,
                        "amount": 279.5
                    },
                    {
                        "price": 0.00035330001,
                        "amount": 844.75977
                    },
                    {
                        "price": 0.00035322999,
                        "amount": 424.44922
                    },
                    {
                        "price": 0.00035302,
                        "amount": 8463.502
                    },
                    {
                        "price": 0.00035300999,
                        "amount": 240
                    },
                    {
                        "price": 0.00035299,
                        "amount": 1000
                    },
                    {
                        "price": 0.00035297999,
                        "amount": 843.65973
                    },
                    {
                        "price": 0.00035297,
                        "amount": 1660
                    },
                    {
                        "price": 0.00035295999,
                        "amount": 279.70001
                    },
                    {
                        "price": 0.00035292999,
                        "amount": 300
                    },
                    {
                        "price": 0.00035290001,
                        "amount": 60
                    }
                ],
                "asks": [
                    {
                        "price": 0.00035280001,
                        "amount": 1746.9125
                    },
                    {
                        "price": 0.00035285999,
                        "amount": 750
                    },
                    {
                        "price": 0.00035307999,
                        "amount": 564.5896
                    },
                    {
                        "price": 0.00035282999,
                        "amount": 33.59
                    },
                    {
                        "price": 0.00035320001,
                        "amount": 564.53064
                    },
                    {
                        "price": 0.00035297999,
                        "amount": 278.89999
                    },
                    {
                        "price": 0.00035325999,
                        "amount": 993.32196
                    },
                    {
                        "price": 0.00035327999,
                        "amount": 145.94701
                    },
                    {
                        "price": 0.00035329,
                        "amount": 145.93811
                    },
                    {
                        "price": 0.00035309,
                        "amount": 564.65039
                    },
                    {
                        "price": 0.00035337999,
                        "amount": 145.92632
                    },
                    {
                        "price": 0.00035339,
                        "amount": 145.68997
                    },
                    {
                        "price": 0.00035330001,
                        "amount": 417.10001
                    },
                    {
                        "price": 0.00035344,
                        "amount": 145.72464
                    },
                    {
                        "price": 0.00035349,
                        "amount": 145.70616
                    },
                    {
                        "price": 0.00035341,
                        "amount": 564.65039
                    },
                    {
                        "price": 0.00035352001,
                        "amount": 564.58765
                    },
                    {
                        "price": 0.00035352999,
                        "amount": 145.93222
                    },
                    {
                        "price": 0.00035354,
                        "amount": 145.94043
                    },
                    {
                        "price": 0.00035355001,
                        "amount": 145.74513
                    },
                    {
                        "price": 0.00035346,
                        "amount": 564.70898
                    },
                    {
                        "price": 0.00035357001,
                        "amount": 564.65039
                    },
                    {
                        "price": 0.00035376,
                        "amount": 711.70001
                    },
                    {
                        "price": 0.00035273001,
                        "amount": 350
                    },
                    {
                        "price": 0.00035382999,
                        "amount": 18.629471
                    },
                    {
                        "price": 0.00035384999,
                        "amount": 1006.2
                    },
                    {
                        "price": 0.00035279,
                        "amount": 5052.6113
                    },
                    {
                        "price": 0.00035389999,
                        "amount": 18.61434
                    },
                    {
                        "price": 0.00035392001,
                        "amount": 48
                    },
                    {
                        "price": 0.00035387001,
                        "amount": 18.635611
                    },
                    {
                        "price": 0.00035392999,
                        "amount": 878.79999
                    },
                    {
                        "price": 0.00035394001,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035394999,
                        "amount": 18.595854
                    },
                    {
                        "price": 0.00035396,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035406,
                        "amount": 18.566944
                    },
                    {
                        "price": 0.00035397001,
                        "amount": 154.90625
                    },
                    {
                        "price": 0.00035412001,
                        "amount": 202.60516
                    },
                    {
                        "price": 0.00035409001,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035449999,
                        "amount": 27.52648
                    },
                    {
                        "price": 0.00035409999,
                        "amount": 202.60516
                    },
                    {
                        "price": 0.00035451,
                        "amount": 86.485138
                    },
                    {
                        "price": 0.00035411,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035397999,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035399001,
                        "amount": 221.17233
                    },
                    {
                        "price": 0.00035399999,
                        "amount": 18.576475
                    },
                    {
                        "price": 0.00035401,
                        "amount": 202.60516
                    },
                    {
                        "price": 0.00035402001,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035456999,
                        "amount": 1700
                    },
                    {
                        "price": 0.00035402999,
                        "amount": 422.80368
                    },
                    {
                        "price": 0.00035404001,
                        "amount": 202.60516
                    }
                ]
            }
        }
    }
    

    Get current Order Book snapshot of an asset pair in a given exchange.

    HTTP Request

    GET /v1/order-book/{symbol_id}/snapshot

    URL Parameters
    Variable Type Description
    symbol_id string Our symbol identifier, see table below for format description.
    Output Variables
    Variables Description
    timestamp Time of snapshot generation reported by exchange
    exchange_id Our identifier (UID) of the exchange where symbol is traded.
    base_asset Our identifier (UID) of the base asset. (_id attribute from assets endpoint)
    quote_asset Our identifier (UID) of the quote asset. (_id attribute from assets endpoint)
    symbol Exchange symbol identifier.
    symbol_id Our symbol identifier, see table below for format description.
    depth Depth of exchange for Book Snapshot level of 50
    bids Latest 50 bid levels in order from best to worst
    asks Latest 50 ask levels in order from best to worst
    price Price of the bid/ask
    amount Available amount of base to quote asset at the given price
    Symbol identifier

    String representation pattern of a symbol based on exchange, exchange type, base asset and quote asset

    Type Pattern
    SPOT {symbol_id}_SPOT_{baseAsset}_{quoteAsset} (e.g. BITFINEX_SPOT_BTC_USD)