About glassnode-cli
glassnode-cli is a command-line interface for querying the Glassnode API, for users working with on-chain and market metrics. It supports asset and metric discovery, filtered and bulk data retrieval, and JSON, CSV, or table output.
Key features
- 01List and describe assets
- 02Discover and describe metrics
- 03Fetch metric data by filters and time range
- 04Retrieve metrics for multiple assets
- 05JSON, CSV, and table output
- 06Configure API key and inspect credits
Use cases
- 01Check available Glassnode assets and metrics
- 02Fetch BTC metrics for a chosen period
- 03Retrieve one metric across several assets
- 04Export metric results to CSV or JSON
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ glassnode/ glassnode-cli --skill glassnode-cliAfter installing, type/glassnode-cliin Claude Code to confirm it loaded.
Details
From the project READMEGlassnode CLI (gn)
Command-line interface for the Glassnode API.
Setup
If the gn command is not available you need to install the CLI. See the Installation section in the README for install and setup options.
Quick start:
gn asset list
gn metric get market/price_usd_close --asset BTC --since 30d
Commands
List assets
gn asset list
gn asset list --filter "asset.semantic_tags.exists(tag,tag=='stablecoin')"
gn asset list --filter "asset.id=='BTC'"
# Prune to specific fields (returns array of objects)
gn asset list --prune id -o json
gn asset list -p id,symbol -o json
Describe an asset
gn asset describe BTC
List metrics
gn metric list
gn metric list --asset BTC
gn metric list -a BTC -e binance -i 24h
gn metric list --assets BTC --assets ETH
gn metric list --from-exchange binance --to-exchange coinbase
Filter by any metadata query parameters: --currency, --exchange, --interval, --from-exchange, --to-exchange, --miner, --maturity, --network, --period, --quote-symbol, or multiple --assets.
Describe a metric (discover valid parameters)
gn metric describe market/price_usd_close
gn metric describe market/price_usd_close --asset BTC
Fetch metric data
gn metric get market/price_usd_close --asset BTC --interval 24h
gn metric get market/price_usd_close --asset BTC --since 2024-01-01 --until 2024-02-01
gn metric get market/price_usd_close --asset BTC --since 30d
gn metric get indicators/sopr --asset BTC --interval 24h --since 30d
gn metric get distribution/balance_exchanges --asset BTC --exchange binance --currency usd
Bulk fetch (multiple assets)
Append /bulk to the metric path. Repeat -a (or --asset) for each asset, or use -a '*' for all:
gn metric get market/marketcap_usd/bulk -a BTC -a ETH -a SOL -s 1d
gn metric get market/marketcap_usd/bulk -a '*' --interval 24h --since 30d
API credit usage (gn user credits)
Shows the current API usage for the account.
gn user credits
Example JSON output:
{
"creditsLeft": integer,
"creditsPerMonth": integer,
"creditsUsed": integer
}
Config set / get
gn config set api-key=your-key
gn config set output=csv
gn config get api-key
gn config get all
Global Flags
| Flag | Short | Description |
|---|---|---|
--api-key | Glassnode API key | |
--output | -o | Output format: json (default), csv, table |
--dry-run | Print the request URL without executing | |
--timestamp-format | Timestamp format in output |
Best Practices
- Always call
gn metric describe <path>beforegn metric getto discover valid parameters, assets, exchanges, and intervals for a metric. - Use
--output json(default) for structured output suitable for piping tojq. - Use
--dry-runto preview the API request URL without executing:gn metric get market/price_usd_close --asset BTC --since 30d --dry-run. - For bulk metrics (path ending in
/bulk), use-awith specific assets or-a '*'for all. - Relative time values are supported for
--sinceand--until: e.g.30d,7d,1h.
Output Formats
--output json(default) — JSON, suitable forjqprocessing--output csv— CSV format, suitable for spreadsheets--output table— human-readable ASCII table
# Pipe JSON to jq
gn metric get market/price_usd_close -a BTC --since 7d | jq '.[].v'
# Export to CSV
gn metric get market/price_usd_close -a BTC --since 30d -o csv > prices.csv
# Quick look in the terminal
gn metric get market/price_usd_close -a BTC --since 7d -o table