Real-time data and analytics for Bitcoin-linked preferred equity instruments — STRK, STRF, STRD, SATA, and more.
Get started with basic data
Full access to all data
Every field returned by the API, broken down by plan.
Returned by /v1/preferred-equity and /v1/preferred-equity/{ticker}
| Field | Type | Description | Plan |
|---|---|---|---|
| ticker | string | Ticker symbol (STRC, STRD, STRF, STRK, SATA) | FREE |
| issuer | string | Issuing company name | FREE |
| name | string | Full security name | FREE |
| stock_price | number | Current stock price (USD) | FREE |
| current_dividend | number | Current annual dividend per share (USD) | FREE |
| effective_yield | number | Annual dividend / current price (%) | FREE |
| ipo_date | string | Date of IPO | FREE |
| ipo_price | number | IPO price (USD) | FREE |
| three_month_return | number | Price return over the past 3 months (%) | FREE |
| lifetime_return | number | Price return since IPO (%) | FREE |
| market_cap | number | Market capitalization (USD) | FREE |
| shares_outstanding | number | Total shares outstanding | FREE |
| dividend_payment_timeframe | string | Dividend frequency (e.g. quarterly) | FREE |
| updated_at | string | Last data refresh timestamp | FREE |
| overview | string | Short overview of the security | PRO |
| description | string | Detailed security description | PRO |
| price_3m_ago | number | Stock price 3 months ago (USD) | PRO |
| notional_value | number | Notional value (shares × $100 par) | PRO |
| trading_volume_usd | number | Latest day trading volume (USD) | PRO |
| avg_trading_volume_7d | number | 7-day average daily volume (USD) | PRO |
| avg_trading_volume_30d | number | 30-day average daily volume (USD) | PRO |
| scaled_vol_above_100_usd | number | Volume traded above $100 par (USD) | PRO |
| scaled_vol_below_100_usd | number | Volume traded below $100 par (USD) | PRO |
| scaled_vol_above_100_rth_usd | number | Volume above $100 during regular trading hours (USD) | PRO |
| scaled_trading_volume_rth_usd | number | Total volume during regular trading hours (USD) | PRO |
| volume_above_100_pct | number | Percentage of volume traded above $100 par | PRO |
| volatility_7d | number | 7-day annualized volatility | PRO |
| volatility_30d | number | 30-day annualized volatility | PRO |
| volatility_60d | number | 60-day annualized volatility | PRO |
| volatility_90d | number | 90-day annualized volatility | PRO |
| this_weeks_volume | number | Total trading volume this week (USD) | PRO |
| this_weeks_volume_above_par | number | Volume above $100 par this week (USD) | PRO |
| this_weeks_volume_above_par_pct | number | Percentage of this week's volume above par | PRO |
| sharpe_ratio | number | Risk-adjusted return (excess return / volatility) | PRO |
| risk_free_rate | number | Risk-free rate used for Sharpe calculation | PRO |
| created_at | string | Record creation timestamp | PRO |
| last_updated | string | Last data update timestamp | PRO |
Returned by /v1/preferred-equity/historical. FREE plan limited to last 7 days; PRO gets full history.
| Field | Type | Description | Plan |
|---|---|---|---|
| date | string | Trading date (YYYY-MM-DD) | FREE |
| ticker | string | Ticker symbol | FREE |
| stock_price | number | Closing price (USD) | FREE |
| effective_yield | number | Effective yield on that date (%) | FREE |
| trading_volume | number | Daily trading volume (USD) | FREE |
| market_cap | number | Market capitalization (USD) | FREE |
| notional | number | Notional value (USD) | FREE |
| dividend_rate | number | Dividend rate on that date | FREE |
| volatility_30d | number | 30-day annualized volatility | FREE |
| sharpe_ratio | number | Sharpe ratio on that date | FREE |
| open_price | number | Opening price (USD) | PRO |
| high_price | number | Intraday high price (USD) | PRO |
| low_price | number | Intraday low price (USD) | PRO |
| avg_trading_volume_7d | number | 7-day average daily volume (USD) | PRO |
| avg_trading_volume_30d | number | 30-day average daily volume (USD) | PRO |
| shares_outstanding | number | Shares outstanding on that date | PRO |
| volatility_7d | number | 7-day annualized volatility | PRO |
| volatility_60d | number | 60-day annualized volatility | PRO |
| volatility_90d | number | 90-day annualized volatility | PRO |
| volume_above_100_pct | number | Pct of volume above $100 par | PRO |
| scaled_vol_above_100_usd | number | Volume above $100 par (USD) | PRO |
| scaled_vol_below_100_usd | number | Volume below $100 par (USD) | PRO |
| scaled_vol_above_100_rth_usd | number | Volume above $100 during regular hours (USD) | PRO |
| trading_volume_rth | number | Total volume during regular hours (USD) | PRO |
| volume_in_99_101_band_pct | number | Pct of volume in $99–$101 band | PRO |
| cumulative_weekly_volume | number | Cumulative volume for the week (USD) | PRO |
| cumulative_weekly_scaled_vol_above_100_usd | number | Cumulative weekly volume above par (USD) | PRO |
| day_of_week | string | Day of the week (Mon, Tue, etc.) | PRO |
| three_month_return | number | 3-month return as of that date (%) | PRO |
| one_year_return | number | 1-year return as of that date (%) | PRO |
| lifetime_return | number | Lifetime return as of that date (%) | PRO |
/api/v1/preferred-equityCurrent data for all tickers/api/v1/preferred-equity/[ticker]Single ticker lookup/api/v1/preferred-equity/historicalHistorical price & yield datacurl -H "Authorization: Bearer YOUR_API_KEY" \ https://bitcoinquant.co/api/v1/preferred-equity
curl -H "Authorization: Bearer YOUR_API_KEY" \ https://bitcoinquant.co/api/v1/preferred-equity/STRC
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://bitcoinquant.co/api/v1/preferred-equity/historical?ticker=STRC&days=30"
import requests
headers = {"Authorization": "Bearer YOUR_API_KEY"}
# Current preferred equity data
response = requests.get("https://bitcoinquant.co/api/v1/preferred-equity", headers=headers)
data = response.json()
print(f"{len(data['data'])} preferred equity securities loaded")
# Historical data for a specific ticker
response = requests.get(
"https://bitcoinquant.co/api/v1/preferred-equity/historical",
headers=headers,
params={"ticker": "STRC", "days": 30}
)
history = response.json()
print(f"{len(history['data'])} days of historical data")const headers = { "Authorization": "Bearer YOUR_API_KEY" };
// Current preferred equity data
const res = await fetch("https://bitcoinquant.co/api/v1/preferred-equity", { headers });
const { data } = await res.json();
console.log(`${data.length} preferred equity securities loaded`);
// Historical data for a specific ticker
const histRes = await fetch(
"https://bitcoinquant.co/api/v1/preferred-equity/historical?ticker=STRC&days=30",
{ headers }
);
const history = await histRes.json();
console.log(`${history.data.length} days of historical data`);library(httr)
library(jsonlite)
headers <- add_headers(Authorization = "Bearer YOUR_API_KEY")
# Current preferred equity data
res <- GET("https://bitcoinquant.co/api/v1/preferred-equity", headers)
data <- fromJSON(content(res, "text"))
cat(length(data$data), "preferred equity securities loaded\n")
# Historical data for a specific ticker
hist_res <- GET("https://bitcoinquant.co/api/v1/preferred-equity/historical",
headers, query = list(ticker = "STRC", days = 30))
history <- fromJSON(content(hist_res, "text"))
cat(length(history$data), "days of historical data\n")function getPreferredEquity() {
var options = {
headers: { "Authorization": "Bearer YOUR_API_KEY" }
};
var res = UrlFetchApp.fetch(
"https://bitcoinquant.co/api/v1/preferred-equity", options
);
var data = JSON.parse(res.getContentText()).data;
var sheet = SpreadsheetApp.getActiveSheet();
// Write headers
var keys = Object.keys(data[0]);
sheet.getRange(1, 1, 1, keys.length).setValues([keys]);
// Write data
var rows = data.map(function(row) {
return keys.map(function(k) { return row[k]; });
});
sheet.getRange(2, 1, rows.length, keys.length).setValues(rows);
}Questions? DM Rohan on X at @rohanhirani