dune-api

Crates.iodune-api
lib.rsdune-api
version0.1.0
created_at2026-01-17 09:02:50.865412+00
updated_at2026-01-17 09:02:50.865412+00
descriptionUnofficial Rust client for the Dune Analytics API
homepage
repositoryhttps://github.com/yldfi/yldfi-rs
max_upload_size
id2050165
size111,000
michaeldim (michaeldim)

documentation

README

yld_fi

dune-api

Unofficial Rust client for the Dune Analytics API

crates.io MIT License

Features

  • Queries - Create, read, update, archive/unarchive queries
  • Executions - Execute queries, run raw SQL, get results
  • Tables - Manage custom tables, upload/insert data
  • Materialized Views - Create and manage materialized views
  • Pipelines - Set up data pipelines
  • Usage - Get API usage statistics

Installation

[dependencies]
dune-api = "0.1"
tokio = { version = "1", features = ["full"] }

Quick Start

use dune_api::Client;

#[tokio::main]
async fn main() -> Result<(), dune_api::Error> {
    let client = Client::new("your-api-key")?;

    // Execute a query and wait for results
    let result = client.executions().run_query(1234, None).await?;
    for row in result.result.unwrap().rows {
        println!("{:?}", row);
    }

    // Execute raw SQL
    let result = client.executions().run_sql("SELECT 1 as value", None).await?;
    println!("{:?}", result.result);

    // Get cached results for a query
    let result = client.executions().query_results(1234).await?;
    println!("{:?}", result.result);

    Ok(())
}

Environment Variables

  • DUNE_API_KEY - Your Dune API key (required)

License

MIT

Commit count: 46

cargo fmt