Alert configurations
curl --request GET \
--url https://api.unusualwhales.com/api/alerts/configuration \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.unusualwhales.com/api/alerts/configuration"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.unusualwhales.com/api/alerts/configuration', 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.unusualwhales.com/api/alerts/configuration",
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.unusualwhales.com/api/alerts/configuration"
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.unusualwhales.com/api/alerts/configuration")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unusualwhales.com/api/alerts/configuration")
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{
"data": [
{
"config": {
"option_symbols": [
"TGT241122C00177500"
],
"symbols": "all"
},
"created_at": "2024-11-19T18:19:14.000Z",
"daily_fired_alert_counts": [
{
"count": 0,
"date": "2024-11-19T00:00:00.000Z"
},
{
"count": 1,
"date": "2024-11-20T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-21T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-22T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-23T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-24T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-25T00:00:00.000Z"
}
],
"dsl": null,
"id": "ebe24953-a0bf-4b4d-98be-14f721a1199a",
"muted_tickers": [],
"name": "Chain OI Chg: TGT241122C00177500",
"noti_type": "chain_oi_change",
"status": "active"
},
{
"config": {
"name_contains": [
"berkshire"
],
"symbols": "all"
},
"created_at": "2024-08-09T23:23:13.000Z",
"daily_fired_alert_counts": [
{
"count": 0,
"date": "2024-11-19T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-20T00:00:00.000Z"
},
{
"count": 2,
"date": "2024-11-21T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-22T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-23T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-24T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-25T00:00:00.000Z"
}
],
"dsl": null,
"id": "4457d60e-e7e5-4950-82e6-0ea010586f25",
"muted_tickers": [],
"name": "Berkshire",
"noti_type": "sec_filings",
"status": "active"
}
],
"global_muted_tickers": []
}{
"code": "authentication_required",
"documentation_url": "https://api.unusualwhales.com/docs",
"expected_format": "uuid",
"message": "The API token provided is not in the expected format. Unusual Whales API tokens are UUIDs, such as 123e4567-e89b-12d3-a456-426614174000.",
"reason": "malformed_token",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"code": "payment_required",
"documentation_url": "https://api.unusualwhales.com/docs",
"message": "This API token is paused because the payment for your API subscription failed. Update your card at https://unusualwhales.com/settings. The same token works again once a payment succeeds.",
"reason": "payment_failed",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"code": "missing_access",
"documentation_url": "https://api.unusualwhales.com/docs",
"message": "The API token provided is valid but is not permitted to access this route.",
"reason": "route_not_permitted",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"msg": "Invalid path input: MSFT12 (valid example: AAPL) - Invalid query input(s): date=2023-02-140 (valid example: date=2024-01-18)",
"path": "/api/darkpool/MSFT12",
"query": "date=2023-02-140",
"url": "localhost:4000/api/darkpool/MSFT12?date=2023-02-140"
}Something went wrongalerts
Alert configurations
Returns all alert configurations of the user.
Each configuration includes a dsl field with its human-readable Query language expression,
including formulas created with the formula builder. The field is null when the configuration
cannot be represented in the Query language. The structured filters remain available in config.
Users can create alerts for:
- Market tide
- Gamma exposure (GEX), Vanna exposure (VEX), Charm exposure (CEX)
- Interval Contract screeners (replicates and alerts on the Flow Feed)
- Analyst ratings, price targets, and actions
- Futures price targets, on one contract or on the lead contract of a product
- Futures prints at or above a size or notional floor, on one contract or on every contract of a product
- Futures sweeps, CME match events that filled several price levels, with floors on levels, size and notional
- Futures block trades, with floors on quantity and notional
- Futures rolls, when the lead contract of a product changes
- Futures expiries, days before a contract expires and on its final settlement
- Politician trades
- Insider trades
- OI changes for contract in premarket
- FDA
- Flow alerts
- Contract screener (replicates and alerts on the Hottest Chains)
- Stock screeners
- News
- Earnings
- Dividends
- Splits
- Trading stats (halts, unhalts)
- Economic release
- SEC filings
The alerts are the same alerts as the user created on https://unusualwhales.com/custom-alerts
GET
/
api
/
alerts
/
configuration
Alert configurations
curl --request GET \
--url https://api.unusualwhales.com/api/alerts/configuration \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.unusualwhales.com/api/alerts/configuration"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.unusualwhales.com/api/alerts/configuration', 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.unusualwhales.com/api/alerts/configuration",
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.unusualwhales.com/api/alerts/configuration"
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.unusualwhales.com/api/alerts/configuration")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.unusualwhales.com/api/alerts/configuration")
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{
"data": [
{
"config": {
"option_symbols": [
"TGT241122C00177500"
],
"symbols": "all"
},
"created_at": "2024-11-19T18:19:14.000Z",
"daily_fired_alert_counts": [
{
"count": 0,
"date": "2024-11-19T00:00:00.000Z"
},
{
"count": 1,
"date": "2024-11-20T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-21T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-22T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-23T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-24T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-25T00:00:00.000Z"
}
],
"dsl": null,
"id": "ebe24953-a0bf-4b4d-98be-14f721a1199a",
"muted_tickers": [],
"name": "Chain OI Chg: TGT241122C00177500",
"noti_type": "chain_oi_change",
"status": "active"
},
{
"config": {
"name_contains": [
"berkshire"
],
"symbols": "all"
},
"created_at": "2024-08-09T23:23:13.000Z",
"daily_fired_alert_counts": [
{
"count": 0,
"date": "2024-11-19T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-20T00:00:00.000Z"
},
{
"count": 2,
"date": "2024-11-21T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-22T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-23T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-24T00:00:00.000Z"
},
{
"count": 0,
"date": "2024-11-25T00:00:00.000Z"
}
],
"dsl": null,
"id": "4457d60e-e7e5-4950-82e6-0ea010586f25",
"muted_tickers": [],
"name": "Berkshire",
"noti_type": "sec_filings",
"status": "active"
}
],
"global_muted_tickers": []
}{
"code": "authentication_required",
"documentation_url": "https://api.unusualwhales.com/docs",
"expected_format": "uuid",
"message": "The API token provided is not in the expected format. Unusual Whales API tokens are UUIDs, such as 123e4567-e89b-12d3-a456-426614174000.",
"reason": "malformed_token",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"code": "payment_required",
"documentation_url": "https://api.unusualwhales.com/docs",
"message": "This API token is paused because the payment for your API subscription failed. Update your card at https://unusualwhales.com/settings. The same token works again once a payment succeeds.",
"reason": "payment_failed",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"code": "missing_access",
"documentation_url": "https://api.unusualwhales.com/docs",
"message": "The API token provided is valid but is not permitted to access this route.",
"reason": "route_not_permitted",
"request_id": "GNI_YTC1CRnw2LACGBvE",
"retryable": false,
"support_email": "[email protected]",
"token_url": "https://unusualwhales.com/dashboard/api"
}{
"msg": "Invalid path input: MSFT12 (valid example: AAPL) - Invalid query input(s): date=2023-02-140 (valid example: date=2024-01-18)",
"path": "/api/darkpool/MSFT12",
"query": "date=2023-02-140",
"url": "localhost:4000/api/darkpool/MSFT12?date=2023-02-140"
}Something went wrongAuthorizations
Response
Alert configurations and active global ticker mutes.
Was this page helpful?
