In this quickstart, we will walk through how to upload a CSV file to Dune via Python.


Save your Dune API key in a .env file.

DUNE_API_KEY=<paste your API key here>

Upload the CSV

Follow below steps to upload your CSV. Please make sure to modify paths to your .env file and to your CSV file.

import dotenv, os
from dune_client.client import DuneClient

# change the current working directory where .env file lives
# load .env file
# setup Dune Python client
dune = DuneClient.from_env()

# define path to your CSV file 
csv_file_path = '<CSV_FILE_PATH>'

with open(csv_file_path) as open_file:
    data =

    table = dune.upload_csv(
        description="Data about 80 cereals, sourced from",
        table_name="cereal_table", # define your table name here

Once the upload is successful, you will see the data show up under Your Data in the Data Explorer.

You can query your uploaded table under the name dune.<team or user handle>.dataset_<table name defined>. For example, here I defined the table name to be “cereal_table” and my team name is “dune”, so to access the uploaded table we will do select * from dune.dune.dataset_cereal_table

For more information on upload endpoint, please visit this page.