curl --request GET \
--url https://api.aries.com/v1/options/trades \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aries.com/v1/options/trades"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aries.com/v1/options/trades', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aries.com/v1/options/trades",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aries.com/v1/options/trades"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aries.com/v1/options/trades")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aries.com/v1/options/trades")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"nextUrl": "https://api.aries.com/v1/options/trades?next=YXA9MTAwMCZhcz1vcHRpb25zLXRyYWRlcyZsaW1pdD0xMDAwJm9yZGVyPWRlc2Mmc29ydD10aW1lc3RhbXAmdGltZXN0YW1wLmx0ZT0yMDIzLTAxLTExVDE2JTNBMDMlM0E0My4zOTRa&ticker=O%3AAAPL230120C00150000",
"requestId": "dbfa60aa037390553e639aae76021193",
"results": [
{
"conditions": [
232
],
"exchange": 308,
"participantTimestamp": 1674248368870000000,
"price": 0.01,
"sipTimestamp": 1674248368870000000,
"size": 2
},
{
"conditions": [
209
],
"exchange": 301,
"participantTimestamp": 1673453023394000000,
"price": 0.04,
"sipTimestamp": 1673453023394000000,
"size": 11
}
],
"status": "OK"
}Options Trades
Get tick-level trade data for options contracts with precise timestamps. Includes trade conditions, exchange information, and participant timestamps.
Use Case: Analyze options order flow, build time and sales for options, and track unusual options activity.
curl --request GET \
--url https://api.aries.com/v1/options/trades \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.aries.com/v1/options/trades"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.aries.com/v1/options/trades', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aries.com/v1/options/trades",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.aries.com/v1/options/trades"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.aries.com/v1/options/trades")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.aries.com/v1/options/trades")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"nextUrl": "https://api.aries.com/v1/options/trades?next=YXA9MTAwMCZhcz1vcHRpb25zLXRyYWRlcyZsaW1pdD0xMDAwJm9yZGVyPWRlc2Mmc29ydD10aW1lc3RhbXAmdGltZXN0YW1wLmx0ZT0yMDIzLTAxLTExVDE2JTNBMDMlM0E0My4zOTRa&ticker=O%3AAAPL230120C00150000",
"requestId": "dbfa60aa037390553e639aae76021193",
"results": [
{
"conditions": [
232
],
"exchange": 308,
"participantTimestamp": 1674248368870000000,
"price": 0.01,
"sipTimestamp": 1674248368870000000,
"size": 2
},
{
"conditions": [
209
],
"exchange": 301,
"participantTimestamp": 1673453023394000000,
"price": 0.04,
"sipTimestamp": 1673453023394000000,
"size": 11
}
],
"status": "OK"
}Authorizations
OAuth2 Bearer token: obtain an access token from the token endpoint and send it in the Authorization header.
Query Parameters
Options contract ticker symbol. Enter the exact option symbol returned by option search or chain endpoints.
"O:AAPL230120C00150000"
Query by timestamp (YYYY-MM-DD or nanoseconds)
"2024-01-15"
Timestamp start filter. Returns records at or after this timestamp.
"2024-01-01"
Timestamp lower-bound filter. Returns records after this timestamp, excluding the timestamp itself.
"2024-01-01"
Timestamp end filter. Returns records at or before this timestamp.
"2024-01-31"
Timestamp upper-bound filter. Returns records before this timestamp, excluding the timestamp itself.
"2024-01-31"
Sort order for returned records. Use asc for oldest first or desc for newest first when supported.
asc, desc Maximum number of results to return. Use smaller values for UI pages and larger values for exports within API limits.
1 <= x <= 500001000
Sort field used for ordering. Massive documents this separately from order, so enter the provider-supported field name in the text box, for example timestamp.
Pagination cursor from the previous response. Omit it on the first request, then send the returned cursor to fetch the next page.
Response
Successful response
URL for next page of results
Unique request ID
Array of options trade objects
Show child attributes
Show child attributes
Status string from the upstream data provider — typically OK for a successful response. Treat any other value as an error indicator alongside the HTTP status code.
Was this page helpful?