Authoritative reference combining all prior coverage documents and current subscriptions. Scoped to Beyond Markets as an analysis report platform — not a real-time trading execution bot. Real-time streaming, L2 order book, broker execution, and intraday tick data are out of scope and excluded from gap analysis.
Last updated: 2026-06-13 (post Alpaca market data module, Polygon Advanced plan, trades system)
| Provider | Module key | Plan | Cost/month | Auth |
|---|---|---|---|---|
| Alpha Vantage | alphavantage |
Free | $0 | ALPHAVANTAGE_API_KEY |
| Benzinga (pro.benzinga.com) | benzinga |
Paid | BEZINGA_API_KEY |
|
| Articles (local archive) | articles |
Internal | $0 | none |
| BEA (Bureau of Economic Analysis) | macro_calendar |
Public | $0 | BEA_API_KEY |
| BIS | imf |
Public | $0 | none |
| BLS (Bureau of Labor Statistics) | macro_calendar |
Public | $0 | BLS_API_KEY (optional) |
| ECB | imf |
Public | $0 | none |
| EODHD (eodhistoricaldata.com) | eodhd |
Paid | EODHD_API_KEY |
|
| ETF.com (scraped) | etf_flows |
Public | $0 | none |
| Unusual Whales daily CSVs | uw |
Internal | $0 | none (downloaded by uw_download.py) |
| Financial Modeling Prep | fmp |
Premium | $49.00 | FMP_API_KEY |
| FinViz Elite | finviz |
Elite | $39.50 | FINVIZ_API_TOKEN |
| FINRA REGSHO | finra_short |
Public | $0 | none |
| Forex Factory | economic_calendar |
Public | $0 | none |
| FRED (St. Louis Fed) | fred |
Public | $0 | FRED_API_KEY |
| GDELT | gdelt |
Free | $0 | none |
| iborrowdesk | iborrowdesk |
Public | $0 | none |
| IMF DataMapper | imf |
Public | $0 | none |
| NewsAPI.ai (Event Registry) | newsapi_ai |
5K | $90.00 | NEWSAPI_AI_KEY |
| NewsAPI.org | newsapi |
Developer | $0 | NEWSAPI_ORG_KEY |
| NewsData.io | newsdata |
Free | $0 | NEWSDATA_API_KEY |
| OpenFIGI | openfigi |
Free | $0 | OPENFIGI_API_KEY (optional) |
| Polygon.io | polygon |
Advanced | $29.00 | POLYGON_API_KEY |
| Alpaca (market data) | alpaca_mktdata |
Free (data API) | $0 | ALPACA_API_KEY_PAPER |
| Alpaca (trading) | n/a (routes only) | Paper + Live | $0 | ALPACA_API_KEY_PAPER/LIVE |
| SEC EDGAR | sec + 13f |
Public | $0 | none |
| SEC FTD (REGSHO fails-to-deliver) | sec_ftd |
Public | $0 | none |
| Unusual Whales | unusualwhales |
Paid | $64.75 | UNUSUAL_WHALES_API_KEY |
Total monthly spend: $272.25 + EODHD
Legend: ✅ Fully covered · ⚠️ Partial · ❌ Not covered · — Not applicable (out of scope for analysis platform)
| Data type | Status | Source |
|---|---|---|
| Previous day OHLCV | ✅ | polygon (polygon_prev_close), fmp |
| Historical OHLCV (daily/weekly/monthly) | ✅ | polygon (polygon_aggregates), fmp, finviz |
| Intraday candles (1min–4h) | ✅ | fmp (get_intraday_prices), polygon (5-min, Advanced plan — use ms timestamps) |
| Intraday bars extended hours (pre/post-market) | ✅ | polygon (04:00–20:00 ET), fmp |
| Live price snapshot (batch) | ✅ | alpaca_mktdata (get_stock_snapshots), alpaca (get_snapshots — per-tenant TLS) |
| Market movers (gainers/losers) | ✅ | fmp (get_market_movers), alpaca_mktdata (get_market_movers) |
| Most active stocks | ✅ | alpaca_mktdata (get_most_active) |
| Pre/after-hours price | ✅ | fmp (get_aftermarket_quote) |
| Bid/ask (L1) | ✅ | fmp (get_quote_l1) |
| ⚠️ | Available in polygon_aggregates daily bar; no intraday VWAP |
|
| Company reference data (market cap, shares out, SIC) | ✅ | polygon (polygon_ticker_details), fmp |
| Dividends | ✅ | polygon (polygon_dividends), fmp |
| Stock screener | ✅ | finviz (screener), fmp (screen_stocks) |
| Sector / group performance | ✅ | fmp (get_sector_performance), finviz (group_performance) |
| Data type | Status | Source |
|---|---|---|
| US interest rates (Fed funds, yield curve) | ✅ | fred, fmp (get_treasury_rates) |
| CPI / PCE / PPI inflation | ✅ | fred (get_inflation), alphavantage |
| GDP (real & nominal) | ✅ | fred, imf |
| Labor market (unemployment, NFP, JOLTS) | ✅ | fred (get_labor_market) |
| Credit conditions (OAS spreads, lending standards) | ✅ | fred (get_credit_conditions) |
| Money supply (M2) | ✅ | fred (get_money_supply) |
| Housing data | ✅ | fred (get_housing) |
| Consumer sentiment | ✅ | fred (get_consumer_indicators) |
| ✅ | fred (get_market_indicators), fmp |
|
| Dollar index (DXY) | ✅ | alphavantage (get_forex_daily), fmp |
| Forex (EUR, GBP, JPY, CHF, CNY) | ✅ | alphavantage, imf (ECB FX rates) |
| Commodities (oil, gold, silver, ag) | ✅ | alphavantage (get_commodity_prices) |
| Crypto (BTC, ETH, SOL) | ✅ | alphavantage (get_crypto_daily) |
| International macro (GDP, CPI, debt, current account) | ✅ | imf (241 countries, WEO projections to 2031) |
| Euro area monetary data | ✅ | imf (ECB: HICP, yield curve, €STR, bank lending) |
| BIS financial stability indicators | ✅ | imf (BIS: credit gaps, debt service, property prices) |
| Macro liquidity regime score | ✅ | macro_liquidity (composite: real rates, CB balance sheet, credit, funding stress) |
| Economic calendar (CPI/NFP/FOMC dates + forecast) | ✅ | economic_calendar (Forex Factory, current week) |
| Multi-week macro calendar look-ahead | ✅ | macro_calendar (macro_calendar_upcoming) — FRED release dates, any look-ahead |
| Data type | Status | Source |
|---|---|---|
| Income statement (revenue, EPS, margins) | ✅ | fmp, sec |
| Balance sheet (assets, debt, cash) | ✅ | fmp, sec |
| Cash flow statement (FCF) | ✅ | fmp, sec |
| Key metrics (P/E, EV/EBITDA, P/S, ROE) | ✅ | fmp (get_key_metrics, get_financial_ratios) |
| DCF valuation | ✅ | fmp (get_dcf_valuation) |
| ESG data | ✅ | fmp (get_esg) |
| XBRL financial facts | ✅ | sec (get_sec_company_facts) |
| Full filing history (10-K, 10-Q, 8-K links) | ✅ | sec (get_sec_submissions), fmp |
| Full-text SEC filing search | ✅ | sec (search_sec_filings) |
| Data type | Status | Source |
|---|---|---|
| Next earnings date | ✅ | fmp (get_analyst_data), finviz |
| EPS / revenue estimates | ✅ | fmp (get_analyst_data) |
| Earnings beat/miss history | ✅ | fmp |
| Analyst upgrades / downgrades | ✅ | fmp (get_analyst_data), finviz, benzinga (benzinga_ratings) |
| Price target changes | ✅ | fmp |
| Consensus rating | ✅ | fmp |
| Estimate revision velocity/breadth | ⚠️ | FMP has individual revisions; no breadth/velocity aggregation |
| Earnings transcripts | ❌ | Not available |
| Data type | Status | Source |
|---|---|---|
| Financial / market news search | ✅ | newsapi_ai, newsdata, gdelt, fmp, alpaca_mktdata (get_alpaca_news) |
| Company-specific news | ✅ | newsapi_ai (get_company_news), fmp, finviz, alpaca_mktdata |
| Macro / central bank news | ✅ | newsapi_ai, gdelt |
| Geopolitical news | ✅ | newsapi_ai, gdelt (get_gdelt_geo_news) |
| Article sentiment scoring | ✅ | newsapi_ai (−1.0 to +1.0 per article), newsdata |
| Sentiment timeline / trend | ✅ | gdelt (get_gdelt_sentiment) |
| News coverage volume trend | ✅ | gdelt (get_gdelt_coverage_volume) |
| Top headlines (US) | ✅ | newsapi (disabled by default) |
| Low-latency / real-time news push | ⚠️ | benzinga (pull-based REST; websocket push not yet wired) |
| Local article archive (Economist, Reuters) | ✅ | articles |
| Data type | Status | Source |
|---|---|---|
| Options flow / unusual prints | ✅ | unusualwhales, uw (EOD CSV ext_get_options_flow) |
| Options sweeps | ✅ | unusualwhales (uw_get_options_flow), uw |
| Dark pool prints | ✅ | unusualwhales, uw (ext_get_dark_pool) |
| Put/call ratio | ✅ | unusualwhales (uw_get_market_tide, uw_get_options_volume) |
| Market tide (net call vs put premium) | ✅ | unusualwhales (uw_get_market_tide) |
| Open interest (flow level) | ✅ | unusualwhales (uw_get_options_flow), uw (ext_get_oi_changes) |
| Open interest snapshot (full chain) | ⚠️ | OI available in flow data; no full chain OI snapshot by expiry/strike |
| Implied volatility (per trade) | ✅ | unusualwhales (included in flow records), uw |
| IV rank / IV percentile | ⚠️ | eodhd (eodhd_hist_volatility) — HV rank proxy; IV rank needs options add-on |
| IV term structure / skew | ❌ | Options add-on not on current EODHD plan |
| Delta / gamma per position | ⚠️ | Available in flow data; no aggregate gamma exposure map |
| Net premium ticks (intraday) | ✅ | unusualwhales (uw_get_net_prem_ticks) |
| Options screener | ✅ | finviz (options_screen), uw (ext_get_options_screener) |
| Congress trades | ✅ | unusualwhales (uw_get_congress_trades), fmp |
| Data type | Status | Source |
|---|---|---|
| Cost to borrow (daily series) | ✅ | iborrowdesk |
| Shares available to borrow | ✅ | iborrowdesk |
| Borrow utilization signal | ✅ | iborrowdesk (High/Medium/Low from fee rate) |
| Daily short volume ratio | ✅ | finra_short (finra_short_volume) — T+1, free |
| Official biweekly short interest | ✅ | finra_short (finra_short_interest) — FINRA REGSHO, biweekly |
| Short interest % of float (screener) | ⚠️ | finviz (screener field, delayed snapshot) |
| Short interest time series | ⚠️ | finra_short gives biweekly history; no daily trend |
| Near-live short interest estimates | ❌ | Requires ORTEX or S3 Partners (paid) |
| Failure-to-deliver (FTD) data | ✅ | sec_ftd (sec_ftd_get, sec_ftd_trend) — SEC REGSHO bimonthly files |
| Data type | Status | Source |
|---|---|---|
| 13F holdings (current quarter) | ✅ | 13f (SEC EDGAR, 45-day lag inherent) |
| 13F new/added/reduced/closed positions | ✅ | 13f (manager_new_positions) |
| Per-position type (long vs put vs call) | ✅ | generate_13f_positions.py script (CSV output) |
| Insider buying / selling (Form 4) | ✅ | fmp (get_insider_trades), sec, finviz |
| Insider transaction detail (role, size, type) | ✅ | fmp |
| 13D/13G activist filings | ⚠️ | sec (search_sec_filings) — unstructured text search; no clean API |
| Institutional ownership % | ✅ | fmp (get_company_profile), finviz |
| Fund ownership changes (quarter-over-quarter) | ✅ | 13f (via comparison of current vs prior quarter) |
| Fund-level drill-down (per manager, all holdings) | ✅ | 13f (generate_13f_positions.py CSV) |
| Data type | Status | Source |
|---|---|---|
| ETF fund flow (daily/weekly/monthly/YTD) | ✅ | etf_flows (ETF.com scrape) |
| Top ETFs by inflow/outflow | ✅ | etf_flows (etf_get_top_flows) |
| ETF holdings / sector weightings | ⚠️ | fmp (requires Ultimate plan for full flows; basic holdings available) |
| Sector ETF relative performance | ✅ | fmp, finviz (group_performance) |
| Leveraged ETF flows | ❌ | Not available |
| Data type | Status | Source |
|---|---|---|
| EMA (9/12/21/50/200) | ✅ | fmp (get_technical_indicator) |
| SMA (50/200) | ✅ | fmp |
| ✅ | fmp |
|
| ✅ | fmp |
|
| ADX / DMI | ✅ | fmp |
| Williams %R | ✅ | fmp |
| Standard deviation | ✅ | fmp |
| ⚠️ | Derivable from FMP EMAs — no direct MACD endpoint | |
| VWAP (intraday) | ⚠️ | Daily VWAP available in polygon_aggregates; intraday not available |
These are the remaining gaps that would meaningfully improve report quality for an analysis platform, ranked by impact. Items irrelevant to report generation (real-time streaming, execution APIs, L2 order book) are excluded.
True IV rank / term structure — EODHD Options add-on or ORATS (~$40–70/month)
The current EODHD plan provides historical (realised) volatility rank via eodhd_hist_volatility — a useful proxy, but not true implied volatility rank. IV rank and IV term structure require either upgrading the EODHD subscription to include the Options add-on, or subscribing to ORATS Core (~$40/month). This is the most impactful remaining gap for options analysis sections.
Earnings call transcripts — any provider
Currently the system can identify earnings dates, beats/misses, and revisions, but cannot read what management actually said. Transcripts would dramatically improve the qualitative section of equity reports. Sources: Seeking Alpha (scrape with cookie auth — same pattern as the articles module), or Intrinio (API, ~$50/month). The articles module infrastructure already exists for this pattern.
sec-api.io for cleaner Form 4 / 13D feeds (~$50–150/month)
The current data_ingestion_sec.py hand-rolls XML parsing of EDGAR filings, which is brittle against format variations. sec-api.io delivers Form 4 insider transactions, 13D/13G activist filings, and all SEC filings as clean structured JSON. For an analysis platform the real-time aspect is secondary — the structured clean data is the value.
ORTEX for near-live short interest (~$50–100/month)
finra_short covers official biweekly short interest and daily short volume ratio. ORTEX would add near-live short interest % of float as a time series. Useful for more precise squeeze analysis but FINRA covers the essentials.
~~Benzinga API~~ — now integrated (benzinga module). Covers news, analyst ratings, earnings calendar, dividends, and guidance.
| Category | Status |
|---|---|
| Price / OHLC history | ✅ Complete |
| Macro series & calendar | ✅ Complete (FRED multi-week calendar + BLS + BEA) |
| Fundamentals & valuation | ✅ Complete |
| Earnings & analyst estimates | ✅ Complete |
| News & sentiment | ✅ Complete (pull-based; Benzinga adds structured finance events) |
| Options flow & dark pool | ✅ Complete |
| Short interest & borrow | ✅ Complete (official FINRA + iborrowdesk) |
| Institutional 13F holdings | ✅ Complete |
| Insider trading | ✅ Complete |
| ETF fund flows | ✅ Complete (ETF.com scrape) |
| Technical indicators | ✅ Complete |
| HV rank (realised vol proxy) | ✅ eodhd (eodhd_hist_volatility) — HV rank/percentile from EOD prices |
| IV rank / term structure (true IV) | ⚠️ Partial — requires EODHD Options add-on or ORATS |
| Earnings call transcripts | ❌ Gap — scrape Seeking Alpha or Intrinio API |
| Multi-week macro calendar | ✅ macro_calendar (macro_calendar_upcoming) — FRED release dates |
| Failure-to-deliver data | ✅ sec_ftd (sec_ftd_get, sec_ftd_trend) |
| Near-live short interest % of float | ⚠️ Partial — FINRA biweekly covers it; ORTEX for near-live |
| Structured insider/activist filings | ⚠️ Partial — EDGAR works; sec-api.io cleaner |