Documentation
Introduction
Scanner APIs (v1)
Options Pricing API
API Documentation
Integrate Tradestie's proprietary alpha signals directly into your trading bots, dashboards, or backtesting engines.
Getting Started
Our APIs provide real-time and historical access to technical patterns, sentiment data, and options pricing. All responses are returned in standard JSON format. Base URL for all requests:
Authentication
Currently, our public endpoints support Session Authentication (for browser-based testing) and JWT Authentication for external tools.
Free accounts are limited to the top 5 results per endpoint. Upgrade to Pro/Premium to unlock 100+ results and higher rate limits.
To authenticate via JWT, include your token in the Authorization header:
curl -H "Authorization: Bearer YOUR_TOKEN" \
https://api.tradestie.com/v1/scanner/rsi-divergence
RSI Divergence Signals
LIVEThis endpoint returns stocks currently exhibiting RSI Divergence (Bullish or Bearish). A divergence occurs when the price makes a new high/low that is not confirmed by the RSI, indicating a potential trend reversal.
Response Schema
| Field | Type | Description |
|---|---|---|
symbol | string | Ticker symbol (e.g., AAPL) |
strength | integer | Confidence score (0-100) |
direction | string | "BULLISH" or "BEARISH" |
rsi | float | Current RSI (14) value |
Example Response
{
"success": true,
"count": 5,
"access_level": "free",
"results": [
{
"symbol": "NVDA",
"price": 124.52,
"strength": 92,
"direction": "BULLISH",
"rsi": 32.5,
"rsi_zone": "oversold"
},
...
],
"message": "Upgrade to Premium for full API access with 50+ daily signals."
}
Rate Limits
To ensure fair usage and optimal performance, we apply the following rate limits:
- Anonymous: 10 requests / hour
- Free Registered User: 60 requests / hour
- Premium/Pro: 5,000 requests / hour
Note: Signals typically update every hour during market hours.
Ready to Build?
Upgrade to Premium for full API access with 100+ signals and 5,000 requests/hour.
Options Pricing API (Black-Scholes)
LIVEOur Black-Scholes Options Pricing API provides institutional-grade options calculations including pricing, Greeks, implied volatility, and multi-leg strategy analysis. Perfect for building trading bots, backtesting engines, or custom options dashboards.
Features
- Full Greeks: Delta, Gamma, Theta, Vega, Rho
- Multi-leg Strategies: Spreads, straddles, iron condors, butterflies
- Strategy Templates: 10 pre-built templates for common strategies
- P&L Curves: Pre-computed payoff data for charting
- IV Solver: Newton-Raphson implied volatility calculation
- Time Decay Analysis: Multi-point theta decay projections
Available Strategy Templates
long_calllong_putcovered_callcash_secured_putbull_call_spreadbear_put_spreadstraddlestrangleiron_condorbutterflyPrice Single Option
Calculate the theoretical price and Greeks for a single call or put option using the Black-Scholes model.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | "call" or "put" |
stock_price | float | Yes | Current stock price |
strike | float | Yes | Option strike price |
days_to_expiry | float | Yes | Days until expiration |
volatility | float | Yes | IV as decimal (0.25 = 25%) |
risk_free_rate | float | No | Risk-free rate (default: 0.05) |
Example Request
curl -X POST https://api.tradestie.com/v1/options/price \
-H "Content-Type: application/json" \
-d '{
"type": "call",
"stock_price": 100,
"strike": 105,
"days_to_expiry": 30,
"volatility": 0.25
}'
Example Response
{
"success": true,
"data": {
"price": 1.19,
"delta": 0.2784,
"gamma": 0.0468,
"theta": -0.0438,
"vega": 0.0962,
"rho": 0.0219,
"intrinsic_value": 0,
"time_value": 1.19
},
"inputs": {
"type": "call",
"stock_price": 100.0,
"strike": 105.0,
"days_to_expiry": 30.0,
"risk_free_rate": 0.05,
"volatility": 0.25
}
}
Price Multi-Leg Strategy
Calculate pricing, Greeks, max profit/loss, breakeven points, and P&L curve for complex multi-leg options strategies. Use pre-built templates or define custom leg combinations.
Request Body (Using Template)
| Field | Type | Required | Description |
|---|---|---|---|
stock_price | float | Yes | Current stock price |
days_to_expiry | float | Yes | Days until expiration |
volatility | float | Yes | IV as decimal |
template | string | Yes* | Strategy template name |
strikes | array | Yes* | Strike prices for template |
risk_free_rate | float | No | Risk-free rate (default: 0.05) |
*Either use template + strikes, or provide custom legs array.
Template Strike Requirements
| Template | # Strikes | Example |
|---|---|---|
long_call, long_put, straddle | 1 | [100] |
bull_call_spread, bear_put_spread, strangle | 2 | [95, 105] |
butterfly | 3 | [95, 100, 105] |
iron_condor | 4 | [90, 95, 105, 110] |
Example: Iron Condor
curl -X POST https://api.tradestie.com/v1/options/strategy \
-H "Content-Type: application/json" \
-d '{
"stock_price": 100,
"days_to_expiry": 30,
"volatility": 0.25,
"template": "iron_condor",
"strikes": [90, 95, 105, 110]
}'
Example Response
{
"success": true,
"data": {
"net_premium": -1.52,
"max_profit": 1.52,
"max_loss": -3.48,
"breakeven_points": [93.48, 106.52],
"greeks": {
"delta": -0.02,
"gamma": -0.0447,
"theta": 0.0383,
"vega": -0.0918
},
"legs": [
{"type": "put", "strike": 90, "action": "buy", "premium": 0.19, "delta": -0.06},
{"type": "put", "strike": 95, "action": "sell", "premium": 0.88, "delta": 0.21},
{"type": "call", "strike": 105, "action": "sell", "premium": 1.19, "delta": -0.28},
{"type": "call", "strike": 110, "action": "buy", "premium": 0.36, "delta": 0.11}
],
"pnl_curve": [
{"price": 85, "pnl": -3.48},
{"price": 95, "pnl": 1.52},
{"price": 100, "pnl": 1.52},
{"price": 105, "pnl": 1.52},
{"price": 115, "pnl": -3.48}
]
}
}
Custom Legs (Alternative)
Instead of templates, you can define custom legs:
{
"stock_price": 100,
"days_to_expiry": 30,
"volatility": 0.25,
"legs": [
{"type": "call", "strike": 100, "action": "buy", "quantity": 1},
{"type": "call", "strike": 110, "action": "sell", "quantity": 1}
]
}
Calculate Implied Volatility
Reverse-engineer the implied volatility from a market option price using Newton-Raphson iteration. Useful for comparing theoretical vs market IV.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | "call" or "put" |
stock_price | float | Yes | Current stock price |
strike | float | Yes | Option strike price |
days_to_expiry | float | Yes | Days until expiration |
market_price | float | Yes | Observed market price of option |
risk_free_rate | float | No | Risk-free rate (default: 0.05) |
Example Request
curl -X POST https://api.tradestie.com/v1/options/iv \
-H "Content-Type: application/json" \
-d '{
"type": "call",
"stock_price": 100,
"strike": 100,
"days_to_expiry": 30,
"market_price": 5.0
}'
Example Response
{
"success": true,
"data": {
"implied_volatility": 0.4201,
"implied_volatility_pct": "42.0%"
},
"inputs": {
"type": "call",
"stock_price": 100.0,
"strike": 100.0,
"days_to_expiry": 30.0,
"risk_free_rate": 0.05,
"market_price": 5.0
}
}
Time Decay Analysis
Analyze how a strategy's value changes over time (theta decay). Returns P&L curves and Greeks at multiple time points leading up to expiration. Perfect for visualizing time decay effects.
Request Body
| Field | Type | Required | Description |
|---|---|---|---|
stock_price | float | Yes | Current stock price |
days_to_expiry | float | Yes | Days until expiration |
volatility | float | Yes | IV as decimal |
legs | array | Yes | Array of option legs |
time_points | array | No | Days elapsed to analyze (default: auto) |
Example Request
curl -X POST https://api.tradestie.com/v1/options/time-decay \
-H "Content-Type: application/json" \
-d '{
"stock_price": 100,
"days_to_expiry": 30,
"volatility": 0.25,
"legs": [
{"type": "call", "strike": 100, "action": "buy", "quantity": 1}
],
"time_points": [0, 7, 14, 21, 30]
}'
Example Response
{
"success": true,
"data": {
"0": {"days_remaining": 30, "greeks": {...}, "pnl_curve": [...]},
"7": {"days_remaining": 23, "greeks": {...}, "pnl_curve": [...]},
"14": {"days_remaining": 16, "greeks": {...}, "pnl_curve": [...]},
"21": {"days_remaining": 9, "greeks": {...}, "pnl_curve": [...]},
"30": {"days_remaining": 0, "greeks": {...}, "pnl_curve": [...]}
}
}