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).

  • 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.

Headers

X-Dune-Api-Key
string
required

API Key for the service

Path Parameters

query_id
string
required

Query ID

Query Parameters

api_key
string

Alternative to using the X-Dune-Api-Key header

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.

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.

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.

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

limit
integer

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).

queryID
integer
required
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.

sort_by
string

Expression 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.

Response

200 - application/json
cancelled_at
string

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

execution_ended_at
string

Timestamp of when the query execution ended.

execution_id
string

Unique identifier for the execution of the query.

execution_started_at
string

Timestamp of when the query execution started.

expires_at
string

Timestamp of when the query result expires.

is_execution_finished
boolean

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

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.

query_id
integer

Unique identifier of the query.

result
object

The object containing the results and metadata of the query execution

state
string

The state of the query execution.

submitted_at
string

Timestamp of when the query was submitted.