Get assets
curl --request GET \
--url https://api.messari.io/metrics/v2/assets \
--header 'X-Messari-API-Key: <api-key>'import requests
url = "https://api.messari.io/metrics/v2/assets"
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', 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",
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"
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")
.header("X-Messari-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.messari.io/metrics/v2/assets")
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",
"sectorV2": [
"Networks"
],
"subSectorV2": [
"Layer-1"
],
"tags": [
"Proof-of-Work"
],
"rank": 1,
"firstPriceAt": "2010-07-21T23:00:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "21c795f5-1bfd-40c3-858e-e9d7e820c6d0",
"name": "Ethereum",
"slug": "ethereum",
"symbol": "ETH",
"category": "Networks",
"sector": "Smart Contract Platform",
"sectorV2": [
"Networks"
],
"subSectorV2": [
"Layer-1"
],
"tags": [
"EVM",
"Proof-of-Stake",
"Stakeable"
],
"rank": 2,
"firstPriceAt": "2015-08-07T17:15:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "51f8ea5e-f426-4f40-939a-db7e05495374",
"name": "Tether",
"slug": "tether",
"symbol": "USDT",
"category": "Cryptocurrency",
"sector": "Stablecoins",
"sectorV2": [
"CeFi",
"Stablecoins"
],
"subSectorV2": [
"Fiat-backed Stablecoin",
"U.S. Dollar Stablecoin",
"Centralized Issuer"
],
"tags": [
"Centralized Issuer",
"U.S. Dollar Stablecoin"
],
"rank": 3,
"firstPriceAt": "2013-12-27T19:05:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": false,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "97775be0-2608-4720-b7af-f85b24c7eb2d",
"name": "XRP",
"slug": "xrp",
"symbol": "XRP",
"category": "Financial Services",
"sector": "Payments",
"sectorV2": [
"CeFi",
"Networks"
],
"subSectorV2": [
"Centralized Payments",
"Layer-1"
],
"tags": [
"SEC Alleged Securities"
],
"rank": 4,
"firstPriceAt": "2015-01-26T08:25:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "7dc551ba-cfed-4437-a027-386044415e3e",
"name": "BNB",
"slug": "binance-coin",
"symbol": "BNB",
"category": "Networks",
"sector": "Smart Contract Platform",
"sectorV2": [
"Others",
"CeFi",
"Networks"
],
"subSectorV2": [
"SEC Alleged Securities",
"Centralized Exchange",
"Layer-1"
],
"tags": [
"CeFi",
"Centralized Exchange",
"Cosmos SDK",
"EVM",
"SEC Alleged Securities"
],
"rank": 5,
"firstPriceAt": "2017-07-14T04:00:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
}
],
"metadata": {
"pageSize": 3,
"page": 1,
"totalRows": 39893,
"totalPages": 13298
}
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}Assets & Market Data (included with Enterprise)
List Assets
Returns ALL assets that match the filter criteria along with their coverage.
GET
/
metrics
/
v2
/
assets
Get assets
curl --request GET \
--url https://api.messari.io/metrics/v2/assets \
--header 'X-Messari-API-Key: <api-key>'import requests
url = "https://api.messari.io/metrics/v2/assets"
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', 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",
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"
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")
.header("X-Messari-API-Key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.messari.io/metrics/v2/assets")
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",
"sectorV2": [
"Networks"
],
"subSectorV2": [
"Layer-1"
],
"tags": [
"Proof-of-Work"
],
"rank": 1,
"firstPriceAt": "2010-07-21T23:00:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "21c795f5-1bfd-40c3-858e-e9d7e820c6d0",
"name": "Ethereum",
"slug": "ethereum",
"symbol": "ETH",
"category": "Networks",
"sector": "Smart Contract Platform",
"sectorV2": [
"Networks"
],
"subSectorV2": [
"Layer-1"
],
"tags": [
"EVM",
"Proof-of-Stake",
"Stakeable"
],
"rank": 2,
"firstPriceAt": "2015-08-07T17:15:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "51f8ea5e-f426-4f40-939a-db7e05495374",
"name": "Tether",
"slug": "tether",
"symbol": "USDT",
"category": "Cryptocurrency",
"sector": "Stablecoins",
"sectorV2": [
"CeFi",
"Stablecoins"
],
"subSectorV2": [
"Fiat-backed Stablecoin",
"U.S. Dollar Stablecoin",
"Centralized Issuer"
],
"tags": [
"Centralized Issuer",
"U.S. Dollar Stablecoin"
],
"rank": 3,
"firstPriceAt": "2013-12-27T19:05:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": false,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "97775be0-2608-4720-b7af-f85b24c7eb2d",
"name": "XRP",
"slug": "xrp",
"symbol": "XRP",
"category": "Financial Services",
"sector": "Payments",
"sectorV2": [
"CeFi",
"Networks"
],
"subSectorV2": [
"Centralized Payments",
"Layer-1"
],
"tags": [
"SEC Alleged Securities"
],
"rank": 4,
"firstPriceAt": "2015-01-26T08:25:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
},
{
"id": "7dc551ba-cfed-4437-a027-386044415e3e",
"name": "BNB",
"slug": "binance-coin",
"symbol": "BNB",
"category": "Networks",
"sector": "Smart Contract Platform",
"sectorV2": [
"Others",
"CeFi",
"Networks"
],
"subSectorV2": [
"SEC Alleged Securities",
"Centralized Exchange",
"Layer-1"
],
"tags": [
"CeFi",
"Centralized Exchange",
"Cosmos SDK",
"EVM",
"SEC Alleged Securities"
],
"rank": 5,
"firstPriceAt": "2017-07-14T04:00:00Z",
"hasDiligence": true,
"hasIntel": true,
"hasMarketData": true,
"hasNews": true,
"hasProposals": false,
"hasResearch": true,
"hasTokenUnlocks": true,
"hasFundraising": true,
"coveredByMonitoring": true
}
],
"metadata": {
"pageSize": 3,
"page": 1,
"totalRows": 39893,
"totalPages": 13298
}
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}{
"data": "<unknown>",
"error": "<string>"
}x402 Support: Supported.
See the x402 guide.
Authorizations
Query Parameters
Category
Sector
Search by name, symbol, slug, or contract address
Number of results per page
Example:
10
Page number (starts at 1)
Example:
1
Has Diligence
Has Intel
Filter to assets by market data coverage. True when Messari covers market data for the asset. Use it to scope a listing to the assets that carry price, volume and marketcap values. The firstPriceAt field reports when that price coverage starts.
Has News
Has Proposals
Has Research
Has Token Unlocks
Has Fundraising
Restrict to assets covered by Messari Monitoring (industry-events coverage)
Column to sort by (default: rank)
Available options:
name, symbol, slug, category, sector, rank Sort direction: asc or desc (default: asc)
Available options:
asc, desc ⌘I

