finterm tool options_overview TSLAimport requests
url = "https://api.finterm.ai/api/v1/options/overview"
payload = {
"ticker": "<string>",
"as_of_date": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ticker: '<string>', as_of_date: '<string>'})
};
fetch('https://api.finterm.ai/api/v1/options/overview', 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.finterm.ai/api/v1/options/overview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ticker' => '<string>',
'as_of_date' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.finterm.ai/api/v1/options/overview"
payload := strings.NewReader("{\n \"ticker\": \"<string>\",\n \"as_of_date\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.finterm.ai/api/v1/options/overview")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ticker\": \"<string>\",\n \"as_of_date\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finterm.ai/api/v1/options/overview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ticker\": \"<string>\",\n \"as_of_date\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"data": {
"ticker": "<string>",
"as_of_date": "<string>",
"spot": 123,
"context": {
"next_earnings": {
"date": "<string>",
"days": 123,
"confirmed": true
}
},
"volatility": {
"iv_30": 123,
"hv_20": 123,
"iv_vs_hv": 123,
"skew": 123,
"iv_rank": 123,
"iv_percentile": 123,
"iv_1y_low": {
"value": 123,
"date": "<string>"
},
"iv_1y_high": {
"value": 123,
"date": "<string>"
},
"hv_rank": 123
},
"flow": {
"volume": 123,
"puts": 123,
"calls": 123,
"pc_ratio": 123,
"vs_avg_30d": 123,
"pc_5d_avg": 123,
"pc_percentile_1y": 123
},
"positioning": {
"open_interest": 123,
"puts": 123,
"calls": 123,
"pc_ratio": 123,
"vs_avg_30d": 123,
"max_pain": {
"strike": 123,
"expiry": "<string>",
"spot_vs": 123
},
"top_strikes": {
"calls": [
[
123
]
],
"puts": [
[
123
]
]
}
},
"expected_move": [
{
"expiry": "<string>",
"days": 123,
"pct": 123,
"dollars": 123,
"post_earnings": true
}
],
"probability": {
"expiry": "<string>",
"method": "lognormal_iv30",
"bands": {
"p10": 123,
"p25": 123,
"p50": 123,
"p75": 123,
"p90": 123
}
},
"derived": [
"<string>"
],
"flags": [
"<string>"
],
"scope": {
"contracts_analyzed": 123,
"expirations_covered": 123,
"pages_fetched": 123
},
"data_quality": {
"history": {
"days_collected": 123
},
"note": "<string>"
},
"methodology": {
"version": "<string>",
"iv_30": "<string>",
"hv_20": "<string>",
"skew": "<string>",
"expected_move": "<string>",
"probability_bands": "<string>",
"max_pain": "<string>",
"flag_thresholds": "<string>"
}
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}A live one-call options overview: implied vs realized volatility with rank, today's flow, the positioning book, expected moves, and probability bands.
Get a live one-call options overview for a ticker. One full-chain snapshot is summarized into a volatility block (30-day implied vs 20-day realized vol, their spread, skew, and the rank/percentile of today’s IV in the ticker’s own year), a flow block (today’s volume with put/call splits and reference averages), and a positioning block (open interest, max pain, and the largest open-interest strikes). It adds expected moves per expiry (always including the first expiry on or after the next earnings date), lognormal probability bands, quotable derived[] sentences, condition flags, and a data_quality block. History-dependent fields report null with a days-collected count while the daily series fills, never fabricated. Serves live data only; pass a past date to options_sentiment instead.
finterm tool options_overview TSLAimport requests
url = "https://api.finterm.ai/api/v1/options/overview"
payload = {
"ticker": "<string>",
"as_of_date": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({ticker: '<string>', as_of_date: '<string>'})
};
fetch('https://api.finterm.ai/api/v1/options/overview', 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.finterm.ai/api/v1/options/overview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'ticker' => '<string>',
'as_of_date' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.finterm.ai/api/v1/options/overview"
payload := strings.NewReader("{\n \"ticker\": \"<string>\",\n \"as_of_date\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.finterm.ai/api/v1/options/overview")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"ticker\": \"<string>\",\n \"as_of_date\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.finterm.ai/api/v1/options/overview")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ticker\": \"<string>\",\n \"as_of_date\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"data": {
"ticker": "<string>",
"as_of_date": "<string>",
"spot": 123,
"context": {
"next_earnings": {
"date": "<string>",
"days": 123,
"confirmed": true
}
},
"volatility": {
"iv_30": 123,
"hv_20": 123,
"iv_vs_hv": 123,
"skew": 123,
"iv_rank": 123,
"iv_percentile": 123,
"iv_1y_low": {
"value": 123,
"date": "<string>"
},
"iv_1y_high": {
"value": 123,
"date": "<string>"
},
"hv_rank": 123
},
"flow": {
"volume": 123,
"puts": 123,
"calls": 123,
"pc_ratio": 123,
"vs_avg_30d": 123,
"pc_5d_avg": 123,
"pc_percentile_1y": 123
},
"positioning": {
"open_interest": 123,
"puts": 123,
"calls": 123,
"pc_ratio": 123,
"vs_avg_30d": 123,
"max_pain": {
"strike": 123,
"expiry": "<string>",
"spot_vs": 123
},
"top_strikes": {
"calls": [
[
123
]
],
"puts": [
[
123
]
]
}
},
"expected_move": [
{
"expiry": "<string>",
"days": 123,
"pct": 123,
"dollars": 123,
"post_earnings": true
}
],
"probability": {
"expiry": "<string>",
"method": "lognormal_iv30",
"bands": {
"p10": 123,
"p25": 123,
"p50": 123,
"p75": 123,
"p90": 123
}
},
"derived": [
"<string>"
],
"flags": [
"<string>"
],
"scope": {
"contracts_analyzed": 123,
"expirations_covered": 123,
"pages_fetched": 123
},
"data_quality": {
"history": {
"days_collected": 123
},
"note": "<string>"
},
"methodology": {
"version": "<string>",
"iv_30": "<string>",
"hv_20": "<string>",
"skew": "<string>",
"expected_move": "<string>",
"probability_bands": "<string>",
"max_pain": "<string>",
"flag_thresholds": "<string>"
}
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}{
"finterm": {
"schema": "<string>",
"tool": "<string>",
"args": {},
"request_id": "<string>",
"cursor": "<string>"
},
"error": {
"code": "<string>",
"message": "<string>",
"upgrade_url": "<string>"
}
}Authorizations
A live account API key from FINTERM_API_KEY.