Amazon Athena
amazonaws · Cloud
Amazon Athena is an interactive query service that lets you use standard SQL to analyze data directly in Amazon S3. You can point Athena at your data in Amazon S3 and run ad-hoc queries and get results in seconds. Athena is serverless, so there is no infrastructure to set up or manage. You pay only for the queries you run. Athena scales automatically—executing queries in parallel—so results are fast, even with large datasets and complex queries. For more information, see <a href="http://docs.
Authentication
Sample Requests
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 fil
Hover any highlighted part to learn what it does
| X-Amz-Target | AmazonAthena.GetQueryResults |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.GetQueryResults?NextToken=example&MaxResults=example" \ -H "X-Amz-Target: AmazonAthena.GetQueryResults"
import requests
params = {
"NextToken": "example",
"MaxResults": "example"
}
headers = {
"X-Amz-Target": "AmazonAthena.GetQueryResults"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.GetQueryResults",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.GetQueryResults');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AmazonAthena.GetQueryResults'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.GetQueryResults")
q := baseURL.Query()
q.Set("NextToken", "example")
q.Set("MaxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AmazonAthena.GetQueryResults")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.GetQueryResults")
uri.query = URI.encode_www_form({
"NextToken" => "example",
"MaxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AmazonAthena.GetQueryResults"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.GetQueryResults?" . http_build_query([
"NextToken" => "example",
"MaxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AmazonAthena.GetQueryResults"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Returns the supported DPU sizes for the supported application runtimes (for example, Athena notebook version 1 ).
Hover any highlighted part to learn what it does
| X-Amz-Target | AmazonAthena.ListApplicationDPUSizes |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListApplicationDPUSizes?NextToken=example&MaxResults=example" \ -H "X-Amz-Target: AmazonAthena.ListApplicationDPUSizes"
import requests
params = {
"NextToken": "example",
"MaxResults": "example"
}
headers = {
"X-Amz-Target": "AmazonAthena.ListApplicationDPUSizes"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListApplicationDPUSizes",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListApplicationDPUSizes');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AmazonAthena.ListApplicationDPUSizes'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListApplicationDPUSizes")
q := baseURL.Query()
q.Set("NextToken", "example")
q.Set("MaxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AmazonAthena.ListApplicationDPUSizes")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListApplicationDPUSizes")
uri.query = URI.encode_www_form({
"NextToken" => "example",
"MaxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AmazonAthena.ListApplicationDPUSizes"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListApplicationDPUSizes?" . http_build_query([
"NextToken" => "example",
"MaxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AmazonAthena.ListApplicationDPUSizes"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Lists the calculations that have been submitted to a session in descending order. Newer calculations are listed first; older calculations are listed later.
Hover any highlighted part to learn what it does
| X-Amz-Target | AmazonAthena.ListCalculationExecutions |
curl -X POST "https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListCalculationExecutions?NextToken=example&MaxResults=example" \ -H "X-Amz-Target: AmazonAthena.ListCalculationExecutions"
import requests
params = {
"NextToken": "example",
"MaxResults": "example"
}
headers = {
"X-Amz-Target": "AmazonAthena.ListCalculationExecutions"
}
response = requests.post(
"https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListCalculationExecutions",
params=params,
headers=headers,
)
print(response.json())const url = new URL('https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListCalculationExecutions');
url.searchParams.set('NextToken', 'example');
url.searchParams.set('MaxResults', 'example');
const response = await fetch(url, {
method: 'POST',
headers: {
'X-Amz-Target': 'AmazonAthena.ListCalculationExecutions'
},
});
const data = await response.json();
console.log(data);package main
import (
"fmt"
"io"
"net/http"
"net/url"
)
func main() {
baseURL, _ := url.Parse("https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListCalculationExecutions")
q := baseURL.Query()
q.Set("NextToken", "example")
q.Set("MaxResults", "example")
baseURL.RawQuery = q.Encode()
targetURL := baseURL.String()
req, _ := http.NewRequest("POST", targetURL, nil)
req.Header.Set("X-Amz-Target", "AmazonAthena.ListCalculationExecutions")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}require "net/http"
require "json"
uri = URI("https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListCalculationExecutions")
uri.query = URI.encode_www_form({
"NextToken" => "example",
"MaxResults" => "example"
})
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = uri.scheme == "https"
req = Net::HTTP::Post.new(uri)
req["X-Amz-Target"] = "AmazonAthena.ListCalculationExecutions"
res = http.request(req)
puts JSON.parse(res.body)<?php
$url = "https://api.apis.guru/v2/specs/amazonaws.com/athena/2017-05-18/#X-Amz-Target=AmazonAthena.ListCalculationExecutions?" . http_build_query([
"NextToken" => "example",
"MaxResults" => "example"
]);
$opts = ["http" => [
"method" => "POST",
"header" => implode("\r\n", [
"X-Amz-Target: AmazonAthena.ListCalculationExecutions"
]),
]];
$ctx = stream_context_create($opts);
$res = file_get_contents($url, false, $ctx);
print_r(json_decode($res, true));Postman Setup Guide
- See official documentation for authentication and setup.
What can you build with Amazon Athena?
Amazon Athena is a Cloud API. Developers commonly use cloud APIs for:
- provisioning and managing cloud infrastructure
- automating deployments and container orchestration
- monitoring uptime and performance metrics
- managing storage buckets and databases
- setting up auto-scaling and load balancing
No authentication required. This API is open — no signup or key needed. Ideal for quick prototypes and public-facing features. Amazon Athena is free to use, making it a low-risk choice to experiment with.
New to APIs? Read our beginner's guide · Learn about API keys · What is REST?