

# GetQueryResults
<a name="API_GetQueryResults"></a>

Streams the results of a single query execution specified by `QueryExecutionId` from the Athena query results location in Amazon S3. For more information, see [Working with query results, recent queries, and output files](https://docs.aws.amazon.com/athena/latest/ug/querying.html) in the *Amazon Athena User Guide*. This request does not execute the query but returns results. Use [StartQueryExecution](API_StartQueryExecution.md) to run a query.

To stream query results successfully, the IAM principal with permission to call `GetQueryResults` also must have permissions to the Amazon S3 `GetObject` action for the Athena query results location.

**Important**  
IAM principals with permission to the Amazon S3 `GetObject` action for the query results location are able to retrieve query results from Amazon S3 even if permission to the `GetQueryResults` action is denied. To restrict user or role access, ensure that Amazon S3 permissions to the Athena query location are denied.

## Request Syntax
<a name="API_GetQueryResults_RequestSyntax"></a>

```
{
   "MaxResults": number,
   "NextToken": "string",
   "QueryExecutionId": "string",
   "QueryResultType": "string"
}
```

## Request Parameters
<a name="API_GetQueryResults_RequestParameters"></a>

For information about the parameters that are common to all actions, see [Common Parameters](CommonParameters.md).

The request accepts the following data in JSON format.

 ** [MaxResults](#API_GetQueryResults_RequestSyntax) **   <a name="athena-GetQueryResults-request-MaxResults"></a>
The maximum number of results (rows) to return in this request.  
Type: Integer  
Valid Range: Minimum value of 1. Maximum value of 1000.  
Required: No

 ** [NextToken](#API_GetQueryResults_RequestSyntax) **   <a name="athena-GetQueryResults-request-NextToken"></a>
A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the `NextToken` from the response object of the previous page call.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.  
Required: No

 ** [QueryExecutionId](#API_GetQueryResults_RequestSyntax) **   <a name="athena-GetQueryResults-request-QueryExecutionId"></a>
The unique ID of the query execution.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 128.  
Pattern: `\S+`   
Required: Yes

 ** [QueryResultType](#API_GetQueryResults_RequestSyntax) **   <a name="athena-GetQueryResults-request-QueryResultType"></a>
 When you set this to `DATA_ROWS` or empty, `GetQueryResults` returns the query results in rows. If set to `DATA_MANIFEST`, it returns the manifest file in rows. Only the query types `CREATE TABLE AS SELECT`, `UNLOAD`, and `INSERT` can generate a manifest file. If you use `DATA_MANIFEST` for other query types, the query will fail.   
Type: String  
Valid Values: `DATA_MANIFEST | DATA_ROWS`   
Required: No

## Response Syntax
<a name="API_GetQueryResults_ResponseSyntax"></a>

```
{
   "NextToken": "string",
   "ResultSet": { 
      "ResultSetMetadata": { 
         "ColumnInfo": [ 
            { 
               "CaseSensitive": boolean,
               "CatalogName": "string",
               "Label": "string",
               "Name": "string",
               "Nullable": "string",
               "Precision": number,
               "Scale": number,
               "SchemaName": "string",
               "TableName": "string",
               "Type": "string"
            }
         ]
      },
      "Rows": [ 
         { 
            "Data": [ 
               { 
                  "VarCharValue": "string"
               }
            ]
         }
      ]
   },
   "UpdateCount": number
}
```

## Response Elements
<a name="API_GetQueryResults_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [NextToken](#API_GetQueryResults_ResponseSyntax) **   <a name="athena-GetQueryResults-response-NextToken"></a>
A token generated by the Athena service that specifies where to continue pagination if a previous request was truncated. To obtain the next set of pages, pass in the `NextToken` from the response object of the previous page call.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1024.

 ** [ResultSet](#API_GetQueryResults_ResponseSyntax) **   <a name="athena-GetQueryResults-response-ResultSet"></a>
The results of the query execution.  
Type: [ResultSet](API_ResultSet.md) object

 ** [UpdateCount](#API_GetQueryResults_ResponseSyntax) **   <a name="athena-GetQueryResults-response-UpdateCount"></a>
The number of rows inserted with a `CREATE TABLE AS SELECT`, `INSERT INTO`, or `UPDATE` statement.   
Type: Long

## Errors
<a name="API_GetQueryResults_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** InternalServerException **   
Indicates a platform issue, which may be due to a transient condition or outage.  
HTTP Status Code: 500

 ** InvalidRequestException **   
Indicates that something is wrong with the input to the request. For example, a required parameter may be missing or out of range.    
 ** AthenaErrorCode **   
The error code returned when the query execution failed to process, or when the processing request for the named query failed.
HTTP Status Code: 400

 ** TooManyRequestsException **   
Indicates that the request was throttled.    
 ** Reason **   
The reason for the query throttling, for example, when it exceeds the concurrent query limit.
HTTP Status Code: 400

## See Also
<a name="API_GetQueryResults_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/athena-2017-05-18/GetQueryResults) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/athena-2017-05-18/GetQueryResults) 