Glassnode APIstudio.glassnode.com ↗
Access Glassnode Studio crypto analytics via API: on-chain fundamentals, supply dynamics, profit/loss metrics, futures data, and historical time-series for any asset.
What is the Glassnode API?
The Glassnode Studio API exposes 9 endpoints covering on-chain and market analytics for cryptocurrencies, including asset fundamentals, supply dynamics, futures data, and profit/loss metrics. The get_chart_metric endpoint returns timestamped historical values for any metric-asset combination, while get_market_overview_metrics delivers top movers, sector performance time-series, and market cap aggregates — all in structured JSON.
curl -X GET 'https://api.parse.bot/scraper/55179ab9-7322-4730-940a-2f93819045b1/get_assets_overview?asset_tag=bitcoin' \ -H 'X-API-Key: $PARSE_API_KEY'
Typed, relational, agent-ready
A generated client with real types, enums, and the links between objects — the structure a flat JSON response can't carry. Autocompletes in your editor and reads cleanly to coding agents.
- Fully typed · autocompletes
- Objects link to objects
- Typed errors & pagination
Typed Python client. Set up the SDK in your uv project, then pull this API’s typed client:
uv add parse-sdk uv run parse init uv run parse add --marketplace studio-glassnode-com-api
uv run parse add --marketplace pulls a pinned snapshot of this canonical API — it won’t change underneath you. To customize it, subscribe and swap to your own copy.
"""
Glassnode Studio API - Cryptocurrency Analytics
Fetch asset metrics, market overview, and historical chart data.
"""
from parse_apis.glassnode_studio_api import Glassnode, Interval
glassnode = Glassnode()
# List available asset categories
for category in glassnode.categories.list():
print(category.id, category.value)
# Fetch overview metrics for all assets
for asset in glassnode.assets.list_overview(asset_tag="bitcoin"):
print(asset.asset.name, asset.asset.asset_id)
for metric in asset.data:
print(metric.path, metric.latest, metric.change_24h)
# Search for assets by name
for result in glassnode.assets.search(query="ethereum"):
print(result.index, result.nb_hits)
for hit in result.hits:
print(hit.name, hit.symbol, hit.object_id)
# Fetch market summary
market = glassnode.markets.summary()
for mover in market.top_movers:
print(mover.asset_name, mover.asset_id, mover.value, mover.change)
# Fetch historical price data with interval enum
for point in glassnode.chartmetrics.list(asset="BTC", metric="market.PriceUsdClose", interval=Interval.ONE_DAY, limit=10):
print(point.t, point.v)
Fetch the paginated list of all cryptocurrencies from the Overview table. Returns asset info and core metrics (price, market cap, volume, open interest, funding rate). Each asset includes name, symbol, tags, and an array of metric data points with latest values and 7-day/24h changes. Optionally filter by asset category tag.
| Param | Type | Description |
|---|---|---|
| asset_tag | string | Filter by asset category tag. Use get_asset_categories to discover all available tags. |
{
"type": "object",
"fields": {
"assets": "array of asset objects with asset info (name, assetId, assetTags) and data array of metric data points"
},
"sample": {
"data": {
"assets": [
{
"data": [
{
"path": "/derivatives/futures_open_interest_sum",
"latest": 29654607312.07,
"change_7d": 0,
"values_7d": [],
"change_24h": -0.008,
"latest_timestamp": 1781132400
}
],
"asset": {
"name": "Bitcoin",
"assetId": "BTC",
"assetTags": [
"top",
"bitcoin"
]
},
"position": 1
}
]
},
"status": "success"
}
}About the Glassnode API
Asset-Level Analytics
Four endpoints cover different analytical dimensions of individual assets. get_assets_fundamentals returns transfer volume, transfer count, active addresses, and non-zero address counts. get_assets_profit_loss exposes cost basis, NUPL, SOPR, and realized profit/loss figures. get_assets_supply_dynamics covers circulating supply, active supply, dormancy, exchange netflows, and whale address counts. get_assets_futures surfaces open interest, funding rates, and liquidation data. All four accept an optional asset_tag parameter (e.g. bitcoin, defiToken, stablecoin, memeToken) to scope results to a category — use get_asset_categories to enumerate every valid tag with its pagination metadata.
Market Overview and Search
get_market_overview_metrics requires no inputs and returns a multi-part response: a topMovers array with per-asset change and value fields, market_cap_sum and spot_futures_sum time-series arrays, sectorPerformance time-series, and treemap/heatmap objects for spot volume and supply-profit distribution. search_assets accepts a query string (asset name or symbol) and returns hits across both an assets index and a charts/metrics index — useful for discovering valid metric codes before calling get_chart_metric.
Historical Time-Series
get_chart_metric is the lowest-level data endpoint. It accepts an asset symbol (e.g. BTC, ETH, SOL), a metric code in category.MetricName CamelCase format (e.g. market.PriceUsdClose, market.MarketcapUsd), and an interval value (10m, 1h, 24h, 1w, 1month). Each data point in the response contains a unix timestamp t and a numeric value v. If the metric code is invalid or not available for the specified asset and interval, the endpoint returns an upstream_error field rather than data.
Asset Discovery
get_assets_overview serves as a starting point: it returns the full paginated list of tracked assets with core metrics including price, market cap, volume, open interest, and funding rate. Combined with get_asset_categories, it gives a complete map of what assets and categories are available before drilling into any of the specialized endpoints.
The Glassnode API is a managed, monitored endpoint for studio.glassnode.com — not a raw scraper you maintain. Every endpoint is automatically health-checked on a schedule, and when studio.glassnode.com changes and a check fails, the API is automatically queued for repair and re-verified. It is built to keep working as the site underneath it changes.
This isn't an official studio.glassnode.com API — it's an independent, maintained REST wrapper over public data. Where the source has no official API (or only a limited one), Parse gives you a stable contract over a source that never promised one, and keeps it current. Need a new endpoint or field? You can revise it yourself in plain English and the agent rebuilds it against the live site in minutes — contributing the change back to the shared API is free.
Will this API break when the source site changes?+
Is this an official API from the source site?+
Can I fix or extend this API myself if I need a new endpoint or field?+
What happens if I call an endpoint that has an issue?+
- Monitor NUPL and SOPR trends across Bitcoin and Ethereum using
get_assets_profit_lossto identify macro market sentiment shifts. - Track whale address counts and exchange netflows via
get_assets_supply_dynamicsto detect accumulation or distribution phases. - Pull open interest and funding rate data from
get_assets_futuresfor a DeFi token watchlist to flag potential liquidation cascades. - Build a sector rotation dashboard using
sectorPerformancetime-series fromget_market_overview_metrics. - Look up valid metric codes with
search_assetsbefore queryingget_chart_metricfor high-resolution 10-minute price or on-chain data. - Filter the full asset list in
get_assets_overviewbystablecoinorlayer1Tokentags to build category-specific screeners. - Backtest on-chain indicators by fetching historical time-series at
1wor1monthintervals viaget_chart_metricfor multiple assets.
| Tier | Price | Credits/month | Rate limit |
|---|---|---|---|
| Free | $0/mo | 100 | 5 req/min |
| Hobby | $30/mo | 1,000 | 20 req/min |
| Developer | $100/mo | 5,000 | 100 req/min |
One credit = one API call regardless of which marketplace API you call. Exceeding the rate limit returns a 429 response. Authenticate with the X-API-Key header.
Does Glassnode have an official developer API?+
How does `get_chart_metric` handle invalid metric codes or unsupported asset-interval combinations?+
metric code is invalid or the requested metric is not available for the specified asset or interval, the endpoint returns an upstream_error field instead of a data array. Use search_assets to find valid metric codes before constructing a get_chart_metric call.Can I filter any of the asset list endpoints by a specific asset tag, and where do I find valid tags?+
get_assets_overview, get_assets_fundamentals, get_assets_profit_loss, get_assets_supply_dynamics, and get_assets_futures all accept an optional asset_tag parameter. Call get_asset_categories to retrieve the full list of valid tag IDs along with pagination metadata (page, pageSize, pageCount, total).Does the API expose individual wallet address balances or transaction-level on-chain data?+
Are exchange-specific breakdowns (e.g. netflows per exchange) available from `get_assets_supply_dynamics`?+
get_assets_supply_dynamics endpoint returns aggregate exchange netflow figures across assets rather than per-exchange breakdowns. Exchange-level granularity is not currently exposed. You can fork this API on Parse and revise it to add an endpoint covering per-exchange metrics.