Skip to main content
POST
/
v1
/
query
/
{query_id}
/
execute
curl -X POST "https://api.dune.com/api/v1/query/{{query_id}}/execute"   \
  -H "X-Dune-API-Key: {{api_key}}                                       \
  -H "Content-Type: application/json"                                   \
  -d '{"query_parameters": {"param1":24}, "performance": "large"}'
{
  "execution_id": "01HKZJ2683PHF9Q9PHHQ8FW4Q1",
  "state": "QUERY_STATE_PENDING"
}
If you are using the Python SDK, you can directly executes and fetches result in one function call, like below:
Use run_query to get result in JSON, run_query_csv to get result in CSV format, and run_query_dataframe to get result in Pandas dataframe
Python SDK

import dotenv, os, json
from dune_client.types import QueryParameter
from dune_client.client import DuneClient
from dune_client.query import QueryBase

# change the current working directory where .env file lives
os.chdir("/Users/abc/local-Workspace/python-notebook-examples")
# load .env file
dotenv.load_dotenv(".env")
# setup Dune Python client
dune = DuneClient.from_env()

query = QueryBase(
    name="Sample Query",
    query_id=1215383,
)

result = dune.run_query(
    query = query,
    performance = 'large' # optionally define which tier to run the execution on (default is "medium")
)

# go over the results returned
for row in result.result.rows: 
    print (row) # as an example we print the rows
If the query has parameters and you don’t add them in your API call, it will just run with the default params. You may add query parameters as part of the POST params data. You can choose to include a performance parameter, by default it will use the “medium” performance tier which consumes 10 credits. “large” will use 20 credits and are faster. Returns an execution_id associated with the triggered query execution and the state of the execution.
curl -X POST "https://api.dune.com/api/v1/query/{{query_id}}/execute"   \
  -H "X-Dune-API-Key: {{api_key}}                                       \
  -H "Content-Type: application/json"                                   \
  -d '{"query_parameters": {"param1":24}, "performance": "large"}'

Headers

X-DUNE-API-KEY
string
required

API Key for the service

Path Parameters

query_id
integer
required

unique identifier of the query

Query Parameters

api_key
string

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

performance
enum<string>[]

The performance engine tier the execution will be run on. Can be either medium or large. Medium consumes 10 credits, and large consumes 20 credits, per run. Default is medium.

query_parameters
object[]

SQL Query parameters in key-value pairs. Each parameter is to be provided in key-value pairs. This enables you to execute a parameterized query with the provided values for your parameter keys. Partial submission of parameters is allowed. For example, if the query expects three parameters and you only pass in two, the third one will automatically use its default value as defined in the Query Parameter Editor page.

SQL Query parameters in key-value pairs. Each parameter is to be provided in key-value pairs. This enables you to execute a parameterized query with the provided values for your parameter keys. Partial submission of parameters is allowed. For example, if the query expects three parameters and you only pass in two, the third one will automatically use its default value as defined in the Query Parameter Editor page.

Response

OK

The response is of type object.

I