curl --request GET \
--url 'https://api.benzinga.com/api/v1/signal/option_activity?token='import requests
url = "https://api.benzinga.com/api/v1/signal/option_activity?token="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.benzinga.com/api/v1/signal/option_activity?token=', 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.benzinga.com/api/v1/signal/option_activity?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.benzinga.com/api/v1/signal/option_activity?token="
req, _ := http.NewRequest("GET", url, nil)
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.benzinga.com/api/v1/signal/option_activity?token=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.benzinga.com/api/v1/signal/option_activity?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"option_activity": [
{
"aggressor_ind": "0.73",
"ask": "5.75",
"bid": "5.2",
"cost_basis": "336000.0",
"date": "2025-12-29",
"date_expiration": "2026-09-18",
"description": "Freeport-McMoRan Option Alert: Sep 18 $50 Puts at the Ask: 600 vs 636 OI; Earnings 1/22 Before Open [est] ",
"description_extended": "Freeport-McMoRan Option Alert: Sep 18 $50 Puts at the Ask: 600 @ $5.6 vs 636 OI; Earnings 1/22 Before Open [est] Ref=$51.4",
"exchange": "NYSE",
"execution_estimate": "AT_ASK",
"id": "6952ef7b6ab0a40001b39586",
"midpoint": "5.475",
"open_interest": "636",
"option_activity_type": "TRADE",
"option_symbol": "FCX260918P00050000",
"price": "5.6",
"put_call": "PUT",
"sentiment": "BEARISH",
"size": "600",
"strike_price": "50.00",
"ticker": "FCX",
"time": "16:15:32",
"trade_count": 1,
"underlying_price": "51.4",
"underlying_type": "STOCK",
"updated": 1767042939,
"volume": "1601"
}
]
}
{
"ok": false,
"errors": [
{
"code": "auth_failed",
"id": "unauthorized",
"value": "Invalid or missing authentication token"
}
]
}
{
"ok": false,
"errors": [
{
"code": "no_data_found",
"id": "not_found",
"value": "No data found for the specified parameters"
}
]
}
{
"ok": false,
"errors": [
{
"code": "internal_server_error",
"id": "server_error",
"value": "An unexpected error occurred while processing your request"
}
]
}
Unusual Options Activity
Returns unusual options activity data, including large or unusual options trades that may signal informed trading
curl --request GET \
--url 'https://api.benzinga.com/api/v1/signal/option_activity?token='import requests
url = "https://api.benzinga.com/api/v1/signal/option_activity?token="
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.benzinga.com/api/v1/signal/option_activity?token=', 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.benzinga.com/api/v1/signal/option_activity?token=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.benzinga.com/api/v1/signal/option_activity?token="
req, _ := http.NewRequest("GET", url, nil)
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.benzinga.com/api/v1/signal/option_activity?token=")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.benzinga.com/api/v1/signal/option_activity?token=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"option_activity": [
{
"aggressor_ind": "0.73",
"ask": "5.75",
"bid": "5.2",
"cost_basis": "336000.0",
"date": "2025-12-29",
"date_expiration": "2026-09-18",
"description": "Freeport-McMoRan Option Alert: Sep 18 $50 Puts at the Ask: 600 vs 636 OI; Earnings 1/22 Before Open [est] ",
"description_extended": "Freeport-McMoRan Option Alert: Sep 18 $50 Puts at the Ask: 600 @ $5.6 vs 636 OI; Earnings 1/22 Before Open [est] Ref=$51.4",
"exchange": "NYSE",
"execution_estimate": "AT_ASK",
"id": "6952ef7b6ab0a40001b39586",
"midpoint": "5.475",
"open_interest": "636",
"option_activity_type": "TRADE",
"option_symbol": "FCX260918P00050000",
"price": "5.6",
"put_call": "PUT",
"sentiment": "BEARISH",
"size": "600",
"strike_price": "50.00",
"ticker": "FCX",
"time": "16:15:32",
"trade_count": 1,
"underlying_price": "51.4",
"underlying_type": "STOCK",
"updated": 1767042939,
"volume": "1601"
}
]
}
{
"ok": false,
"errors": [
{
"code": "auth_failed",
"id": "unauthorized",
"value": "Invalid or missing authentication token"
}
]
}
{
"ok": false,
"errors": [
{
"code": "no_data_found",
"id": "not_found",
"value": "No data found for the specified parameters"
}
]
}
{
"ok": false,
"errors": [
{
"code": "internal_server_error",
"id": "server_error",
"value": "An unexpected error occurred while processing your request"
}
]
}
{
"option_activity": [
{
"aggressor_ind": "0.73",
"ask": "5.75",
"bid": "5.2",
"cost_basis": "336000.0",
"date": "2025-12-29",
"date_expiration": "2026-09-18",
"description": "Freeport-McMoRan Option Alert: Sep 18 $50 Puts at the Ask: 600 vs 636 OI; Earnings 1/22 Before Open [est] ",
"description_extended": "Freeport-McMoRan Option Alert: Sep 18 $50 Puts at the Ask: 600 @ $5.6 vs 636 OI; Earnings 1/22 Before Open [est] Ref=$51.4",
"exchange": "NYSE",
"execution_estimate": "AT_ASK",
"id": "6952ef7b6ab0a40001b39586",
"midpoint": "5.475",
"open_interest": "636",
"option_activity_type": "TRADE",
"option_symbol": "FCX260918P00050000",
"price": "5.6",
"put_call": "PUT",
"sentiment": "BEARISH",
"size": "600",
"strike_price": "50.00",
"ticker": "FCX",
"time": "16:15:32",
"trade_count": 1,
"underlying_price": "51.4",
"underlying_type": "STOCK",
"updated": 1767042939,
"volume": "1601"
}
]
}
{
"ok": false,
"errors": [
{
"code": "auth_failed",
"id": "unauthorized",
"value": "Invalid or missing authentication token"
}
]
}
{
"ok": false,
"errors": [
{
"code": "no_data_found",
"id": "not_found",
"value": "No data found for the specified parameters"
}
]
}
{
"ok": false,
"errors": [
{
"code": "internal_server_error",
"id": "server_error",
"value": "An unexpected error occurred while processing your request"
}
]
}
Authorizations
Query Parameters
Page offset. For optimization, performance and technical reasons, page offsets are limited from 0 - 100000. Limit the query results by other parameters such as date. Default is 0
Number of results returned. Limit 1000
Date to query for calendar data. Shorthand for date_from and date_to if they are the same. Defaults for latest
Start date in YYYY-MM-DD format
End date in YYYY-MM-DD format
Sort by date
date One or more ticker symbols separated by a comma. Maximum 50 tickers
ID
Records last Updated Unix timestamp (UTC). This will force the sort order to be Greater Than or Equal to the timestamp indicated
Response
Option Activity
Aggressor indicator (1=buyer, 2=seller)
"1"
Ask price
"4.35"
Bid price
"4.25"
Total cost basis of the trade
"2156000"
Date of the option activity
"2024-01-09"
Expiration date of the option
"2024-01-19"
Brief description of the activity
"Trade"
Extended description with additional details
"Sweep | Bullish | Above Ask"
Exchange where the underlying security is traded
"NASDAQ"
Execution estimate relative to bid/ask spread
"Above Ask"
Unique identifier for the option activity record
"60a7f5e8e4b0f5a3c8e9f5ad"
Midpoint between bid and ask
"4.30"
Open interest for this option
"1523"
Type of option activity (Sweep, Block, Large, Unusual)
"Sweep"
OCC option symbol
"AAPL240119C00195000"
Price per option contract
"4.31"
Option type (Call, Put)
"Call"
Market sentiment of the trade (Bullish, Bearish, Neutral)
"Bullish"
Number of contracts traded
"500"
Strike price of the option
"195.00"
Stock ticker symbol
"AAPL"
Time of the option activity (EST)
"14:35:22"
Number of trades in this activity
1
Price of the underlying security at time of trade
"185.92"
Type of underlying security
"Common Stock"
Unix timestamp of last update
1704819600
Total volume for this option
"2845"
Was this page helpful?