> ## Documentation Index
> Fetch the complete documentation index at: https://dune-tables-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Execution Result

> Given an execution ID, returns result of a an execution request

You must pass the `execution_id` obtained from making an [execute query](/api-reference/executions/endpoint/execute-query) POST request.

Result returns the status, metadata, and query results (in JSON) from a query execution.

<Info>
  * Results data from an execution are stored for 90 days. This is visible on the API response on the “expires\_at” field in the execution status and results body.
  * 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](../pagination) to get the most out of the API and handle large results.
</Info>

<Accordion title="Execute query and get result in one call">
  <Tip> If you are using the [Python SDK](https://github.com/duneanalytics/dune-client/tree/d2195b2a9577e2dcae5d2600cb3eddce20987f38) or community [Typescript SDK](https://github.com/bh2smith/ts-dune-client), you can directly execute and fetch a result in one function call, like below: </Tip>

  <Tabs>
    <Tab title="Python SDK">
      ```python

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

      ```

      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

      ```

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

      ```
    </Tab>

    <Tab title="Typescript SDK">
      ```typescript
      import { QueryParameter, DuneClient } from "@duneanalytics/client-sdk";
      const { DUNE_API_KEY } = process.env;
      const client = new DuneClient(DUNE_API_KEY ?? "");
      ```

      Use `refresh` to get result in JSON

      ```typescript
      const queryID = 1215383;
      const parameters = [
        QueryParameter.text("TextField", "Plain Text"),
        QueryParameter.number("NumberField", 3.1415926535),
        QueryParameter.date("DateField", "2022-05-04 00:00:00"),
        QueryParameter.enum("ListField", "Option 1"),
      ];

      client
        .refresh(queryID, parameters)
        .then((executionResult) => console.log(executionResult.result?.rows));

      // should look like
      // [
      //   {
      //     date_field: "2022-05-04 00:00:00",
      //     list_field: "Option 1",
      //     number_field: "3.1415926535",
      //     text_field: "Plain Text",
      //   },
      // ];
      ```
    </Tab>
  </Tabs>
</Accordion>

<RequestExample>
  ```bash cURL

  curl -X GET "https://api.dune.com/api/v1/execution/{{execution_id}}/results" -H x-dune-api-key:{{api_key}}

  ```

  ```python Python SDK

  '''
  Download Dune Python SDK by running `pip install dune-client`
  For more info, visit the GitHub repository: https://github.com/duneanalytics/dune-client/tree/d2195b2a9577e2dcae5d2600cb3eddce20987f38
  '''

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

  result = dune.get_execution_results(job_id = '01HM79YYNXADPK66YWZK5X0NXB') # pass in the execution_id

  ```

  ```python Python
  import requests

  url = "https://api.dune.com/api/v1/execution/{execution_id}/results"

  headers = {"X-DUNE-API-KEY": "<x-dune-api-key>"}

  response = requests.request("GET", url, headers=headers)

  print(response.text)

  ```

  ```javascript Javascript
  const options = {method: 'GET', headers: {'X-DUNE-API-KEY': '<x-dune-api-key>'}};

  fetch('https://api.dune.com/api/v1/execution/{execution_id}/results', options)
    .then(response => response.json())
    .then(response => console.log(response))
    .catch(err => console.error(err));

  ```

  ```go Go
  package main

  import (
  	"fmt"
  	"net/http"
  	"io/ioutil"
  )

  func main() {

  	url := "https://api.dune.com/api/v1/execution/{execution_id}/results"

  	req, _ := http.NewRequest("GET", url, nil)

  	req.Header.Add("X-DUNE-API-KEY", "<x-dune-api-key>")

  	res, _ := http.DefaultClient.Do(req)

  	defer res.Body.Close()
  	body, _ := ioutil.ReadAll(res.Body)

  	fmt.Println(res)
  	fmt.Println(string(body))

  }

  ```

  ```php PHP
  <?php

  $curl = curl_init();

  curl_setopt_array($curl, [
    CURLOPT_URL => "https://api.dune.com/api/v1/execution/{execution_id}/results",
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_ENCODING => "",
    CURLOPT_MAXREDIRS => 10,
    CURLOPT_TIMEOUT => 30,
    CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
    CURLOPT_CUSTOMREQUEST => "GET",
    CURLOPT_HTTPHEADER => [
      "X-DUNE-API-KEY: <x-dune-api-key>"
    ],
  ]);

  $response = curl_exec($curl);
  $err = curl_error($curl);

  curl_close($curl);

  if ($err) {
    echo "cURL Error #:" . $err;
  } else {
    echo $response;
  }

  ```

  ```java Java
  HttpResponse<String> response = Unirest.get("https://api.dune.com/api/v1/execution/{execution_id}/results")
    .header("X-DUNE-API-KEY", "<x-dune-api-key>")
    .asString();

  ```
</RequestExample>
