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 |
List All Symbols by asset
Code samples
curl -X GET \
'https://api.cryptoapis.io/v1/mappings/asset/5b1ea92e584bf50020130612' \
-H 'Content-Type: authorization/json' \
-H 'X-API-Key: my-api-key'
GET https://api.cryptoapis.io/v1/mappings/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/mappings/asset/5b1ea92e584bf50020130612').then(function(d) {console.log(d)});
const https = require('https');
var options = {
"method": "GET",
"hostname": "https://api.cryptoapis.io",
"path": "/v1/mappings/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/mappings/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/mappings/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/mappings/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/mappings/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").
SetHeadeer("X-API-Key", "my-api-key").
Get("https://api.cryptoapis.io/v1/mappings/asset/5b1ea92e584bf50020130612")
}
Response Body
{
"meta": {
"totalCount": 100,
"index": 0,
"limit": 50,
"results": 50
},
"payload": [
{
"exchangeId": "5b1ea9d21090c200146f7363",
"exchangeSymbol": "BTC-USD",
"baseAsset": "5b1ea92e584bf50020130612",
"quoteAsset": "5b1ea92e584bf50020130615",
"tradeType": "SPOT",
"_id": "5b7add17b2fc9a000157cc0b",
"detailsUpdatedTime": 1573228086,
"price": 8811.78,
"volume": 24968282,
"volumePercentage": 0.11
},
....
{
"exchangeId": "5b1ea9d21090c200146f7363",
"exchangeSymbol": "BCH-BTC",
"baseAsset": "5b1ea92e584bf5002013061c",
"quoteAsset": "5b1ea92e584bf50020130612",
"tradeType": "SPOT",
"_id": "5b7add17b2fc9a000157cc0c",
"detailsUpdatedTime": 1573229216,
"price": 8815.00,
"volume": 371967802,
"volumePercentage": 1.58
}
]
}
Get a detailed list of all symbol mappings containing the given asset.
HTTP Request
GET /v1/mappings/asset/5b1ea92e584bf50020130612?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) |
detailsUpdatedTime | Time of the last volume and price update in timestamp |
price | Average traded price of the asset in the symbol for the last 24 hours |
volume | Total traded volume in USD of the symbol for the last 24 hours |
volumePercentage | Percentage of the total traded volume of the asset for this symbol |
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+"
},
"takerFee" : 0.25,
"makerFee" : 0.25
},
...
{
"exchangeId": "BITFINEX",
"name": "Bitfinex",
"website": "https://www.bitfinex.com/",
"_id": "5b4366dab98b280001540e18",
"logo" : {
"mimeType" : "image/svg+xml",
"imageData" : "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+Cjxzdmcgd2lkdGg9Ijg5M3B4IiBoZWlnaHQ9IjEwM3B4IiB2aWV3Qm94PSIwIDAgODkzIDEwMyIgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KICAgIDwhLS0gR2VuZXJhdG9yOiBTa2V0Y2ggMy42LjEgKDI2MzEzKSAtIGh0dHA6Ly93d3cuYm9oZW1pYW5jb2RpbmcuY29tL3NrZXRjaCAtLT4KICAgIDx0aXRsZT5sb2dvPC90aXRsZT4KICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPgogICAgPGRlZnMvPgogICAgPGcgaWQ9IlBhZ2UtMSIgc3Ryb2tlPSJub25lIiBzdHJva2Utd2lkdGg9IjEiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPGcgaWQ9ImxvZ28iIHRyYW5zZm9ybT0idHJhbnNsYXRlKC0xMjkuMzk1ODExLCAtOTM2LjAwMDAwMCkiPgogICAgICAgICAgICA8ZyBpZD0ibG9nby13LWJnLW9uLWRhcmsiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDAuMDAwMDAwLCA4NDkuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICA8ZyBpZD0ibG9nbyIgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTMwLjAwMDAwMCwgODcuMDAwMDAwKSI+CiAgICAgICAgICAgICAgICAgICAgPHBhdGggZD0iTTc5MS45MzU5MzcsODguNDEzNTI0MyBDNzk2LjczMTMzMSw5My40OTE4Mjc4IDgyMy4wNzA3NzQsMTE3LjgzMTUyNyA4NjQuNDEzNjU2LDg5LjU4MzQwMjkgQzg5NC4zMDg4MDEsNjYuMzAyMDMxIDg5My41NjE5NDQsMTUuODI2OTY4NiA4OTAuNjkwMDMxLDAuNTg0NDM5NDA2IEM4ODkuNjg5NTQ5LDIuODAyNzM3NjQgODU0Ljk2NTQyNyw3OC44NDM3ODU5IDc5MS45MzU5MzcsODguNDEzNTI0MyBaIE04OTAuNjg2MDA4LDAuNTcxNTM3OTM3IEM4OTAuMzE5ODI4LDAuNDIwMjcxMDI3IDg1MS44NTgzMzksLTQuODIzNDQ0MzkgODEzLjgzNjAxNiwxOS42NjU4NzA1IEM3OTAuMjI1NDIyLDM0Ljg3MjkxNzIgNzg3LjEwNDM5NSw1Ny4xMzAwODM2IDc4OC4xODE2NTEsNzEuOTYwOTc2OCBDODQzLjQ1NDc0Nyw2NS43NzU2MjA0IDg4OS40MzIxOSwyLjMxNTM2OTIgODkwLjY4NjAwOCwwLjU3MTUzNzkzNyBaIiBpZD0iUGF0aC0xLUNvcHktOSIgZmlsbD0iIzk3QzU1NCIvPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik04OTAuNjg2MDA4LDAuNTcxNTM3OTM3IEM4OTAuMzE5ODI4LDAuNDIwMjcxMDI3IDg1MS44NTgzMzksLTQuODIzNDQ0MzkgODEzLjgzNjAxNiwxOS42NjU4NzA1IEM3OTAuMjI1NDIyLDM0Ljg3MjkxNzIgNzg3LjEwNDM5NSw1Ny4xMzAwODM2IDc4OC4xODE2NTEsNzEuOTYwOTc2OCBDODQzLjQ1NDc0Nyw2NS43NzU2MjA0IDg4OS40MzIxOSwyLjMxNTM2OTIgODkwLjY4NjAwOCwwLjU3MTUzNzkzNyBaIiBpZD0iUGF0aC0xLUNvcHktOCIgZmlsbD0iIzcwOUIzMCIvPgogICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9Ik02MS42NTksODUuNDQ1IEwxOC42MDMsODUuNDQ1IEwxOC42MDMsNjIuNTEzIEw2MS42NTksNjIuNTEzIEM3Mi40MjMsNjIuNTEzIDc3LjkyMiw2Ny42NjEgNzcuOTIyLDc0LjMzIEM3Ny45MjIsODAuNzY1IDcyLjU0LDg1LjQ0NSA2MS42NTksODUuNDQ1IEw2MS42NTksODUuNDQ1IFogTTYwLjI1NSw1MC4yMjggTDE4LjYwMyw1MC4yMjggTDE4LjYwMywzMC45MjMgTDYwLjI1NSwzMC45MjMgQzcxLjYwNCwzMC45MjMgNzYuMDUsMzQuOTAxIDc2LjA1LDQwLjQgQzc2LjA1LDQ1LjQzMSA3MC45MDIsNTAuMjI4IDYwLjI1NSw1MC4yMjggTDYwLjI1NSw1MC4yMjggWiBNNzEuMjUzLDU2LjA3OCBDODkuMzg4LDU1LjQ5MyA5NS45NCw0Ni40ODQgOTUuOTQsMzYuNjU2IEM5NS45NCwyNS44OTIgODcuMzk5LDE3IDY2LjU3MywxNyBMMCwxNyBMMCw5OS4xMzQgTDY4LjU2Miw5OS4xMzQgQzg1LjY0NCw5OS4xMzQgOTguMzk3LDkxLjk5NyA5OC4zOTcsNzYuNjcgQzk4LjM5Nyw2NS43ODkgOTEuMjYsNTYuNTQ2IDcxLjI1Myw1Ni4wNzggTDcxLjI1Myw1Ni4wNzggWiBNMTIwLjM2OSwxNyBMMTIwLjM2OSw5OS4xMzQgTDEzOC45NzIsOTkuMTM0IEwxMzguOTcyLDE3IEwxMjAuMzY5LDE3IFogTTIxNC40MTI5OTksMzIuNTYxIEwyNTUuMzYyOTk5LDMyLjU2MSBMMjU1LjM2Mjk5OSwxNyBMMTU0Ljg1OTk5OSwxNyBMMTU0Ljg1OTk5OSwzMi41NjEgTDE5NS44MDk5OTksMzIuNTYxIEwxOTUuODA5OTk5LDk5LjEzNCBMMjE0LjQxMjk5OSw5OS4xMzQgTDIxNC40MTI5OTksMzIuNTYxIFogTTI3MS4yNTA5OTksMTcgTDI3MS4yNTA5OTksOTkuMTM0IEwyODkuODUzOTk5LDk5LjEzNCBMMjg5Ljg1Mzk5OSw2Ny4wNzYgTDMzMy40OTQ5OTksNjcuMDc2IEwzMzMuNDk0OTk5LDUzLjYyMSBMMjg5Ljg1Mzk5OSw1My42MjEgTDI4OS44NTM5OTksMzEuMTU3IEwzNjAuNzU1OTk5LDMxLjE1NyBMMzYwLjc1NTk5OSwxNyBMMjcxLjI1MDk5OSwxNyBaIE0zNzUuODI0OTk4LDE3IEwzNzUuODI0OTk4LDk5LjEzNCBMMzk0LjQyNzk5OCw5OS4xMzQgTDM5NC40Mjc5OTgsMTcgTDM3NS44MjQ5OTgsMTcgWiBNNDM4LjA0NDk5OCwzNy4wMDcgTDQ5OS43MDM5OTgsOTkuMTM0IEw1MjAuNzYzOTk4LDk5LjEzNCBMNTIwLjc2Mzk5OCwxNyBMNTAyLjM5NDk5OCwxNyBMNTAyLjM5NDk5OCw3Ni4yMDIgTDQ0My4xOTI5OTgsMTcgTDQxOS41NTg5OTgsMTcgTDQxOS41NTg5OTgsOTkuMTM0IEw0MzguMDQ0OTk4LDk5LjEzNCBMNDM4LjA0NDk5OCwzNy4wMDcgWiBNNTQ1Ljg5NDk5OCwxNyBMNTQ1Ljg5NDk5OCw5OS4xMzQgTDYzNi45MjA5OTgsOTkuMTM0IEw2MzYuOTIwOTk4LDg1LjMyOCBMNTY0LjQ5Nzk5OCw4NS4zMjggTDU2NC40OTc5OTgsNjIuNzQ3IEw2MDcuOTA0OTk4LDYyLjc0NyBMNjA3LjkwNDk5OCw0OS45OTQgTDU2NC40OTc5OTgsNDkuOTk0IEw1NjQuNDk3OTk4LDMxLjE1NyBMNjM2LjkyMDk5OCwzMS4xNTcgTDYzNi45MjA5OTgsMTcgTDU0NS44OTQ5OTgsMTcgWiBNNzYxLjUwMTk5NywxNyBMNzM2LjkzMTk5NywxNyBMNzA1LjU3NTk5Nyw0NS44OTkgTDY3NC40NTM5OTcsMTcgTDY0OS41MzI5OTcsMTcgTDY5My4yOTA5OTcsNTcuNDgyIEw2NDcuODk0OTk3LDk5LjEzNCBMNjcyLjQ2NDk5Nyw5OS4xMzQgTDcwNS4zNDE5OTcsNjguODMxIEw3MzguMTAxOTk3LDk5LjEzNCBMNzYzLjEzOTk5Nyw5OS4xMzQgTDcxNy42MjY5OTcsNTcuMzY1IEw3NjEuNTAxOTk3LDE3IFoiIGlkPSJCSVRGSU5FWC1Db3B5LTMiIGZpbGw9IiNEREREREQiLz4KICAgICAgICAgICAgICAgIDwvZz4KICAgICAgICAgICAgPC9nPgogICAgICAgIDwvZz4KICAgIDwvZz4KPC9zdmc+"
},
"takerFee" : 0.1,
"makerFee" : 0.2
}
]
}
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. |
takerFee | Fee paid by the customer for removing liquidity from the exchange order book by placing any order that is executed against an order on the order book |
makerFee | Fee paid by the customer for adding liquidity to the exchange order book by placing a limit order below the ticker price for buy, and above the ticker price for sell |
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+"
},
"takerFee" : 0.25,
"makerFee" : 0.25
}
}
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. |
takerFee | Fee paid by the customer for removing liquidity from the exchange order book by placing any order that is executed against an order on the order book |
makerFee | Fee paid by the customer for adding liquidity to the exchange order book by placing a limit order below the ticker price for buy, and above the ticker price for sell |
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 |
maxSupply | approximate maximum amount of coins that will ever exist. Applicable only for currencies of type crypto |
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 |
maxSupply | approximate maximum amount of coins that will ever exist. Applicable only for currencies of type crypto |
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,
"timestamp": 1543839205,
"datetime": "2018-12-03T12:13:25+0000"
"baseAsset": "5b1ea92e584bf50020130612",
"quoteAsset": "5b1ea92e584bf50020130615",
"amount": 3567.963
}
}
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 |
datetime | String date representation of the market data used to calculate exchange rate in ISO 8601 format standard |
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 |
amount | The traded amount of base asset used to calculate the price |
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": {
"index": 0,
"limit": 34,
"results": 34
},
"payload": [
{
"baseAsset": "5b1ea92e584bf50020130615",
"quoteAsset": "5b1ea92e584bf50020130612",
"weightedAveragePrice": 0.00025063981680473099,
"timestamp": 1543839501,
"datetime": "2018-12-03T12:18:21+0000"
},
....
{
"baseAsset": "5b1ea92e584bf50020130615",
"quoteAsset": "5b1ea92e584bf50020130613",
"weightedAveragePrice": 6.8903065749863579,
"timestamp": 1543839501,
"datetime": "2018-12-03T12:18:21+0000"
},
]
}
Get the current exchange rate between requested asset and all other assets.
HTTP Request
GET /v1/exchange-rates/{baseAssetId}?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. |
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 |
datetime | String date representation of the market data used to calculate exchange rate in ISO 8601 format standard |
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 |
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();
<?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,
"exchangeId": "5b4366dab98b280001540e16",
"timestamp": 1543839205,
"datetime": "2018-12-03T12:13:25+0000"
"baseAsset": "5b1ea92e584bf50020130615",
"quoteAsset": "5b1ea92e584bf50020130612",
"amount": 3567.963
}
}
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 |
datetime | String date representation of the market data used to calculate exchange rate in ISO 8601 format standard |
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 |
exchangeId | Our exchange identifier |
amount | The traded amount of base asset in the specified exchange used to calculate the price |
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();
<?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": {
"index": 0,
"limit": 34,
"results": 34
},
"payload": [
{
"baseAsset": "5b1ea92e584bf50020130615",
"quoteAsset": "5b1ea92e584bf50020130612",
"weightedAveragePrice": 0.00025063981680473099,
"exchangeId": "5b4366dab98b280001540e16",
"timestamp": 1543839501,
"datetime": "2018-12-03T12:18:21+0000"
},
....
{
"baseAsset": "5b1ea92e584bf50020130615",
"quoteAsset": "5b1ea92e584bf50020130613",
"weightedAveragePrice": 6.8903065749863579,
"exchangeId": "5b4366dab98b280001540e16",
"timestamp": 1543839501,
"datetime": "2018-12-03T12:18:21+0000"
},
]
}
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}
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. |
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 |
datetime | String date representation of the market data used to calculate exchange rate in ISO 8601 format standard |
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 |
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": "1min",
"lengthInSeconds": 60,
"lengthInMonths": 0,
"unitCount": 1,
"unitName": "minute",
"displayName": "1 Minute"
},
....
{
"period": "1day",
"lengthInSeconds": 86400,
"lengthInMonths": 0,
"unitCount": 1,
"unitName": "day",
"displayName": "1 Day"
}
]
}
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 |
---|---|
Minute | 1min, 5min, 30min |
Hour | 1hrs, 4hrs |
Day | 1day |
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) |
Latest Data By Exchange And Asset
Sample Data
curl -X GET \
'https://api.cryptoapis.io/v1/ohlcv/latest/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200' \
-H 'Content-Type: application/json' \
-H 'X-API-Key: my-api-key'
GET https://api.cryptoapis.io/v1/ohlcv/latest/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200 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/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200').then(function(d) {console.log(d)});
const https = require('https');
var options = {
"method": "GET",
"hostname": "https://api.cryptoapis.io",
"path": "/v1/ohlcv/latest/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200",
"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/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200');
$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/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200")
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/latest/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200'
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/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200")
.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/by-exchange-and-asset/5d6f99b44ef38700015ac2a4/5d6f99c9e391c800013edadf/?period=1day&timePeriodStart=1580860800&timePeriodEnd=1580947200")
}
Response Body
{
"meta": {
"totalCount": 6,
"index": 0,
"limit": 50,
"results": 6
},
"payload": [
{
"_id": "5e3a75992b81069eb8e3e0a8",
"exchange": "5d6f99b44ef38700015ac2a4",
"eventType": "SPOT",
"assetBase": "5d6f99c9e391c800013edadf",
"assetQuote": "5d6f99c9e391c800013edad2",
"timePeriodStart": 1580860800,
"timePeriodEnd": 1580947200,
"timeOpen": 1580885084,
"timeClose": 1580890054,
"priceOpen": 0.001365,
"priceClose": 0.001368,
"priceLow": 0.001359,
"priceHigh": 0.00137,
"volumeTraded": 14128.81,
"tradesCount": 841
},
....
{
"_id": "5e3a75cd2b81069eb8e476fd",
"exchange": "5d6f99b44ef38700015ac2a4",
"eventType": "SPOT",
"assetBase": "5d6f99c9e391c800013edadf",
"assetQuote": "5d6f99c9e391c800013eddb1",
"timePeriodStart": 1580860800,
"timePeriodEnd": 1580947200,
"timeOpen": 1580885554,
"timeClose": 1580889874,
"priceOpen": 12.583,
"priceClose": 12.607,
"priceLow": 12.583,
"priceHigh": 12.631,
"volumeTraded": 892.3790000000001,
"tradesCount": 20
}
]
}
Get OHLCV latest time-series data for requested exchange, asset and period, returned in time descending order.
HTTP Request
GET /v1/ohlcv/latest/by-exchange-and-asset/{exchange_id}/{asset_id}?period={period_id}&timePeriodStart={time_start}&timePeriodEnd={time_end}&skip={skip}&limit={limit}
URL Parameters
Variable | Type | Description |
---|---|---|
exchange_id | string | Our identifier (UID) of the exchange where symbol is traded. |
asset_id | string | Our identifier (UID) of the asset. (_id attribute from assets endpoint) |
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 |
---|---|
_id | Unique exchange identification string (UID) |
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 |
Historical Data By Exchange
Sample Data
curl -X GET \
'https://api.cryptoapis.io/v1/ohlcv/history/by-exchange/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/by-exchange/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/by-exchange/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/by-exchange/5d6f99b44ef38700015ac2a4?period=10min&timePeriodStart=1580884800&timePeriodEnd=1580885400",
"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/by-exchange/5d6f99b44ef38700015ac2a4?period=10min&timePeriodStart=1580884800&timePeriodEnd=1580885400');
$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/by-exchange/5d6f99b44ef38700015ac2a4?period=10min&timePeriodStart=1580884800&timePeriodEnd=1580885400")
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/by-exchange/5d6f99b44ef38700015ac2a4?period=10min&timePeriodStart=1580884800&timePeriodEnd=1580885400'
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/by-exchange/5d6f99b44ef38700015ac2a4?period=10min&timePeriodStart=1580884800&timePeriodEnd=1580885400")
.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/by-exchange/5d6f99b44ef38700015ac2a4?period=10min&timePeriodStart=1580884800&timePeriodEnd=1580885400")
}
Response Body
{
"meta": {
"totalCount": 303,
"index": 0,
"limit": 50,
"results": 50
},
"payload": [
{
"_id": "5e3a75972b81069eb8e3c6f8",
"exchange": "5d6f99b44ef38700015ac2a4",
"eventType": "SPOT",
"assetBase": "5d6f99c9e391c800013edae8",
"assetQuote": "5d6f99c9e391c800013edad2",
"timePeriodStart": 1580884800,
"timePeriodEnd": 1580885400,
"timeOpen": 1580885081,
"timeClose": 1580885314,
"priceOpen": 0.0002515,
"priceClose": 0.0002515,
"priceLow": 0.0002513,
"priceHigh": 0.0002519,
"volumeTraded": 3944.61,
"tradesCount": 54
},
...
{
"_id": "5e3a75992b81069eb8e3de42",
"exchange": "5d6f99b44ef38700015ac2a4",
"eventType": "SPOT",
"assetBase": "5d6f99cbe391c800013eef78",
"assetQuote": "5d6f99c9e391c800013edad7",
"timePeriodStart": 1580884800,
"timePeriodEnd": 1580885400,
"timeOpen": 1580885089,
"timeClose": 1580885397,
"priceOpen": 0.04129,
"priceClose": 0.04134,
"priceLow": 0.04129,
"priceHigh": 0.04141,
"volumeTraded": 174280.2,
"tradesCount": 26
}
]
}
Get OHLCV historical data for requested exchange and period, returned in time ascending order.
HTTP Request
GET /v1/ohlcv/history/by-exchange/{exchange_id}?period={period_id}&timePeriodStart={time_start}&timePeriodEnd={time_end}&skip={skip}&limit={limit}
URL Parameters
Variable | Type | Description |
---|---|---|
exchange_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) |