Get asset ROI
curl --request GET \
--url https://api.messari.io/metrics/v2/assets/roi \
--header 'X-Messari-API-Key: <api-key>'import requests
url = "https://api.messari.io/metrics/v2/assets/roi"
headers = {"X-Messari-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Messari-API-Key': '<api-key>'}};
fetch('https://api.messari.io/metrics/v2/assets/roi', 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://api.messari.io/metrics/v2/assets/roi",
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-Messari-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://api.messari.io/metrics/v2/assets/roi"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Messari-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://api.messari.io/metrics/v2/assets/roi")
.header("X-Messari-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.messari.io/metrics/v2/assets/roi")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Messari-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": null,
"data": [
{
"id": "1e31218a-e44e-4285-820c-8282ee222035",
"name": "Bitcoin",
"slug": "bitcoin",
"symbol": "BTC",
"category": "Cryptocurrency",
"sector": "Cryptocurrency",
"tags": [
"Proof-of-Work"
],
"returnOnInvestment": {
"priceChange24h": 1.537031626038965,
"priceChange7d": -1.3831074354356603,
"priceChange30d": -6.80398769323561,
"priceChange1y": 55.79069548749654,
"priceChange3y": 434.7113533742335,
"priceChange5y": 695.8437840952291,
"priceChangeMTD": -3.9439734983016552,
"priceChangeQTD": -3.9439734983016552,
"priceChangeYTD": 17.281626402277535
}
},
{
"id": "21c795f5-1bfd-40c3-858e-e9d7e820c6d0",
"name": "Ethereum",
"slug": "ethereum",
"symbol": "ETH",
"category": "Networks",
"sector": "Smart Contract Platform",
"tags": [
"EVM",
"Proof-of-Stake",
"Stakeable"
],
"returnOnInvestment": {
"priceChange24h": 2.252255092690719,
"priceChange7d": -2.255033059081572,
"priceChange30d": -10.48746606148617,
"priceChange1y": 52.853257934702356,
"priceChange3y": 143.95766358327145,
"priceChange5y": 871.6158122354636,
"priceChangeMTD": -7.019368457253019,
"priceChangeQTD": -7.019368457253019,
"priceChangeYTD": 15.821645335568938
}
},
{
"id": "51f8ea5e-f426-4f40-939a-db7e05495374",
"name": "Tether",
"slug": "tether",
"symbol": "USDT",
"category": "Cryptocurrency",
"sector": "Stablecoins",
"tags": [
"Centralized Issuer",
"U.S. Dollar Stablecoin"
],
"returnOnInvestment": {
"priceChange24h": -0.027687408778266257,
"priceChange7d": -0.0536431135196321,
"priceChange30d": -0.048745418763862354,
"priceChange1y": 0.09077273967697991,
"priceChange3y": -0.027352763781944876,
"priceChange5y": -0.08315774803302182,
"priceChangeMTD": -0.04543658633011934,
"priceChangeQTD": -0.04543658633011934,
"priceChangeYTD": 0.1666539488012367
}
},
{
"id": "97775be0-2608-4720-b7af-f85b24c7eb2d",
"name": "XRP",
"slug": "xrp",
"symbol": "XRP",
"category": "Financial Services",
"sector": "Payments",
"tags": [
"SEC Alleged Securities"
],
"returnOnInvestment": {
"priceChange24h": 3.7347032168497254,
"priceChange7d": 0.3648094328253515,
"priceChange30d": -14.068210577680478,
"priceChange1y": 394.06682120746063,
"priceChange3y": 442.21723139526483,
"priceChange5y": 948.2245831219691,
"priceChangeMTD": -11.605099307029146,
"priceChangeQTD": -11.605099307029146,
"priceChangeYTD": 21.002401220819863
}
},
{
"id": "7dc551ba-cfed-4437-a027-386044415e3e",
"name": "BNB",
"slug": "binance-coin",
"symbol": "BNB",
"category": "Networks",
"sector": "Smart Contract Platform",
"tags": [
"CeFi",
"Centralized Exchange",
"Cosmos SDK",
"EVM",
"SEC Alleged Securities"
],
"returnOnInvestment": {
"priceChange24h": 1.5484646718786441,
"priceChange7d": -2.2243334855019703,
"priceChange30d": 6.452880922180116,
"priceChange1y": 88.74843123060649,
"priceChange3y": 235.09478240327354,
"priceChange5y": 3710.088490006521,
"priceChangeMTD": 7.701174310514627,
"priceChangeQTD": 7.701174310514627,
"priceChangeYTD": 55.055007541224064
}
}
]
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}Assets & Market Data (included with Enterprise)
Get ROIs
Retrieve a specific asset’s ROI
GET
/
metrics
/
v2
/
assets
/
roi
Get asset ROI
curl --request GET \
--url https://api.messari.io/metrics/v2/assets/roi \
--header 'X-Messari-API-Key: <api-key>'import requests
url = "https://api.messari.io/metrics/v2/assets/roi"
headers = {"X-Messari-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Messari-API-Key': '<api-key>'}};
fetch('https://api.messari.io/metrics/v2/assets/roi', 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://api.messari.io/metrics/v2/assets/roi",
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-Messari-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://api.messari.io/metrics/v2/assets/roi"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Messari-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://api.messari.io/metrics/v2/assets/roi")
.header("X-Messari-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.messari.io/metrics/v2/assets/roi")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Messari-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"error": null,
"data": [
{
"id": "1e31218a-e44e-4285-820c-8282ee222035",
"name": "Bitcoin",
"slug": "bitcoin",
"symbol": "BTC",
"category": "Cryptocurrency",
"sector": "Cryptocurrency",
"tags": [
"Proof-of-Work"
],
"returnOnInvestment": {
"priceChange24h": 1.537031626038965,
"priceChange7d": -1.3831074354356603,
"priceChange30d": -6.80398769323561,
"priceChange1y": 55.79069548749654,
"priceChange3y": 434.7113533742335,
"priceChange5y": 695.8437840952291,
"priceChangeMTD": -3.9439734983016552,
"priceChangeQTD": -3.9439734983016552,
"priceChangeYTD": 17.281626402277535
}
},
{
"id": "21c795f5-1bfd-40c3-858e-e9d7e820c6d0",
"name": "Ethereum",
"slug": "ethereum",
"symbol": "ETH",
"category": "Networks",
"sector": "Smart Contract Platform",
"tags": [
"EVM",
"Proof-of-Stake",
"Stakeable"
],
"returnOnInvestment": {
"priceChange24h": 2.252255092690719,
"priceChange7d": -2.255033059081572,
"priceChange30d": -10.48746606148617,
"priceChange1y": 52.853257934702356,
"priceChange3y": 143.95766358327145,
"priceChange5y": 871.6158122354636,
"priceChangeMTD": -7.019368457253019,
"priceChangeQTD": -7.019368457253019,
"priceChangeYTD": 15.821645335568938
}
},
{
"id": "51f8ea5e-f426-4f40-939a-db7e05495374",
"name": "Tether",
"slug": "tether",
"symbol": "USDT",
"category": "Cryptocurrency",
"sector": "Stablecoins",
"tags": [
"Centralized Issuer",
"U.S. Dollar Stablecoin"
],
"returnOnInvestment": {
"priceChange24h": -0.027687408778266257,
"priceChange7d": -0.0536431135196321,
"priceChange30d": -0.048745418763862354,
"priceChange1y": 0.09077273967697991,
"priceChange3y": -0.027352763781944876,
"priceChange5y": -0.08315774803302182,
"priceChangeMTD": -0.04543658633011934,
"priceChangeQTD": -0.04543658633011934,
"priceChangeYTD": 0.1666539488012367
}
},
{
"id": "97775be0-2608-4720-b7af-f85b24c7eb2d",
"name": "XRP",
"slug": "xrp",
"symbol": "XRP",
"category": "Financial Services",
"sector": "Payments",
"tags": [
"SEC Alleged Securities"
],
"returnOnInvestment": {
"priceChange24h": 3.7347032168497254,
"priceChange7d": 0.3648094328253515,
"priceChange30d": -14.068210577680478,
"priceChange1y": 394.06682120746063,
"priceChange3y": 442.21723139526483,
"priceChange5y": 948.2245831219691,
"priceChangeMTD": -11.605099307029146,
"priceChangeQTD": -11.605099307029146,
"priceChangeYTD": 21.002401220819863
}
},
{
"id": "7dc551ba-cfed-4437-a027-386044415e3e",
"name": "BNB",
"slug": "binance-coin",
"symbol": "BNB",
"category": "Networks",
"sector": "Smart Contract Platform",
"tags": [
"CeFi",
"Centralized Exchange",
"Cosmos SDK",
"EVM",
"SEC Alleged Securities"
],
"returnOnInvestment": {
"priceChange24h": 1.5484646718786441,
"priceChange7d": -2.2243334855019703,
"priceChange30d": 6.452880922180116,
"priceChange1y": 88.74843123060649,
"priceChange3y": 235.09478240327354,
"priceChange5y": 3710.088490006521,
"priceChangeMTD": 7.701174310514627,
"priceChangeQTD": 7.701174310514627,
"priceChangeYTD": 55.055007541224064
}
}
]
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}x402 Support: Supported.
See the x402 guide.
Authorizations
Query Parameters
Comma separated list of asset identifiers - accepts slugs (e.g. 'bitcoin') or UUIDs
Example:
"bitcoin,ethereum"
Filter By Category
Filter By Sector
Search by name, symbol, slug, or contract address
Limit
Page number (1-indexed)
Example:
1
Column to sort by (default: price-change-24h)
Available options:
name, slug, price-change-24h, price-change-7d, price-change-30d, price-change-1y, price-change-year-to-date, all-time-high, all-time-high-percent-down, breakeven-multiple, cycle-low-percent-up Sort direction: asc or desc (default: desc)
Available options:
asc, desc ⌘I

