Get Crypto Market Metrics Time Series Data
curl --request GET \
--url https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics \
--header 'X-API-Key: <api-key>'import requests
url = "https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"symbol": "AAPL",
"type": "MA_20",
"values": [
{
"date": "2024-01-01 12:00:00",
"metric_component": "UPPER",
"observed_at": 1672531200,
"value": 150.25
}
]
}
],
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}Crypto
Get Crypto Market Metrics Time Series Data
OpenAPI JSON Spec Retrieve time series data for various crypto market indicators, including technical and fundamental metrics.
Overview This endpoint provides market indicators for cryptocurrencies across different time intervals (1d, 1w, 1m). Indicators include technical analysis tools (MA, EMA, RSI, etc.) and crypto fundamentals (Market Cap, FDV, etc.).
Supported Indicators
- MARKET_CAP: Market capitalization
- FDV: Fully Diluted Valuation
- PRICE_CHANGE:
PRICE_CHANGE_1d,PRICE_CHANGE_1w,PRICE_CHANGE_1M,PRICE_CHANGE_3M,PRICE_CHANGE_6M,PRICE_CHANGE_ytd,PRICE_CHANGE_1y,PRICE_CHANGE_3y,PRICE_CHANGE_5y - MA:
MA_5,MA_10,MA_20,MA_60,MA_120,MA_200 - EMA:
EMA_5,EMA_10,EMA_20,EMA_60,EMA_120,EMA_200 - RSI:
RSI_14 - MACD single components:
MACD_DIF,MACD_DEA,MACD_HIST - MACD legacy multi-component:
MACD_12,26,9(returns DIF, DEA, and HIST series) - BOLLINGER single components:
BOLLINGER_UPPER,BOLLINGER_MID,BOLLINGER_LOWER - BOLLINGER legacy multi-component:
BOLLINGER_20,2(returns UPPER, MID, and LOWER series) - BETA:
BETA(default period isBTC_365; interval must be1d) - VOLATILITY:
VOLATILITY_20,VOLATILITY_60,VOLATILITY_90
Validation Rules
- Required Parameters: interval, indicator, start_time, end_time.
- Interval: Must be one of
1d,1w,1m. - Time Range:
start_timemust be less thanend_time. - All-symbols queries (
symbolomitted): the window may span at most 100 interval periods — 100 days for1d, 100 weeks for1w, 100 months for1m. A wider window returns 400INVALID_PARAMETER; pass asymbol, or walk the range one window at a time.
GET
/
v1
/
crypto
/
market-metrics
Get Crypto Market Metrics Time Series Data
curl --request GET \
--url https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics \
--header 'X-API-Key: <api-key>'import requests
url = "https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics")
.header("X-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-tools.prd.arrays.org/api/v1/crypto/market-metrics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"symbol": "AAPL",
"type": "MA_20",
"values": [
{
"date": "2024-01-01 12:00:00",
"metric_component": "UPPER",
"observed_at": 1672531200,
"value": 150.25
}
]
}
],
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}{
"data": "<unknown>",
"error": {
"code": "RESOURCE_NOT_FOUND",
"details": [
{
"field": "<string>",
"got": "<string>",
"reason": "<string>"
}
],
"docs_url": "<string>",
"examples": [
"<string>"
],
"hint": "<string>",
"message": "The requested resource was not found.",
"suggestions": [
"<string>"
]
},
"metadata": "<unknown>",
"pagination": "<unknown>",
"request_id": "<string>",
"success": true
}Authorizations
API Key authentication. Example: "your-api-key-here"
Query Parameters
Time interval
Available options:
1d, 1w, 1m Indicator type (e.g., MA_20, PRICE_CHANGE_1d, MARKET_CAP, FDV)
Token symbol (optional, e.g., BTC, ETH, SOL). Omit it to get every token, which caps the window at 100 interval periods.
Start time (Unix timestamp in seconds)
End time (Unix timestamp in seconds)

