POST
/
v1
/
table
/
upload
/
csv
curl --request POST \
  --url https://api.dune.com/api/v1/table/upload/csv \
  --header 'Content-Type: application/json' \
  --header 'X-DUNE-API-KEY: <x-dune-api-key>' \
  --data '{
  "data": "DATE,DGS10,\n2023-12-04,4.28,\n2023-12-05,4.18,\n2023-12-06,4.12,\n2023-12-07,4.14,\n2023-12-08,4.23,\n2023-12-11,4.23",
  "description": "10 year daily interest rates, sourced from https://fred.stlouisfed.org/series/DGS10",
  "table_name": "ten_year_us_interest_rates",
  "is_private": false
}'
{
  "success": true,
  "table_name": "ten_year_us_interest_rates"
}

Consider using the /create and /insert endpoints if you want more flexibility, performance, and the ability to append.

You can also upload CSV through the Dune UI by pressing the “create” dropdown.

For working with uploads, keep in mind that:

  • File has to be < 200 MB
  • Column names in the table can’t start with a special character or digits.
  • Private uploads require a Premium subscription.
  • If you upload to an existing table name, it will delete the old data and overwite it with your new data. There is no append feature at the moment.
  • To delete an upload table, you must go to user settings (dune.com) -> data -> delete.

If you have larger datasets you want to upload, please contact us here

Headers

X-DUNE-API-KEY
string
required

API Key for the service

Query Parameters

api_key
string

API Key for the service, alternative to using the HTTP header X-DUNE-API-KEY.

Body

application/json
data
string

The data to be uploaded in CSV format.

description
string

Description of the upload.

table_name
string

The name of the table to store the data.

is_private
boolean

Indicates if the upload is private.

Response

200 - application/json
success
boolean
table_name
string