Overview
Dune is an analytics platform designed for querying, analyzing, and visualizing data directly from various blockchain networks. It caters to developers, researchers, and technical buyers who require granular insights into on-chain activities across a range of cryptocurrencies and decentralized applications (dApps). The platform's primary interface for data extraction is SQL, allowing users to write custom queries against raw blockchain data. This approach provides flexibility for detailed analysis of transaction volumes, smart contract interactions, token flows, and user behavior within Web3 ecosystems.
The platform is particularly suited for scenarios requiring custom data aggregation and visualization beyond pre-defined metrics. Users can create public dashboards to share insights with the broader community or maintain private dashboards for proprietary research. Dune's infrastructure processes vast amounts of blockchain data, making it a resource for understanding trends in decentralized finance (DeFi), non-fungible tokens (NFTs), and other segments of the Web3 space. Its API extends this capability, enabling programmatic access to query results and dashboard data for integration into external applications, custom tools, or automated reporting systems.
Dune excels when there is a need to explore novel data relationships or conduct deep-dive investigations into specific smart contracts or user cohorts. While it offers a free tier for public-facing work and limited private analysis, its paid plans provide enhanced performance, greater access to private dashboards, and full API capabilities, addressing the needs of professional analysts and organizations. The platform's focus on SQL-based querying positions it as a tool for those with data analysis skills, providing a direct interface to the underlying blockchain data.
Key features
- SQL-based On-Chain Data Querying: Users can write custom SQL queries to extract and transform data from various blockchains, including Ethereum, Polygon, and Avalanche, among others. This allows for detailed analysis of transaction data, smart contract events, and token movements.
- Custom Dashboard Creation: The platform supports the creation of interactive dashboards using query results. These dashboards can incorporate various visualization types, such as charts, tables, and graphs, to present complex on-chain data in an accessible format.
- Public and Private Dashboards: Users can publish dashboards publicly to share insights with the Web3 community or maintain private dashboards for internal research and proprietary analysis.
- Data APIs: Programmatic access to query results and dashboard data is available through APIs. This enables developers to integrate Dune's data into custom applications, automate data pipelines, and build bespoke analytics tools.
- Community-Driven Analysis: Dune fosters a community where users can share queries and dashboards, allowing others to fork and build upon existing analyses. This collaborative environment can accelerate research and knowledge sharing within the blockchain space.
- Multi-Blockchain Support: The platform aggregates data from multiple blockchain networks, providing a unified interface for cross-chain analysis. This broad coverage supports comprehensive research across the decentralized ecosystem.
Pricing
Dune offers a tiered pricing structure that includes a free option for public use and limited private analysis, alongside paid plans for more extensive features and higher usage limits. Paid plans introduce benefits such as increased private dashboard capacity, faster query execution, and full API access.
| Plan | Key Features | Pricing (as of 2026-05-28) |
|---|---|---|
| Free | Public dashboards, limited private dashboards, standard query execution. | Free |
| Plus | More private dashboards, faster query execution, API access, priority support. | $399/month |
| Enterprise | Custom limits, dedicated support, advanced features. | Custom pricing |
For detailed information on specific feature allocations per tier, refer to the Dune pricing page.
Common integrations
Dune's primary integration method is through its Data APIs, which allow developers to programmatically access query results and dashboard data. This facilitates integration into custom applications and data workflows.
- Custom Applications: Developers can use the Dune Query API to fetch data directly into their own applications, dashboards, or reporting tools.
- Data Warehouses/Lakes: Query results from Dune can be programmatically exported and integrated into enterprise data warehouses or data lakes for consolidated analytics.
- Business Intelligence Tools: While Dune provides its own visualization capabilities, the API allows for data export to external BI tools for further analysis and custom reporting.
- Automation Workflows: The API can be used within automation platforms or custom scripts to trigger data refreshes or export data on a scheduled basis.
Alternatives
- Nansen: Offers advanced on-chain analytics with a focus on smart money and entity tracking, providing curated dashboards and real-time alerts for crypto investors and institutions.
- Glassnode: Specializes in on-chain market intelligence and data, providing a suite of metrics and indicators derived from various blockchain networks, often used for macroeconomic analysis of digital assets.
- Footprint Analytics: Provides a no-code platform for blockchain data analysis and visualization, offering drag-and-drop tools for creating dashboards and reports across multiple chains, catering to users without extensive SQL knowledge.
Getting started
To get started with Dune's API, you typically need to obtain an API key and then use it to execute queries or retrieve results. The following Python example demonstrates how to fetch the results of a public query using the Dune API. This example assumes you have a Query ID and an API key.
import requests
import json
# Replace with your actual API Key and Query ID
DUNE_API_KEY = "YOUR_DUNE_API_KEY"
QUERY_ID = 1234567 # Example Query ID (replace with a valid public query ID)
# Endpoint to get query results
url = f"https://api.dune.com/api/v1/queries/{QUERY_ID}/results"
headers = {
"x-dune-api-key": DUNE_API_KEY
}
try:
response = requests.get(url, headers=headers)
response.raise_for_status() # Raise an exception for HTTP errors
data = response.json()
if data and "result" in data and "rows" in data["result"]:
print("Query Results:")
for row in data["result"]["rows"]:
print(row)
else:
print("No results or unexpected data structure.")
except requests.exceptions.RequestException as e:
print(f"An error occurred: {e}")
except json.JSONDecodeError:
print("Failed to decode JSON response.")
This script makes a GET request to the Dune API to retrieve the latest execution results for a specified query. You would replace "YOUR_DUNE_API_KEY" and 1234567 with your actual API key and a valid query ID from Dune. For more detailed API usage and available endpoints, consult the Dune Query API reference.