GET
/
v1
/
query
/
{query_id}
/
results

You must pass parameter query_id.

Returns the latest execution id and results (in JSON) of that latest run, regardless of the job id/run or if it is run in the app or the api.

The query specified must either be public or a query you have ownership of (you or a team you belong to have ownership).

This endpoint does NOT trigger an execution but does consume credits through datapoints.
  • Dune internally has a maximum query result size limit (which currently is 8GB, but subject to increase in the future). If your query yields more than 8GB of data, the result will be truncated in storage. In such cases, pulling the result data (using pagination) but without specifying allow_partial_results set to true will trigger an error message: “error”: “Partial Result, please request with ‘allows_partial_results=true’“. If you wish to retrieve partial results, you can pass the parameter allow_partial_results=true. But please make sure you indeed want to fetch the truncated result.
  • We recommend reading about Pagination to get the most out of the API and handle large results.

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.

limit
integer
required

Limit number of rows to return. This together with 'offset' allows easy pagination through results in an incremental and efficient way. This parameter is incompatible with sampling (sample_count).

offset
integer

Offset row number to start (inclusive, first row means offset=0) returning results from. This together with 'limit' allows easy pagination through results in an incremental and efficient way. This parameter is incompatible with sampling (sample_count).

sample_count
integer

Number of rows to return from the result by sampling the data. This is useful when you want to get a uniform sample instead of the entire result. If the result has less than the sample count, the entire result is returned. Note that this will return a randomized sample, so not every call will return the same result. This parameter is incompatible with offset, limit, and filters parameters.

filters
string

Expression to filter out rows from the results to return. This expression is similar to a SQL WHERE clause. More details about it in the Filtering section of the doc. This parameter is incompatible with sample_count.

sort_by
string

Expressiong to define the order in which the results should be returned. This expression is similar to a SQL ORDER BY clause. More details about it in the Sorting section of the doc.

columns
string

Specifies a comma-separated list of column names to return. If omitted, all columns are included. Tip: use this to limit the result to specific columns, reducing datapoints cost of the call.

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.

ignore_max_datapoints_per_request
boolean

There is a default 250,000 datapoints limit to make sure you don't accidentally spend all your credits in one call. To ignore the max limit, you can add ignore_max_datapoints_per_request=true

allow_partial_results
boolean

This enables returning a query result that was too large and only a partial result is available. By default allow_partial_results is set to false and a failed state is returned.

Response

200 - application/json
execution_id
string
required

Unique identifier for the execution of the query.

query_id
integer
required

Unique identifier of the query.

state
string
required

The state of the query execution.

is_execution_finished
boolean

Whether the state of the query execution is terminal. This can be used for polling purposes.

submitted_at
string
required

Timestamp of when the query was submitted.

expires_at
string

Timestamp of when the query result expires.

execution_started_at
string

Timestamp of when the query execution started.

execution_ended_at
string

Timestamp of when the query execution ended.

cancelled_at
string

Timestamp of when the query execution was cancelled, if applicable.

next_offset
integer

Offset that can be used to retrieve the next page of results.

next_uri
string

URI that can be used to fetch the next page of results.

result
object
error
object