curl -s "https://data-svc.artemisxyz.com/supported-metrics/?symbol=aave&APIKey=$ARTEMIS_API_KEY"
import os
import requests
resp = requests.get(
"https://data-svc.artemisxyz.com/supported-metrics/",
params={"symbol": "aave", "APIKey": os.environ["ARTEMIS_API_KEY"]},
timeout=60,
)
resp.raise_for_status()
for entry in resp.json()["metrics"]:
name = next(iter(entry))
print(name, entry[name]["unit"], entry[name]["aggregation_type"])
const options = {method: 'GET'};
fetch('https://data-svc.artemisxyz.com/supported-metrics/?APIKey=', 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-svc.artemisxyz.com/supported-metrics/?APIKey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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-svc.artemisxyz.com/supported-metrics/?APIKey="
req, _ := http.NewRequest("GET", url, nil)
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-svc.artemisxyz.com/supported-metrics/?APIKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-svc.artemisxyz.com/supported-metrics/?APIKey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"metrics": [
{
"24H_VOLUME": {
"label": "Daily Token Trading Volume",
"tags": [
{
"label": "Market Data",
"value": "market_data"
}
],
"internal_data_source": "coingecko",
"aggregation_type": "SUM",
"unit": "CURRENCY",
"currency_type": null,
"description": "Token Trading Volume in the last 24 hours",
"base_metric": null,
"accepts_date": false,
"cuts": [
{
"granularity": "DAY",
"dimension_type": "TOTAL"
}
],
"thumbnail_url": null,
"source_link": null,
"source": "Source: Coingecko",
"methodology": null,
"earliest_fiscal_period": null,
"latest_fiscal_period": null,
"priority": null
}
},
{
"LENDING_DEPOSITS": {
"label": "Lending Deposits",
"tags": [
{
"label": "Economic Activity",
"value": "economic_activity"
}
],
"internal_data_source": "catalog",
"aggregation_type": "AVERAGE",
"unit": "CURRENCY",
"currency_type": null,
"description": "The total amount of tokens deposited (in USD) on a lending protocol",
"base_metric": null,
"accepts_date": true,
"cuts": [
{
"granularity": "DAY",
"dimension_type": "CHAIN"
},
{
"granularity": "DAY",
"dimension_type": "TOKEN_TYPE"
},
{
"granularity": "DAY",
"dimension_type": "VERSION"
},
{
"granularity": "DAY",
"dimension_type": "TOTAL"
}
],
"thumbnail_url": null,
"source_link": null,
"source": "Source: Artemis",
"methodology": "## Overview\n\nLENDING_DEPOSITS measures the total USD value of deposits (supplied liquidity) across all Aave lending markets. This metric tracks the total capital deposited by lenders into Aave protocols, representing the available liquidity that borrowers can access. For investors, this is a key indicator of protocol TVL, capital efficiency, and user trust in Aave's lending infrastructure.\n\n## Calculation Methodology\n\nThe metric aggregates daily deposit values across multiple Aave protocol versions and chains. Aave V2 is deployed on Ethereum, Avalanche, and Polygon. Aave V3 is deployed on Arbitrum, Avalanche, Base, BSC, Ethereum, Gnosis, Optimism, Polygon, Plasma, Linea, and Aptos. \n\nDeposits are tracked using RPC state calls to retrieve supply balances for each aToken (Aave's interest-bearing token representing deposits) across all reserve markets. The calculation uses `supply` values for each token market, converted to USD using `underlying_token_price`. The metric represents the cumulative net deposits (total supply) across all markets, calculated as the sum of `supply_usd` values aggregated by date.\n\nMulti-chain data is aggregated through a union of all chain-specific calculations, providing a protocol-wide view of total deposits across the Aave ecosystem.\n\n## Data Sources\n\n- RPC state calls (aToken supply balances from Aave pool contracts across all chains)\n- Hourly aggregate pricing data (token prices for USD conversion)\n- Decoded blockchain event logs (for transaction-level validation)\n\n---\n\n*Methodology generated by Artemis Analytics using Claude Sonnet 4.5.*",
"earliest_fiscal_period": null,
"latest_fiscal_period": null,
"priority": null
}
}
]
}List Supported Metrics
Returns the metrics available for one asset, with the metadata you need to query and interpret them.
Supply exactly one of symbol, chain, or application.
Each metric entry carries:
| Field | Why it matters |
|---|---|
label | Human-readable name. |
unit | CURRENCY, NOMINAL, or PERCENTAGE. |
aggregation_type | SUM, LAST, or AVERAGE. Governs how granularity rolls the series up. |
description / methodology | How the metric is calculated. |
cuts[] | Which dimensionType values are advertised for this metric. Confirm with a live call; a listed cut can still return an error. |
Pass the token symbol, not the artemis_id. ?symbol=uniswap returns 200 with an empty metrics array; the correct value is uni.
curl -s "https://data-svc.artemisxyz.com/supported-metrics/?symbol=aave&APIKey=$ARTEMIS_API_KEY"
import os
import requests
resp = requests.get(
"https://data-svc.artemisxyz.com/supported-metrics/",
params={"symbol": "aave", "APIKey": os.environ["ARTEMIS_API_KEY"]},
timeout=60,
)
resp.raise_for_status()
for entry in resp.json()["metrics"]:
name = next(iter(entry))
print(name, entry[name]["unit"], entry[name]["aggregation_type"])
const options = {method: 'GET'};
fetch('https://data-svc.artemisxyz.com/supported-metrics/?APIKey=', 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-svc.artemisxyz.com/supported-metrics/?APIKey=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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-svc.artemisxyz.com/supported-metrics/?APIKey="
req, _ := http.NewRequest("GET", url, nil)
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-svc.artemisxyz.com/supported-metrics/?APIKey=")
.asString();require 'uri'
require 'net/http'
url = URI("https://data-svc.artemisxyz.com/supported-metrics/?APIKey=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"metrics": [
{
"24H_VOLUME": {
"label": "Daily Token Trading Volume",
"tags": [
{
"label": "Market Data",
"value": "market_data"
}
],
"internal_data_source": "coingecko",
"aggregation_type": "SUM",
"unit": "CURRENCY",
"currency_type": null,
"description": "Token Trading Volume in the last 24 hours",
"base_metric": null,
"accepts_date": false,
"cuts": [
{
"granularity": "DAY",
"dimension_type": "TOTAL"
}
],
"thumbnail_url": null,
"source_link": null,
"source": "Source: Coingecko",
"methodology": null,
"earliest_fiscal_period": null,
"latest_fiscal_period": null,
"priority": null
}
},
{
"LENDING_DEPOSITS": {
"label": "Lending Deposits",
"tags": [
{
"label": "Economic Activity",
"value": "economic_activity"
}
],
"internal_data_source": "catalog",
"aggregation_type": "AVERAGE",
"unit": "CURRENCY",
"currency_type": null,
"description": "The total amount of tokens deposited (in USD) on a lending protocol",
"base_metric": null,
"accepts_date": true,
"cuts": [
{
"granularity": "DAY",
"dimension_type": "CHAIN"
},
{
"granularity": "DAY",
"dimension_type": "TOKEN_TYPE"
},
{
"granularity": "DAY",
"dimension_type": "VERSION"
},
{
"granularity": "DAY",
"dimension_type": "TOTAL"
}
],
"thumbnail_url": null,
"source_link": null,
"source": "Source: Artemis",
"methodology": "## Overview\n\nLENDING_DEPOSITS measures the total USD value of deposits (supplied liquidity) across all Aave lending markets. This metric tracks the total capital deposited by lenders into Aave protocols, representing the available liquidity that borrowers can access. For investors, this is a key indicator of protocol TVL, capital efficiency, and user trust in Aave's lending infrastructure.\n\n## Calculation Methodology\n\nThe metric aggregates daily deposit values across multiple Aave protocol versions and chains. Aave V2 is deployed on Ethereum, Avalanche, and Polygon. Aave V3 is deployed on Arbitrum, Avalanche, Base, BSC, Ethereum, Gnosis, Optimism, Polygon, Plasma, Linea, and Aptos. \n\nDeposits are tracked using RPC state calls to retrieve supply balances for each aToken (Aave's interest-bearing token representing deposits) across all reserve markets. The calculation uses `supply` values for each token market, converted to USD using `underlying_token_price`. The metric represents the cumulative net deposits (total supply) across all markets, calculated as the sum of `supply_usd` values aggregated by date.\n\nMulti-chain data is aggregated through a union of all chain-specific calculations, providing a protocol-wide view of total deposits across the Aave ecosystem.\n\n## Data Sources\n\n- RPC state calls (aToken supply balances from Aave pool contracts across all chains)\n- Hourly aggregate pricing data (token prices for USD conversion)\n- Decoded blockchain event logs (for transaction-level validation)\n\n---\n\n*Methodology generated by Artemis Analytics using Claude Sonnet 4.5.*",
"earliest_fiscal_period": null,
"latest_fiscal_period": null,
"priority": null
}
}
]
}Authorizations
Query Parameters
Asset symbol to get supported metrics for. Supply exactly one of symbol, chain, or application.
Chain identifier. An alternative to symbol when querying chain-level metrics. Supply exactly one of symbol, chain, or application.
Application identifier. An alternative to symbol when querying application-level metrics. Supply exactly one of symbol, chain, or application.
Response
Available metrics for the given symbol, chain, or application.
Show child attributes
Show child attributes
