A command-line interface for interacting with the Dune API — query data, manage visualizations, and build dashboards from your terminal.
curl -sSfL https://github.com/duneanalytics/cli/raw/main/install.sh | bash# Save your API key to ~/.config/dune/config.yaml
dune auth --api-key <key># Or run interactively (prompts for key)
dune auth
# Or set via environment variableexport DUNE_API_KEY=<key>The --api-key flag is available on all commands to override the stored key.
Manage and execute Dune queries.
| Command | Description |
|---|---|
query create --name <name> --sql <sql> [--description] [--private] [--temp] | Create a new saved query |
query get <query-id> | Get a saved query's details and SQL |
query update <query-id> [--name] [--sql] [--description] [--private] [--tags] | Update an existing query |
query archive <query-id> | Archive a saved query |
query run <query-id> [--param key=value] [--performance small|medium|large] [--limit] [--timeout] [--no-wait] | Execute a saved query and display results |
query run-sql --sql <sql> [--param key=value] [--performance small|medium|large] [--limit] [--timeout] [--no-wait] | Execute raw SQL directly |
Create and manage materialized views — query results persisted into a queryable table, optionally refreshed on a schedule.
| Command | Description |
|---|---|
matview create --name <name> --query-id <id> [--private] [--performance small|medium|large] [--cron <expr>] [--expires-at <RFC3339>] | Materialize a saved query into a table |
matview get <name> | Get a matview's metadata, size, and refresh schedule |
matview list [--limit] [--offset] [--all] | List the materialized views you own |
matview update <name> [--private] [--performance] [--cron <expr>] [--no-schedule] [--expires-at] | Update settings or the schedule (preserves the schedule unless changed) |
matview refresh <name> [--performance small|medium|large] | Trigger an on-demand refresh |
matview delete <name> | Permanently delete a matview and its schedule |
create takes a bare name (e.g. result_token_summary); get, update, refresh, and delete take the fully-qualified SQL name (e.g. dune.my_team.result_token_summary).
Manage query executions.
| Command | Description |
|---|---|
execution results <execution-id> [--limit] [--offset] [--timeout] [--no-wait] | Fetch results of a query execution |
Search the Dune dataset catalog.
| Command | Description |
|---|---|
dataset search [--query] [--categories] [--blockchains] [--schemas] [--dataset-types] [--owner-scope] [--include-private] [--include-schema] [--include-metadata] [--limit] [--offset] | Search for datasets |
dataset search-by-contract --contract-address <address> [--blockchains] [--include-schema] [--limit] [--offset] | Search for decoded tables by contract address |
Categories: canonical, decoded, spell, community
Create and manage visualizations on saved queries.
| Command | Description |
|---|---|
viz create --query-id <id> --name <name> --options <json> [--type chart|table|counter|...] | Create a visualization on a saved query |
viz get <visualization-id> | Get a visualization's details and options |
viz update <visualization-id> [--name] [--type] [--description] [--options] | Update an existing visualization |
viz delete <visualization-id> | Permanently delete a visualization |
viz list --query-id <id> [--limit] [--offset] | List all visualizations for a query |
Supported types: chart, table, counter, pivot, cohort, funnel, choropleth, sankey, sunburst_sequence, word_cloud.
Create and manage dashboards.
| Command | Description |
|---|---|
dashboard create --name <name> [--visualization-ids 1,2,3] [--text-widgets <json>] [--columns-per-row 1|2|3] [--private] | Create a new dashboard |
dashboard get <dashboard-id> or dashboard get --owner <handle> --slug <slug> | Get a dashboard's details and widgets |
dashboard update <dashboard-id> [--name] [--slug] [--private] [--tags] [--visualization-widgets <json>] [--text-widgets <json>] | Update an existing dashboard |
dashboard archive <dashboard-id> | Archive a dashboard |
Search and browse Dune documentation. No authentication required.
| Command | Description |
|---|---|
docs search --query <text> [--api-reference-only] [--code-only] | Search the Dune documentation |
Show credit and resource usage for your account.
dune usage [--start-date YYYY-MM-DD] [--end-date YYYY-MM-DD]All commands (except auth) support -o, --output <format> with text (default) or json.