Get strike advisor recommendations
curl --request GET \
--url https://api.example.com/api/graph/v1/options/{symbol}/strike-advisorimport requests
url = "https://api.example.com/api/graph/v1/options/{symbol}/strike-advisor"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/graph/v1/options/{symbol}/strike-advisor', 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.example.com/api/graph/v1/options/{symbol}/strike-advisor",
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.example.com/api/graph/v1/options/{symbol}/strike-advisor"
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.example.com/api/graph/v1/options/{symbol}/strike-advisor")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/options/{symbol}/strike-advisor")
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{
"alternatives": [],
"context": {
"candidates_evaluated": 42,
"passed_gates": 18,
"status": "scored"
},
"direction": "bullish",
"primary": {
"ask": 12.2,
"bid": 11.8,
"composite_score": 74.5,
"confidence": "HIGH",
"contract_symbol": "NVDA260321C00880000",
"delta": 0.42,
"expiration": "2026-03-21",
"mid": 12,
"option_type": "call",
"rationale": "Bullish swing — dealer: long gamma regime (+15); timing: 16 DTE in sweet spot (+28)",
"signals": [
{
"details": {
"gex_regime": "long_gamma"
},
"name": "dealer",
"rationale": "long gamma regime (+15); near max pain $870 (+15)",
"score": 75
}
],
"strike": 880
},
"symbol": "NVDA",
"timeframe": "swing",
"underlying_price": 875.5
}Strike Advisor
Get strike advisor recommendations
Get timeframe-aware options contract recommendations scored across 5 signal
families: dealer positioning, timing, flow alignment, IV favorability, and
liquidity quality.
Returns a primary recommendation plus up to 2 alternatives, each with
per-signal scores and rationale.
## Timeframes
- **intraday**: 0-2 DTE, delta 0.40-0.60, liquidity-heavy weighting
- **swing**: 7-21 DTE, delta 0.30-0.55, balanced weighting
- **position**: 21-45 DTE, delta 0.20-0.45, timing-heavy weighting
## Confidence Levels
- **HIGH** (>=70): Strong multi-signal alignment
- **MODERATE** (>=50): Reasonable setup with some signals confirming
- **LOW** (>=40): Marginal — proceed with caution
- **INSUFFICIENT** (<40): Not recommended (filtered out)
## IV Regime Advisory
When IV rank > 70%, the response includes an advisory note suggesting
defined-risk structures. When IV rank < 30%, the note confirms favorable
conditions for buying premium.
GET
/
api
/
graph
/
v1
/
options
/
{symbol}
/
strike-advisor
Get strike advisor recommendations
curl --request GET \
--url https://api.example.com/api/graph/v1/options/{symbol}/strike-advisorimport requests
url = "https://api.example.com/api/graph/v1/options/{symbol}/strike-advisor"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/api/graph/v1/options/{symbol}/strike-advisor', 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.example.com/api/graph/v1/options/{symbol}/strike-advisor",
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.example.com/api/graph/v1/options/{symbol}/strike-advisor"
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.example.com/api/graph/v1/options/{symbol}/strike-advisor")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/graph/v1/options/{symbol}/strike-advisor")
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{
"alternatives": [],
"context": {
"candidates_evaluated": 42,
"passed_gates": 18,
"status": "scored"
},
"direction": "bullish",
"primary": {
"ask": 12.2,
"bid": 11.8,
"composite_score": 74.5,
"confidence": "HIGH",
"contract_symbol": "NVDA260321C00880000",
"delta": 0.42,
"expiration": "2026-03-21",
"mid": 12,
"option_type": "call",
"rationale": "Bullish swing — dealer: long gamma regime (+15); timing: 16 DTE in sweet spot (+28)",
"signals": [
{
"details": {
"gex_regime": "long_gamma"
},
"name": "dealer",
"rationale": "long gamma regime (+15); near max pain $870 (+15)",
"score": 75
}
],
"strike": 880
},
"symbol": "NVDA",
"timeframe": "swing",
"underlying_price": 875.5
}Path Parameters
Query Parameters
Trade direction
Pattern:
^(bullish|bearish)$Trading timeframe
Pattern:
^(intraday|swing|position)$Optional target price for FPT-based timing
Response
Strike advisor recommendations
Complete strike advisor output for a symbol + direction + timeframe.
Ticker symbol
Trade direction: 'bullish' or 'bearish'
Timeframe: 'intraday', 'swing', or 'position'
Current underlying spot price
Primary recommendation (highest composite score)
Show child attributes
Show child attributes
Up to 2 alternative recommendations
Show child attributes
Show child attributes
IV regime advisory text (high/low IV warning)
Scoring context (status, candidates evaluated, etc.)
Newest exact options_data observation used by the scorer