Point-in-time US equity & options data: vol premium, earnings moves, dilution, FDA events, splits
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Connectivity and API-key check against the Alphanume API. Returns the API's status and version. Call this first if any other tool errors, to distinguish a bad/missing API key from a dataset-specific problem.
This tool takes no arguments.
Connectivity and API-key check against the Alphanume API. Returns the API's status and version. Call this first if any other tool errors, to distinguish a bad/missing API key from a dataset-specific problem.
No arguments.
{
"type": "object",
"properties": {},
"additionalProperties": false
}FDA advisory-committee (AdCom) votes: every drug/biologic advisory committee meeting from 2024 forward, with the committee's exact vote tallies extracted from the official minutes PDFs (verified against the PDFs) -- one row per (meeting, vote question). The tally (vote_yes/vote_no/vote_abstain), the verbatim question, which answer was the product-favorable one, and whether the favorable side won; plus sponsor, drug, indication, committee, center, meeting status, and links to the minutes/transcript/briefing materials so any number can be checked at the source. A meeting with no tally is still a row -- vote_evidence says why (minutes not posted yet vs discussion-only vs not held), which is the difference between 'no data' and 'no vote'. Minutes land MONTHS after meetings, so recent meetings sit at minutes_not_posted until FDA publishes; rows re-label automatically when materials change. The forward calendar (scheduled meetings) is included. AdCom votes precede FDA decisions by weeks-to-months and FDA usually -- not always -- follows them. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing. Note: meetings are sparse (a few per month), so short date windows are often legitimately empty.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| drug | any | Case-insensitive substring on the drug/asset name (2-100 chars). |
| center | any | Owning FDA center: CDER, CBER, or OC (Office of the Commissioner). |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| sponsor | any | Case-insensitive substring on the sponsor company (2-100 chars). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| asset_key | any | Exact normalized asset key -- the group-by for 'every AdCom appearance of this asset' and the linkage audit key. |
| committee | any | Committee abbreviation (e.g. ODAC, VRBPAC, PDAC) or name substring. Matches joint meetings via the full committee list, so PDAC finds meetings where it co-sat. |
Buyback announcements: US-listed companies telling the market they will (or may) repurchase their own common stock, read from 8-K filings and their press releases. One row per 8-K that announces something NEW; event_type says what: a new repurchase authorization, an increase / extension / renewal (including a raised buyback target), an accelerated share repurchase, an issuer tender offer, a Rule 10b5-1 repurchase plan, or a program being completed, terminated or suspended. event_date is the announcement date the filing states (falling back to the 8-K period of report, then the filing date); filed_at is when the 8-K reached EDGAR and is the point-in-time clock. Served per row: ticker, cik, company_name, accession_no, a one-sentence event_description, authorized_amount_usd (for an increase: the increment when the filing states one, the new total when it states only that), authorized_shares for share-denominated programs, pct_of_market_cap (announced dollars over the market cap on the last session before the filing, in percent), expiry_date, replaces_prior_program (1 replaces / 0 in addition / NULL silent), remaining_prior_amount_usd (capacity the filing says was left under the prior or existing program), confidence and last_updated. Only first announcements are served. A later filing that restates an announcement already in the feed (the earnings release two weeks after the 8-K, an 8-K/A) and mentions of actions more than 45 days old are withheld, so a company's $50B authorization appears once, not every time it is repeated. Rows the labeler scored under 0.75 confidence are not served. Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees the full history. Honest limits, stated plainly. These are ANNOUNCEMENTS: an authorization is permission, not a commitment, and how much was actually repurchased is not in this dataset. authorized_amount_usd is NULL when the size is stated only in shares or not at all -- 10b5-1 plans and completions usually state none. pct_of_market_cap is NULL without a dollar size or market-cap history and is suppressed above 100. One event per filing: when an 8-K announces an authorization and a 10b5-1 plan under it, the authorization is the row. Not covered: issuer tender offers filed only on Schedule TO-I, foreign private issuers (6-K), and non-traded REIT / fund redemption plans (deliberately excluded -- those are investor liquidity, not buybacks). A small share of real announcements buried in long earnings releases is missed. History starts 2024-01-01. Default order: newest event_date first, then ticker, so the first page is the most recent announcements. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id back to fetch the next page.
Corporate default events labeled from SEC filings: answers "which public companies just defaulted on an obligation, and on what terms?" One row per default event: ticker, event date, source filing URL, plus enriched fields extracted from the filing text -- event type, the obligation's name and type, creditor name, principal outstanding, amount accelerated, missed payment amount, stated default date, grace period end, whether acceleration was declared, and a confidence score with the supporting evidence quote. Fields are null where the filing text did not explicitly support them. Use it for distressed screening, credit event studies, or monitoring a date range for fresh defaults. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer |
US digital-asset enforcement, one normalized tape across the three agencies that bring it: SEC litigation releases and administrative proceedings, CFTC enforcement press releases, and DOJ criminal announcements, 2024+. One row per (action, respondent): what was alleged (multi-category), statutes cited, tokens/assets involved (real JSON arrays), monetary relief with its stated basis, settled flag (three-state), listed-issuer linkage where the document itself states one, and a follow-up chain linking successive actions by the same agency against the same respondent (complaint -> consent order, indictment -> plea). The date window filters published_date (structural, the agency's announcement date); action_date is extracted from the document with its own precision enum. One matter can appear once per agency -- nothing links across agencies, by design. monetary_relief_usd repeats on each respondent row of one action; de-duplicate on action_key before summing. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| asset | any | Case-insensitive substring over the assets list, e.g. 'bitcoin'. Asset strings are unnormalized document literals (Bitcoin/BTC both occur). |
| agency | any | Which agency brought the action: sec, cftc, or doj. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
Material cybersecurity incidents: every Form 8-K filed under Item 1.05 (the SEC cyber-disclosure rule, live since 2023-12-18) plus its 8-K/A amendments -- the entire population, ~80 filings and growing. One row per filing, with FOUR distinct date roles kept rigorously separate: incident discovered, materiality determined (both extracted from prose, with day/month/quarter precision enums), disclosed and amended (both structural EDGAR dates, never model-guessed) -- plus the intervals between them (investigation time, compliance-clock time, total latency). Flags are three-state: 1 = filing says yes, 0 = filing says no, NULL = filing does not say -- never collapsed. Amendments are separate rows linked to their original (original_accession_number, days_original_to_amendment); an incident with three 8-K/As is four rows. materiality_determined_date is sparse (~15% fill) because most filings simply do not state one. days_determination_to_disclosure is CALENDAR days; the SEC's deadline is four BUSINESS days -- adjust before compliance claims. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| cik | any | SEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker). |
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
De-SPAC lifecycle: one row per SPAC business combination tracked from the definitive-agreement announcement through registration, definitive proxy, shareholder vote, exchange listing and completion (or termination / trust liquidation). Every row carries the SPAC's own symbol (prior_ticker), the combined company's symbol as soon as a filing names it (new_ticker -- the definitive proxy does so in most deals, weeks before the close), warrant ticker, exchange, SPAC / target / new company names, and the dated milestones: announced_date, meeting_date, record_date, vote_approved_date, listing_filed_date, expected_close_date and expected_trading_date (each with a *_basis column saying whether the date was stated in a filing or derived), closing_date, trading_commencement_date, terminated_date, plus next_event_date / next_event_type for what comes next. Completed rows also carry the closing financials (redemption shares and dollars, trust remaining, PIPE, gross proceeds, pro forma shares, enterprise and equity value), a confidence score and the supporting evidence quote. `date` is the SEC filing date of the filing that set the row's current status (for completed deals: the closing 8-K). `ticker` is the symbol trading for the deal today (new_ticker once listing is pending, otherwise prior_ticker). Fields are null where no filing supported them; quality_flags lists any rule that altered or withheld a value. Use status=pending&upcoming=true to see de-SPACs before the new symbol trades, ticker=<SPAC symbol> to follow one deal, view=history to replay what was known on a given date, or status=completed with a date range for the classic redemption-rate event study. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| view |
S-1 dilution filings tracker: answers "which companies are registering new share supply, and where is each registration in its lifecycle?" One row per S-1 registration event: ticker, company name, filing timestamp, market cap at filing, whether the filing is dilutive and/or a resale, shares offered, whether/when it became effective (with days-to-effective), whether/when it was withdrawn, and the SEC accession number + filing URL for the source document. Use it to flag dilution overhang on small caps, track time-to-effectiveness, or build event studies around registration filings. Filters by ticker and filing-date range (no exact-date parameter on this dataset). Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
Dividend-capture calendar and scorecard: answers "which ex-dividend events are coming up, and how has capturing this name's dividend actually worked?" One row per ex-dividend event: the full schedule (declaration/record/pay dates, cash amount, frequency, type, annualized dividend, capture yield), the ex-day price action (cum-day close, ex open/close, price drop and drop ratio at open and close, net capture %), and the recovery record (breakeven price, recovery status/date, days to recover, recovered-within 1/3/5/10/20-day flags). A drop ratio well below 1 means the stock historically falls less than the dividend -- the raw material of a capture strategy. Set upcoming=true for the forward ex-div calendar (default 7 days out, up to 120 via future_days); use `ticker` for one name's full capture history. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
Earnings move track record: answers "does the options market systematically over- or under-price this name's earnings moves?" One row per earnings event per ticker: the pre-earnings ATM straddle price and implied move (% and $), ATM IV, the realized post-earnings return and absolute move, the over/under-pricing gap and move ratio, an `overpriced` flag, EPS estimate vs actual, plus running per-ticker history stats (events to date, hit rate of straddle overpricing, average implied vs realized move to date). Use it before an earnings trade: query `ticker` to see whether selling or buying the earnings straddle has historically paid on that name, or screen a `date` to review how yesterday's reporters resolved. `date` is the earnings date. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte |
Adverse FDA regulatory actions disclosed in 8-Ks: Complete Response Letters, full and partial clinical holds, and refuse-to-file letters, 2024+, each graded by an explicit severity precedence rule with the evidence flags the grade depends on served alongside it (new-trial-required, manufacturing-related, resubmission-path, hold-lifted). Follow-ups and resolutions are linked per (issuer, drug program), so an original hold row answers 'was it ever lifted, and how long did it take'. By default only classified FDA events are returned (~196 rows); the ~1,520 audited not-an-event rows the full-text sweep also retrieved are available with include_rejects=true. The date window filters disclosed_date (the EDGAR filing date); event_letter_date is extracted with its own precision enum and days_letter_to_disclosure is the selective-disclosure measure -- on initial_disclosure rows only (on follow-ups it measures distance to the original letter). Selective disclosure is the headline caveat: a CRL disclosed only in a 10-Q, or never, is not here. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| cik | any | SEC CIK number (digits only). |
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
SEC filing intensity: the number of EDGAR filings each company submitted per day. Corporate action leaves fingerprints in the filing stream -- financings, restructurings, activist involvement, and deal activity all show up as bursts of filings before the news is digested. One row per ticker per day: ticker, company name, date, filing_count. Screen filing_count_gte over recent dates to surface names with unusual filing bursts, or pull one `ticker`'s history to spot regime changes in its filing cadence. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any |
Point-in-time historical market capitalization: daily market_cap and shares_outstanding per US ticker, as they were known on each date (no restatement, no survivorship bias). The backbone reference for size filters, cap-weighted baskets, and normalizing anything by company size in a backtest. Requirements: provide `ticker` OR at least one date filter. A single `date` with no ticker returns the whole market for that day; a date RANGE without a ticker is capped at 7 calendar days. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page. Companion tool: list_market_cap_tickers shows which tickers exist and their first available date. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte |
Volatility risk premium screener: answers "are this name's options rich or cheap right now?" For every liquid US optionable equity, per trading day: ~30-day at-the-money implied volatility (iv) vs ~30-day realized volatility (hv), their spread (iv-hv) and ratio (iv/hv), plus daily cross-sectional percentile ranks and z-scores for each measure, option notional volume, and the ATM strike/expiry/spot used. Rows update intraday (is_final=0) and settle after the close (is_final=1). Use it to find overpriced premium to sell (high iv_hv_ratio / min_ratio_rank near 1), underpriced options to buy, or to track one ticker's premium history via `ticker`. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
IV Rank & IV Percentile (52-week): answers "is this name's volatility high or low *for itself*?" For each US optionable equity, per trading day: where current ~30-day implied vol and 20-day realized vol sit inside that name's own trailing-year range -- iv_rank/hv_rank (0-100 position between the 52w low and high), iv_percentile / hv_percentile (share of the past year's days below today), the 52w high/low/median levels themselves, and daily cross-sectional ranks/z-scores for context. Rows update intraday and settle after the close (is_final=1). The classic premium-selling timing filter: min_iv_rank=50 finds names in the upper half of their own vol range regardless of absolute vol level. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
Lock-up expiration calendar: when insider and pre-offering shares become eligible for sale after a US IPO or follow-on offering, past and UPCOMING, with the size of the locked block versus the offering float. One row per lock-up tranche per offering, sourced from the final prospectus (SEC Form 424B4 / 424B1) filed the day after pricing. `date` (also served as expiration_date) = the lock-up anchor (normally the prospectus date) plus the lock-up length in calendar days; shares_sellable_from is the first NYSE session on or after it. A plain 180-day lock-up is one row (tranche_seq 1 of 1); a staggered release is several rows sharing accession_no with tranche_pct. lockup_type separates operating-company IPOs (typically 180 days) from follow-on offerings by already-public issuers (typically 60-90 days). Blank-check (SPAC) IPOs are excluded. History from 2021. Sizing: locked_shares is the prospectus-stated locked count where given, otherwise shares outstanding after the offering minus shares offered. float_shares_at_offering = shares sold in the offering (plus the over-allotment when its exercise is stated); locked_to_float_ratio = locked / float, so 3.0 means three times the offering float unlocks on `date`. locked_pct_of_outstanding is the same block as a share of total shares outstanding. Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees full history and the forward calendar. Honest limits, stated plainly. Early-release clauses are common in recent IPOs (a release tied to the first earnings announcement, a price-based release, or staged tranches); the row carries early_release_type and the verbatim early_release_terms, but v1 does not compute the earlier date -- treat `date` as the contractual outside date when early_release_type is not 'none'. The over-allotment exercise is unknown at prospectus time, so the float can be understated by up to 15%. ticker may be NULL for a few days on a brand-new IPO; first_trade_date is IPO-only (NULL on follow-ons); market_cap_at_offering is NULL until the cap history covers the ticker; rows are never dropped for missing enrichment. confidence (0-1) is a per-row quality signal for the extracted terms; 0.9 means every term was resolved by the deterministic parser. first_seen_at is when our pull first observed the prospectus (synthetic = filing time for rows backfilled before launch). Default order: upcoming expirations first, nearest to today first, then already-expired rows most recent first -- so the first page is the calendar of what happens next. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id back to fetch the next page.
Quant Galore Momentum Index constituents: the daily holdings of a rules-based 12-1 momentum strategy (long the highest-momentum US names, refreshed on a fixed schedule). One row per constituent per day: date, ticker, and rank (1 = strongest). History is point-in-time -- each day shows exactly what the index held then, so backtests are free of look-ahead. Use it to mirror the index, source high-momentum candidates, or study momentum portfolio turnover. Query a single `date` for that day's basket, or a range to see how the basket evolved. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
Next-Day Movers: each trading day, the US equities a volatility model ranks most likely to make an outsized price move in the *next* session. Rows carry the ticker, the list date, and -- once the next session has traded -- the realized outcome (`return` = signed next-day return, `absolute_move` = unsigned magnitude), so the dataset doubles as its own scorecard. Use it to focus long-gamma / straddle / breakout attention on a short daily list, or to backtest the signal against realized moves over a date range. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
Historical optionable universe: point-in-time snapshots of which US equities had listed options on each snapshot date, with the average number of days between listed expirations (avg_days_between -- lower means a denser expiration calendar) and a has_weeklies flag. Essential for honest options backtests: it tells you what was actually tradable *then*, not what is optionable today. Filter by snapshot date range; omit filters for the most recent snapshots first. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_date |
Pre-market drop risk: model-estimated probability of an intraday decline in US microcaps, published each morning before the open. Each trading morning, by ~09:25 ET and ahead of the 09:30 open, a RandomForestClassifier scores every microcap that actually traded in the pre-market session and this dataset serves the names ranked by modeled drop risk. Features are cut at a fixed 09:00 ET pre-market cutoff. prob_drop is P(intraday open->close return <= -5%); one row per (date, ticker), ordered by rank_for_date (1 = the highest-probability name that day). It measures the subset the model flags, not everything that moved overnight, and is built for researchers and traders analyzing pre-market activity in US microcaps. Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees the whole history, whatever dates it asks for. Sub-$1 names are featured, not filtered. Every row the model flags is published, each carrying a sub_dollar flag: pass min_price=1 for the legacy '$1 and up' screen, sub_dollar=1 (or max_price=1) to isolate the penny cohort, max_rank=5 for the day's top five. History before go-live (2026-08-31) is walk-forward simulated: generated retrospectively by re-running the walk-forward loop (train on strictly-prior rows only, then score that date). There is no look-ahead in the features or the training window, but rows dated before go-live are not a real-time publication record; rows from go-live onward are published live each morning before the open. Outcomes fill in late, never early. intraday_return_pct lands the same evening; return_lead_1d / return_lead_5d / return_lead_30d only once 1 / 5 / 20 NYSE sessions have elapsed -- NULL means not yet mature, or no exchange print existed at maturity (halts and delistings, which this microcap universe produces regularly). Three documented quirks kept for continuity with the training set: return_lead_30d is 20 trading sessions rather than 30 calendar days; return_lag_1m uses the 21-session price change over the price 252 sessions back (a legacy denominator quirk, so it is not a clean 1-month return); and the t_0..t_9 pre-market return grid is 0-filled, not NULL, when no print exists at or before that clock mark. Borrow and locate costs are NOT modeled. Shorting a sub-$1 microcap needs a locate that may be expensive or simply unavailable, and no number served here carries that cost. sub_dollar and min_price are the levers for filtering toward borrowable names. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and rank_for_date back as cursor_date and cursor_rank to fetch the next page.
PIPE / private-placement deal feed: US-listed issuers raising money through unregistered placements (PIPEs, registered directs with warrants, convertible notes and preferreds, equity lines / ELOCs, SEPA pre-paid advances), each deal graded 0-3 for how toxic -- how price-dependent and dilutive -- its terms are. One row per 8-K private-placement deal event: an announcement (the securities purchase agreement is signed and disclosed), a closing (funds received), an amendment or price reset, or a termination; event_kind says which. announce_date is the 8-K filing date and is the feed's clock; event_date and closing_date are the dates the filing states. A deal announced and later closed is two rows sharing ticker and cik under different accession_no values. Deal economics served per row: gross_proceeds_usd (or committed_capacity_usd for an equity line), shares_sold, price_per_share_usd, discount_to_prior_close_pct, price_basis (fixed / variable_discount_to_market / lesser_of / unstated) with the variable discount, lookback window and floor, reset_provision, warrant_coverage_pct with exercise price and term, has_prefunded_warrants, original_issue_discount_pct, the stated investors / investor type / placement agent / exemption, the resale registration deadline and (once filed) the resale S-1 / S-3 form and dates, and market_cap_at_announce_usd with proceeds_pct_of_market_cap. toxicity_score, the 0-3 scale, derived from the stated terms: 3 = variable-price conversion (priced off a discount to future VWAP / lowest close, or the lesser of a fixed price and market) or a VWAP-priced equity line -- dilution grows as the price falls; 2 = a ratchet / price-reset provision, or >= 100% warrant coverage at >= 15% discount to the prior close, or original issue discount >= 10%; 1 = any common warrants, or a >= 10% discount, or any OID, or an equity line without a stated pricing formula; 0 = fixed price at or above market with at most pre-funded warrants; NULL = the terms live in an exhibit v1 did not read. The grade summarizes structure, not the issuer's prospects: a 0 can still be a large raise by a struggling company, which is what proceeds_pct_of_market_cap is there to show. Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees the full history. Honest limits, stated plainly. v1 reads the 8-K body, not its exhibits, so a deal whose economics live only in the attached purchase agreement carries price_basis='unstated', terms_in_exhibit_flag=1 and a NULL toxicity_score -- filter min_toxicity to keep only graded rows, or read terms_in_exhibit_flag before treating a NULL as benign. Investor names are frequently undisclosed ("certain institutional investors"); investor_names_stated is what the filing says, nothing more. discount_to_prior_close_pct needs a Polygon daily bar for the prior session and is NULL for unlisted or brand-new tickers and for variable-priced deals. market_cap_at_announce_usd and proceeds_pct_of_market_cap are NULL when the cap history does not cover the ticker; resale_* columns are NULL until a resale registration is filed / effective. SPAC-related placements (a PIPE into a de-SPAC, trust-extension financing) are flagged with is_spac_related=1, not removed. Rows are never dropped for missing enrichment. confidence (0-1) is a per-row quality signal for the extracted terms. first_seen_at is when our pull first observed the 8-K (synthetic = filing time for rows backfilled before launch). Default order: newest announce_date first, then ticker, so the first page is the most recent deals. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id back to fetch the next page.
Reverse-split calendar: every US reverse stock split, executed and UPCOMING, with pre-split price, market-cap tier, and dilution/shelf cross-links. One row per (ticker, execution date), sourced daily from Polygon's reference splits feed. Because the feed carries future execution dates, upcoming=true is a genuine forward calendar (~40 scheduled splits at any moment); ~70-100 reverse splits execute per month, almost all sub-$1 microcaps curing a listing deficiency. first_seen_at records when the pull first observed the row (an announcement proxy; for rows backfilled before launch it is set to the execution date itself and is synthetic). Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees full history and the forward calendar. Research context, stated plainly: in the Alphanume anomaly sweep (2022-2026, matched-control event study), reverse-split names underperform controls by roughly -6%/-12%/-18%/-40% over the 21/63/126/252 sessions after execution (~60% of events negative; Kim-Klein-Rosenfeld 2008 found the same). That makes this a screening/avoidance signal -- e.g. exclude fresh reverse-splitters from long screens, or use the calendar to anticipate the event. It is NOT a tradeable short card: borrow on these names is scarce and expensive and is not modeled anywhere, the calendar-time short portfolio was statistically inconclusive net of costs, and the long-horizon numbers are survivor-conditioned (only ~47% of events still have a full price history 252 sessions out). No CAR columns are served; the feed is the product. Enrichment semantics. sub_dollar_flag marks names whose unadjusted close the session before the split was under $1 (the raw price is an internal input and is not served). market_cap_before / market_cap_tier are populated from 2024-01-02 (NULL earlier -- the cap history starts there). ratio = split_to/split_from (<1 = reverse; a 1-for-10 is 0.1); is_deficiency_candidate flags ratio <= 0.5, separating real consolidations from ADR-fee-style near-1.0 adjustments, which are served raw. dilution_link_flag/shelf_link_flag mark an S-1 or S-3/F-3 filing by the same ticker in the trailing 365 days (dilution links meaningful from 2026, shelf links from 2025 -- the linked datasets' own history floors). Upcoming rows carry NULL sub_dollar_flag until execution; OTC names outside the coverage universe may keep it NULL along with cap fields. Open-end mutual fund share adjustments are excluded at ingest; ETFs and closed-end funds are included. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date and cursor_ticker back to fetch the next page.
SEC trading suspensions: every Section 12(k) order halting trading in a stock, 1995 to today -- the terminal-risk tape for dying OTC and small-cap names. One row per (order, issuer): who was halted, when trading stopped, when it could legally resume (first NYSE session after the order terminates), the cited reason normalized to a 4-value taxonomy, listing venue, and the order PDF URL. Bulk delinquency orders (2013-2021) name up to ~55 issuers under one release_number -- use issuer_count/issuer_index to collapse rows back to order level. Ticker is NULL where the order states none (most pre-2022 rows). resumption_at is when trading MAY resume; many suspended names never quote again. The SEC's suspension output collapsed after 2021: expect only a handful of orders per year since. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing. Note the newest event may be months old: short date windows can legitimately be empty on this dataset.
| Argument | Type | Description |
|---|---|---|
| cik | any | SEC CIK number (digits only) to filter by issuer. The only survivorship-proof id for dead shells; NULL on most bulk-order rows. |
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt |
Shelf registrations: every S-3/F-3 shelf registration statement, amendment and automatic (WKSI) shelf, normalized into a point-in-time capacity ledger -- the upstream signal behind every dilution screener. One row per filing: ticker, cik, company name, form, shelf_type (new|amendment|automatic), capacity_amount in USD (NULL means an indeterminate/automatic shelf -- never a guessed number), securities covered, WKSI flag, is_resale (selling-stockholder registrations), EFFECT date, days_to_effective, a 3-year expiry estimate, 424B5 takedown count, and market cap / shares outstanding at filing. Authorization is not issuance: capacity_amount is what the shelf REGISTERS, not what was sold. Screen date_gte over recent weeks for fresh shelf capacity, filter shelf_type=new + is_resale=0 rows for primary dilution risk, or pull one `ticker`'s history. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and accession_number back as cursor_date and cursor_accession to fetch the next page. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| cik | any | SEC CIK number (digits only) to filter by issuer. |
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| form | any | Exact form type: S-3, F-3, S-3/A, F-3/A, S-3ASR or F-3ASR. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
Short-locate costs: what it costs to locate (borrow for shorting) shares of every hard-to-borrow US stock, observed twice a day -- point-in-time, never revised. One row per (date, slot, ticker). Each sweep prices every listed US stock the broker marks NOT easy-to-borrow (~7,500 names). Served per row: date (US/Eastern trading date of the sweep), slot (am / pm), snapshot_time_utc (when the sweep ran, UTC to the minute, e.g. '2026-10-15 11:45' -- every row of a sweep shares it), ticker, status, price_per_share (USD per share), cost_per_100 (USD to locate 100 shares) and available_qty (shares that can be located right now). price_per_share and cost_per_100 are NULL unless status is 'offered'; available_qty is NULL unless a quote came back (0 for 'no_shares'). Typical uses: the borrow cost of a short idea on a given morning, names whose locate cost spiked or whose availability dried up, threshold-list membership over time, and the cost side of a short-selling backtest from 2026-10-08 onward. Requires an Alphanume Pro API key. There is no date clamp on this route. Honest limits, stated plainly. These are one broker's (Alpaca's) locate quotes for its own inventory, not a market-wide borrow rate -- another broker can quote the same name 2x higher or lower. Names the broker lends freely (easy-to-borrow) are not in the dataset. History starts 2026-10-08 and there is no backfill: locate quotes only exist live. Two sweeps a day, so intraday moves between sweeps are not captured. Default order: newest date first, pm before am, then ticker, so the first page is the latest sweep. One sweep is ~7,500 rows: filter by ticker, date, slot or status to keep results small. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date, cursor_slot and cursor_ticker back to fetch the next page.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| slot |
S&P 500 risk regime: a daily binary classification of whether the US equity tape is in a risk-on or risk-off state. One row per trading day: date and risk_regime label. Deliberately minimal -- it is designed to be the overlay/kill-switch input to other strategies (e.g. only run momentum or premium-selling in the favorable regime), not a dataset you mine on its own. Query the latest date for the current regime, or a range to backtest a regime-filtered strategy. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
SPX 0-DTE strike band: for each trading day, a model-derived intraday range (lower_strike, upper_strike) that same-day S&P 500 index options are expected to stay within, plus the instrument it applies to. One row per day. Use it to structure 0-DTE trades -- e.g. sell iron condors with short strikes at or beyond the band, or fade band breaches -- and to backtest how often the band held over a date range. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
Ticker sector/industry classification: maps every covered US ticker into Alphanume's own 11-sector / 25-industry scheme (derived from SIC codes, but normalized into groups actually useful for trading -- e.g. 'semiconductors' and 'software' are separate industries under 'technology'). One row per ticker: ticker, alphanume_sector, alphanume_industry. Use it to group any other Alphanume dataset by sector, build sector-neutral baskets, or pull all names in one industry. Look up one `ticker`, or filter by `sector`/`industry` to enumerate a group. No date dimension and no tier restriction -- the mapping is current-state.
| Argument | Type | Description |
|---|---|---|
| sector | any | Filter to one Alphanume sector. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| industry | any | Filter to one Alphanume industry. |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
{
"type": "object",
"properties": {
"sector": {
"anyOf": [
{
"enum": [
"essential_goods",
"raw_materials",
"energy_resources",
"consumer_cyclical",
"industrial_transport",
"communications_media",
"healthcare",
"technology",
"utilities_infrastructure",
"finance",
"real_assets"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter to one Alphanume sector."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"industry": {
"anyOf": [
{
"enum": [
"food_beverage",
"basic_materials",
"energy_production",
"durables_apparel",
"industrial_equipment",
"business_services",
"media_content",
"pharma_biotech",
"household_products",
"automotive",
"hardware_devices",
"semiconductors",
"healthcare_services",
"transport_logistics",
"telecom",
"utilities",
"retail_cyclical",
"retail_staples",
"consumer_services",
"banking",
"financial_services",
"insurance",
"real_estate_development",
"reits",
"software"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter to one Alphanume industry."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}Vol-of-Vol Index: answers "how unstable is this name's volatility itself?" For each US optionable equity, per trading day: the coefficient of variation of its ~30-day implied vol (iv_vov) and 20-day realized vol (hv_vov) over the trailing month (std/mean of the last 21 observations), the underlying trailing mean and std, and a daily cross-sectional ranking of the most vol-unstable names. Rows update intraday and settle after the close (is_final=1). High vol-of-vol names are where vega risk is most treacherous (and where vol dislocations appear); low vol-of-vol names have sticky, well-behaved vol surfaces. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
Wikipedia attention tracker: daily page views of each covered company's Wikipedia article, with a 30-day rolling average and a relative 30-day z-score. Retail and media attention shows up in Wikipedia lookups before (and during) big price moves -- a z-score spike means the name is suddenly being researched far more than its own baseline. One row per ticker per day: ticker, company name, date, raw views, avg_30d, zscore_30d. Screen zscore_30d_gte=3 over recent dates for fresh attention spikes, or pull one `ticker`'s history to line attention up against price. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page. Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte |
Coverage map for the historical market cap dataset: every available ticker with its first available date. Use it to check whether (and since when) a name is covered before querying get_historical_market_cap, or to enumerate the full point-in-time universe. No parameters besides the row cap.
| Argument | Type | Description |
|---|---|---|
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
{
"type": "object",
"properties": {
"max_rows": {
"type": "integer",
"default": 0,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}| has_tally | any | true = only rows with a numeric vote tally; false = only placeholder/no-tally rows. |
| application | any | Substring on the application identifiers (NDA/BLA/sNDA numbers as stated in the materials). |
| meeting_key | any | Exact meeting page slug -- all vote rows of one meeting. |
| updated_since | any | YYYY-MM-DD, on last_updated -- rows re-projected after FDA posted new materials (minutes land months late). |
| vote_evidence | any | Why a row does/doesn't carry numbers: minutes_tally (real tally), minutes_no_tally, no_vote_held (discussion-only), minutes_not_posted (FDA hasn't published minutes yet), meeting_not_held. |
| meeting_status | any | held, scheduled, postponed, or cancelled. 'scheduled' rows are the forward calendar. |
| meeting_topic_type | any | product_specific, compounding_nominations, strain_selection, safety_review, or policy_or_class_review. |
| vote_outcome_favorable | any | true = the product-favorable side won; false = it lost. Ties and strain-selection votes are NULL and excluded by either value. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"drug": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring on the drug/asset name (2-100 chars)."
},
"center": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Owning FDA center: CDER, CBER, or OC (Office of the Commissioner)."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"sponsor": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring on the sponsor company (2-100 chars)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"asset_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact normalized asset key -- the group-by for 'every AdCom appearance of this asset' and the linkage audit key."
},
"committee": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Committee abbreviation (e.g. ODAC, VRBPAC, PDAC) or name substring. Matches joint meetings via the full committee list, so PDAC finds meetings where it co-sat."
},
"has_tally": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "true = only rows with a numeric vote tally; false = only placeholder/no-tally rows."
},
"application": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Substring on the application identifiers (NDA/BLA/sNDA numbers as stated in the materials)."
},
"meeting_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact meeting page slug -- all vote rows of one meeting."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD, on last_updated -- rows re-projected after FDA posted new materials (minutes land months late)."
},
"vote_evidence": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Why a row does/doesn't carry numbers: minutes_tally (real tally), minutes_no_tally, no_vote_held (discussion-only), minutes_not_posted (FDA hasn't published minutes yet), meeting_not_held."
},
"meeting_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "held, scheduled, postponed, or cancelled. 'scheduled' rows are the forward calendar."
},
"meeting_topic_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "product_specific, compounding_nominations, strain_selection, safety_review, or policy_or_class_review."
},
"vote_outcome_favorable": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "true = the product-favorable side won; false = it lost. Ties and strain-selection votes are NULL and excluded by either value."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_id | any | Pagination: the 'cursor_id' value from the previous response's next_cursor. |
| event_type | any | Which action the 8-K announces: 'new_authorization' (board authorizes a new repurchase program); 'increase_or_extension' (an existing program is enlarged, extended or renewed, or the company raises its stated buyback target); 'accelerated_share_repurchase' (an ASR agreement); 'tender_offer' (issuer tender offer / Dutch auction announced or results reported); '10b5_1_plan' (a Rule 10b5-1 repurchase plan adopted under an existing authorization); 'completion_or_termination' (a program completed, terminated or suspended). |
| cursor_date | any | Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id. |
| cursor_ticker | any | Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string). |
| updated_since | any | Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs. |
| min_amount_usd | any | Only rows with authorized_amount_usd >= this many dollars (e.g. 1000000000 for $1B). Share-denominated and unsized rows are excluded whenever this is set. |
| min_confidence | any | Only rows with extraction confidence >= this value (0-1). Rows under 0.75 are never served, so values below that have no effect. |
| min_pct_of_market_cap | any | Only rows where the announced dollar size is at least this percent of the issuer's market cap (0-100). Rows with no ratio are excluded whenever this is set. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_id' value from the previous response's next_cursor."
},
"event_type": {
"anyOf": [
{
"enum": [
"new_authorization",
"increase_or_extension",
"accelerated_share_repurchase",
"tender_offer",
"10b5_1_plan",
"completion_or_termination"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which action the 8-K announces: 'new_authorization' (board authorizes a new repurchase program); 'increase_or_extension' (an existing program is enlarged, extended or renewed, or the company raises its stated buyback target); 'accelerated_share_repurchase' (an ASR agreement); 'tender_offer' (issuer tender offer / Dutch auction announced or results reported); '10b5_1_plan' (a Rule 10b5-1 repurchase plan adopted under an existing authorization); 'completion_or_termination' (a program completed, terminated or suspended)."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string)."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs."
},
"min_amount_usd": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with authorized_amount_usd >= this many dollars (e.g. 1000000000 for $1B). Share-denominated and unsized rows are excluded whenever this is set."
},
"min_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with extraction confidence >= this value (0-1). Rows under 0.75 are never served, so values below that have no effect."
},
"min_pct_of_market_cap": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows where the announced dollar size is at least this percent of the issuer's market cap (0-100). Rows with no ratio are excluded whenever this is set."
}
},
"additionalProperties": false
}| Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}| date_lt |
| any |
| End of date range, exclusive (YYYY-MM-DD). |
| settled | any | Three-state: true (document says settled), false (document says not settled), unknown (document does not say). Never collapse unknown into false. |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| record_id | any | Exact served row id: '<action_key>#<respondent_index>'. |
| action_key | any | Exact action id, e.g. 'sec-lr:LR-26456', 'cftc:9285-26', 'doj:<uuid>'. One action returns one row per respondent. |
| allegation | any | Matches anywhere in the allegation list: fraud, unregistered_offering, unregistered_exchange_or_broker, market_manipulation, aml_bsa, sanctions, misappropriation, other. |
| respondent | any | Case-insensitive substring over the respondent name and its normalized key, e.g. 'bankman'. |
| action_type | any | What the document announces NOW: civil_complaint, administrative_proceeding, settled_order, criminal_indictment, criminal_plea, trial_verdict, other. |
| is_followup | any | 1 = this action follows an earlier action by the same agency against the same respondent. |
| has_followup | any | 1 = a later action by the same agency against the same respondent exists. |
| source_index | any | Document kind: litigation-release, administrative-proceeding (SEC only; the PDF orders), or press-release (CFTC/DOJ). |
| updated_since | any | YYYY-MM-DD, on last_updated -- rows touched by the follow-up sweep since this date. |
| respondent_key | any | Exact normalized respondent key (lower-cased, suffixes stripped) -- the group-by for 'every action against this party' within one agency. |
| respondent_kind | any | person or company. |
| cursor_action_key | any | Pagination: 'action_key' from next_cursor. |
| primary_allegation | any | Matches only the lead allegation (same enum as allegation). |
| has_monetary_relief | any | 1 = a dollar amount was stated, 0 = none stated. |
| max_monetary_relief | any | Maximum monetary_relief_usd. |
| min_monetary_relief | any | Minimum monetary_relief_usd. CAUTION: relief repeats on every respondent row of one action -- summing across rows double-counts. |
| action_date_precision | any | Precision of the extracted action_date: day, month, quarter, year, unstated. |
| cursor_published_date | any | Pagination: 'published_date' from next_cursor (send all three cursor params together). |
| cursor_respondent_index | any | Pagination: 'respondent_index' from next_cursor. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"asset": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring over the assets list, e.g. 'bitcoin'. Asset strings are unnormalized document literals (Bitcoin/BTC both occur)."
},
"agency": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which agency brought the action: sec, cftc, or doj."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"settled": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Three-state: true (document says settled), false (document says not settled), unknown (document does not say). Never collapse unknown into false."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"record_id": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact served row id: '<action_key>#<respondent_index>'."
},
"action_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact action id, e.g. 'sec-lr:LR-26456', 'cftc:9285-26', 'doj:<uuid>'. One action returns one row per respondent."
},
"allegation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Matches anywhere in the allegation list: fraud, unregistered_offering, unregistered_exchange_or_broker, market_manipulation, aml_bsa, sanctions, misappropriation, other."
},
"respondent": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring over the respondent name and its normalized key, e.g. 'bankman'."
},
"action_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What the document announces NOW: civil_complaint, administrative_proceeding, settled_order, criminal_indictment, criminal_plea, trial_verdict, other."
},
"is_followup": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1 = this action follows an earlier action by the same agency against the same respondent."
},
"has_followup": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1 = a later action by the same agency against the same respondent exists."
},
"source_index": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Document kind: litigation-release, administrative-proceeding (SEC only; the PDF orders), or press-release (CFTC/DOJ)."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD, on last_updated -- rows touched by the follow-up sweep since this date."
},
"respondent_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact normalized respondent key (lower-cased, suffixes stripped) -- the group-by for 'every action against this party' within one agency."
},
"respondent_kind": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "person or company."
},
"cursor_action_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'action_key' from next_cursor."
},
"primary_allegation": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Matches only the lead allegation (same enum as allegation)."
},
"has_monetary_relief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1 = a dollar amount was stated, 0 = none stated."
},
"max_monetary_relief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Maximum monetary_relief_usd."
},
"min_monetary_relief": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Minimum monetary_relief_usd. CAUTION: relief repeats on every respondent row of one action -- summing across rows double-counts."
},
"action_date_precision": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Precision of the extracted action_date: day, month, quarter, year, unstated."
},
"cursor_published_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'published_date' from next_cursor (send all three cursor params together)."
},
"cursor_respondent_index": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'respondent_index' from next_cursor."
}
},
"additionalProperties": false
}| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| refused | any | 1/0: rows where the labeler declined the filing text (served with NULL extraction fields; the disclosure event is still real). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| attack_type | any | One of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated. |
| cursor_date | any | Pagination: 'date' from next_cursor (send with cursor_accession). |
| amended_flag | any | 1 = originals that were later amended, 0 = originals never amended (NULL on amendment rows themselves). |
| is_amendment | any | 1 = 8-K/A amendments only, 0 = original 8-Ks only. |
| updated_since | any | YYYY-MM-DD, on last_updated -- rows touched by the amendment-linkage sweep since this date. |
| cursor_accession | any | Pagination: 'accession_number' from next_cursor (send with cursor_date). |
| data_compromised_flag | any | 1/0 three-state flag: filing states data was/was not stolen (unfiltered rows include NULL = filing does not say). |
| operations_disrupted_flag | any | 1/0 three-state flag: filing states operations were/were not disrupted. |
| third_party_incident_flag | any | 1/0 three-state flag: incident originated at a vendor/third party. |
{
"type": "object",
"properties": {
"cik": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker)."
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"refused": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1/0: rows where the labeler declined the filing text (served with NULL extraction fields; the disclosure event is still real)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"attack_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "One of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'date' from next_cursor (send with cursor_accession)."
},
"amended_flag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1 = originals that were later amended, 0 = originals never amended (NULL on amendment rows themselves)."
},
"is_amendment": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1 = 8-K/A amendments only, 0 = original 8-Ks only."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD, on last_updated -- rows touched by the amendment-linkage sweep since this date."
},
"cursor_accession": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'accession_number' from next_cursor (send with cursor_date)."
},
"data_compromised_flag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1/0 three-state flag: filing states data was/was not stolen (unfiltered rows include NULL = filing does not say)."
},
"operations_disrupted_flag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1/0 three-state flag: filing states operations were/were not disrupted."
},
"third_party_incident_flag": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "1/0 three-state flag: incident originated at a vendor/third party."
}
},
"additionalProperties": false
}| any |
| 'latest' (default): one row per deal with its current status. 'history': the append-only status log, one row per transition (deal_id, status, date = filing date, created_at = when the pipeline first recorded it) for point-in-time replays. |
| status | any | Comma-separated deal statuses to return: announced, registration_filed, registration_effective, vote_scheduled, approved, listing_pending, completed, terminated, liquidated; or the shorthands 'all' (default) and 'pending' (every non-terminal status). Unknown values return a 400 listing the valid ones. |
| ticker | any | Symbol filter matched against BOTH the SPAC's own symbol (prior_ticker) and the post-combination symbol (new_ticker), so either side of the rename works. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| upcoming | any | 'true' = only pending deals with a future milestone (next_event_date >= today); 'false' = everything else. Omit for both. |
| updated_since | any | Only rows updated at or after this timestamp (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS); for incremental syncs. |
| next_event_lte | any | YYYY-MM-DD: only deals whose next milestone (meeting, expected close or expected first trade) is on or before this date. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"view": {
"anyOf": [
{
"enum": [
"latest",
"history"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'latest' (default): one row per deal with its current status. 'history': the append-only status log, one row per transition (deal_id, status, date = filing date, created_at = when the pipeline first recorded it) for point-in-time replays."
},
"status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comma-separated deal statuses to return: announced, registration_filed, registration_effective, vote_scheduled, approved, listing_pending, completed, terminated, liquidated; or the shorthands 'all' (default) and 'pending' (every non-terminal status). Unknown values return a 400 listing the valid ones."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Symbol filter matched against BOTH the SPAC's own symbol (prior_ticker) and the post-combination symbol (new_ticker), so either side of the rename works."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"upcoming": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only pending deals with a future milestone (next_event_date >= today); 'false' = everything else. Omit for both."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows updated at or after this timestamp (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS); for incremental syncs."
},
"next_event_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD: only deals whose next milestone (meeting, expected close or expected first trade) is on or before this date."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}| date_lte |
| any |
| End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| upcoming | boolean | If true, return only the FORWARD calendar: ex-dividend dates after today, out to future_days ahead. Overrides date range filters. |
| future_days | any | Forward horizon in calendar days for the upcoming calendar (default 7, max 120). |
| recovery_status | any | Filter by the recovery_status label of the ex-div event (values as returned in the data, e.g. whether the price has recovered to breakeven yet). |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"upcoming": {
"type": "boolean",
"default": false,
"description": "If true, return only the FORWARD calendar: ex-dividend dates after today, out to future_days ahead. Overrides date range filters."
},
"future_days": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Forward horizon in calendar days for the upcoming calendar (default 7, max 120)."
},
"recovery_status": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Filter by the recovery_status label of the ex-div event (values as returned in the data, e.g. whether the price has recovered to breakeven yet)."
}
},
"additionalProperties": false
}| any |
| End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}| date_lt |
| any |
| End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| resolved | any | true = events with a linked later resolution (hold lifted, approval, resubmission accepted); false = still open. NULL rows are themselves resolutions. |
| severity | any | Comma-separated severity grades: program_terminated, major_delay_new_trial_required, manufacturing_only, addressable_deficiencies, safety_signal_no_path_stated, unstated, not_restated. Rank encodes grading precedence, NOT market impact. |
| asset_key | any | Exact normalized program key -- groups all filings about one program and audits the served linkage columns. |
| event_type | any | Comma-separated: crl, clinical_hold_full, clinical_hold_partial, refuse_to_file, other_fda_action. (not_a_setback_event requires include_rejects=true.) |
| cursor_date | any | Pagination: 'date' from next_cursor (send with cursor_accession). |
| drug_search | any | Case-insensitive substring on the drug/asset name (3+ chars). |
| filing_role | any | What the document does about the event: initial_disclosure, follow_up_update, or resolution. Counting rows without this filter overstates events ~2.4x -- one program's hold can be 3+ filings. |
| updated_since | any | YYYY-MM-DD, on last_updated -- rows touched by the linkage sweep since this date. |
| include_rejects | any | true = include the ~1,520 audited 'not_a_setback_event' rows (boilerplate the recall-first sweep retrieved and the labeler rejected, each with its reason). Default = real FDA events only. |
| cursor_accession | any | Pagination: 'accession_number' from next_cursor (send with cursor_date). |
{
"type": "object",
"properties": {
"cik": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SEC CIK number (digits only)."
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"resolved": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "true = events with a linked later resolution (hold lifted, approval, resubmission accepted); false = still open. NULL rows are themselves resolutions."
},
"severity": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comma-separated severity grades: program_terminated, major_delay_new_trial_required, manufacturing_only, addressable_deficiencies, safety_signal_no_path_stated, unstated, not_restated. Rank encodes grading precedence, NOT market impact."
},
"asset_key": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact normalized program key -- groups all filings about one program and audits the served linkage columns."
},
"event_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Comma-separated: crl, clinical_hold_full, clinical_hold_partial, refuse_to_file, other_fda_action. (not_a_setback_event requires include_rejects=true.)"
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'date' from next_cursor (send with cursor_accession)."
},
"drug_search": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring on the drug/asset name (3+ chars)."
},
"filing_role": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What the document does about the event: initial_disclosure, follow_up_update, or resolution. Counting rows without this filter overstates events ~2.4x -- one program's hold can be 3+ filings."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD, on last_updated -- rows touched by the linkage sweep since this date."
},
"include_rejects": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "true = include the ~1,520 audited 'not_a_setback_event' rows (boilerplate the recall-first sweep retrieved and the labeler rejected, each with its reason). Default = real FDA events only."
},
"cursor_accession": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'accession_number' from next_cursor (send with cursor_date)."
}
},
"additionalProperties": false
}| End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_date | any | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. |
| cursor_ticker | any | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
| filing_count_eq | any | Exact filing count match. Cannot be combined with the filing_count range parameters. |
| filing_count_gt | any | Only rows with filing_count > this value. |
| filing_count_lt | any | Only rows with filing_count < this value. |
| filing_count_gte | any | Only rows with filing_count >= this value (non-negative). |
| filing_count_lte | any | Only rows with filing_count <= this value. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date."
},
"filing_count_eq": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact filing count match. Cannot be combined with the filing_count range parameters."
},
"filing_count_gt": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with filing_count > this value."
},
"filing_count_lt": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with filing_count < this value."
},
"filing_count_gte": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with filing_count >= this value (non-negative)."
},
"filing_count_lte": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with filing_count <= this value."
}
},
"additionalProperties": false
}| any |
| End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_date | any | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. |
| cursor_ticker | any | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date."
}
},
"additionalProperties": false
}| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| only_final | boolean | If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional. |
| min_ratio_rank | any | Only rows whose iv/hv ratio sits at or above this cross-sectional percentile for the day, in [0, 1]. 0.95 = the day's richest 5%. |
| max_iv_hv_ratio | any | Only rows with iv_hv_ratio <= this value (e.g. 0.9 to screen for cheap options). |
| min_iv_hv_ratio | any | Only rows with iv_hv_ratio >= this value (e.g. 1.5 for names whose options price 50%+ over realized vol). |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"only_final": {
"type": "boolean",
"default": false,
"description": "If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional."
},
"min_ratio_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows whose iv/hv ratio sits at or above this cross-sectional percentile for the day, in [0, 1]. 0.95 = the day's richest 5%."
},
"max_iv_hv_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_hv_ratio <= this value (e.g. 0.9 to screen for cheap options)."
},
"min_iv_hv_ratio": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_hv_ratio >= this value (e.g. 1.5 for names whose options price 50%+ over realized vol)."
}
},
"additionalProperties": false
}| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| only_final | boolean | If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional. |
| max_hv_rank | any | Only rows with hv_rank <= this value, range [0, 100]. |
| max_iv_rank | any | Only rows with iv_rank <= this value, range [0, 100]. |
| min_hv_rank | any | Only rows with hv_rank >= this value, range [0, 100]. |
| min_iv_rank | any | Only rows with iv_rank >= this value, range [0, 100]. |
| min_iv_percentile | any | Only rows with iv_percentile >= this value, range [0, 100]. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"only_final": {
"type": "boolean",
"default": false,
"description": "If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional."
},
"max_hv_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with hv_rank <= this value, range [0, 100]."
},
"max_iv_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_rank <= this value, range [0, 100]."
},
"min_hv_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with hv_rank >= this value, range [0, 100]."
},
"min_iv_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_rank >= this value, range [0, 100]."
},
"min_iv_percentile": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_percentile >= this value, range [0, 100]."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| status | any | Row status as of the last nightly sweep (ET). |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| upcoming | any | 'true' = only lock-ups expiring today or later (the forward calendar); 'false' = only already-expired lock-ups. Omit for both. |
| cursor_id | any | Pagination: the 'cursor_id' value from the previous response's next_cursor. |
| cursor_date | any | Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id. |
| lockup_type | any | 'ipo' = operating-company initial public offerings (typically 180-day lock-ups); 'follow_on' = offerings by already-public issuers (typically 60-90 days). |
| cursor_ticker | any | Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string). |
| early_release | any | 'true' = only lock-ups with an early-release clause (earnings-, price-based or staggered); 'false' = plain fixed-period lock-ups only. |
| updated_since | any | Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs. |
| min_confidence | any | Only rows with extraction confidence >= this value (0-1). Regex-resolved rows carry 0.9; LLM-assisted rows carry the model's own estimate. |
| min_locked_to_float | any | Only rows whose locked block is at least this multiple of the shares sold in the offering (e.g. 2 = locked shares >= 2x the offering float). |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"status": {
"anyOf": [
{
"enum": [
"upcoming",
"expired"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Row status as of the last nightly sweep (ET)."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"upcoming": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only lock-ups expiring today or later (the forward calendar); 'false' = only already-expired lock-ups. Omit for both."
},
"cursor_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_id' value from the previous response's next_cursor."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id."
},
"lockup_type": {
"anyOf": [
{
"enum": [
"ipo",
"follow_on"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'ipo' = operating-company initial public offerings (typically 180-day lock-ups); 'follow_on' = offerings by already-public issuers (typically 60-90 days)."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string)."
},
"early_release": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only lock-ups with an early-release clause (earnings-, price-based or staggered); 'false' = plain fixed-period lock-ups only."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs."
},
"min_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with extraction confidence >= this value (0-1). Regex-resolved rows carry 0.9; LLM-assisted rows carry the model's own estimate."
},
"min_locked_to_float": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows whose locked block is at least this multiple of the shares sold in the offering (e.g. 2 = locked shares >= 2x the offering float)."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}| any |
| Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. |
| cursor_ticker | any | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
{
"type": "object",
"properties": {
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rank | any | Only rows with rank_for_date <= this value (>= 1). max_rank=5 gives the top five names per day. |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| min_prob | any | Only rows with prob_drop >= this value, range [0, 1]. 0.7 keeps the model's higher-conviction names. |
| max_price | any | Only rows with px_at_trading <= this value (USD, >= 0). max_price=1 isolates the sub-$1 cohort. Must be >= min_price. |
| min_price | any | Only rows with px_at_trading >= this value (USD, >= 0). min_price=1 reproduces the legacy '$1 and up' screen. |
| sub_dollar | any | '1' = only names priced under $1 at the 09:00 ET cutoff, '0' = only names at $1 or above. Convenience equivalent of min_price/max_price around $1. |
| cursor_date | any | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_rank. |
| cursor_rank | any | Pagination: the 'rank_for_date' value from the previous response's next_cursor. Must be sent together with cursor_date. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with rank_for_date <= this value (>= 1). max_rank=5 gives the top five names per day."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"min_prob": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with prob_drop >= this value, range [0, 1]. 0.7 keeps the model's higher-conviction names."
},
"max_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with px_at_trading <= this value (USD, >= 0). max_price=1 isolates the sub-$1 cohort. Must be >= min_price."
},
"min_price": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with px_at_trading >= this value (USD, >= 0). min_price=1 reproduces the legacy '$1 and up' screen."
},
"sub_dollar": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'1' = only names priced under $1 at the 09:00 ET cutoff, '0' = only names at $1 or above. Convenience equivalent of min_price/max_price around $1."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_rank."
},
"cursor_rank": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'rank_for_date' value from the previous response's next_cursor. Must be sent together with cursor_date."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| spac | any | 'true' = only SPAC-related placements (PIPE into a de-SPAC, trust-extension financing); 'false' = operating-company deals only. Omit for both. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_id | any | Pagination: the 'cursor_id' value from the previous response's next_cursor. |
| structure | any | Deal structure: 'common' = registered-direct-style common stock; 'units_with_warrants' = common (or pre-funded warrants) sold with common warrants; 'convertible_note' / 'convertible_preferred' = convertible instruments; 'equity_line' = an at-the-issuer's-option purchase facility (ELOC); 'sepa_prepaid_advance' = a standby equity purchase agreement with a pre-paid advance; 'other'. |
| event_kind | any | Which deal event the 8-K discloses: 'announcement' (purchase agreement signed), 'closing' (funds received), 'amendment_or_reset' (terms changed or conversion / exercise price reset), 'termination', or 'unstated'. |
| cursor_date | any | Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id. |
| has_warrants | any | 'true' = only deals with common-warrant coverage > 0%; 'false' = deals with no (or zero) common warrants. Pre-funded warrants do not count as coverage. |
| min_toxicity | any | Only rows with toxicity_score >= this value (integer 0-3). Rows with a NULL score (terms in an unread exhibit) are excluded whenever this is set. |
| cursor_ticker | any | Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string). |
| updated_since | any | Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs. |
| min_confidence | any | Only rows with extraction confidence >= this value (0-1), the model's own estimate of how faithfully the served terms reflect the filing. |
| variable_price | any | 'true' = only deals priced off a discount to future market price (variable_discount_to_market or lesser_of); 'false' = fixed-price deals only. Omit for both. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"spac": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only SPAC-related placements (PIPE into a de-SPAC, trust-extension financing); 'false' = operating-company deals only. Omit for both."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_id": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_id' value from the previous response's next_cursor."
},
"structure": {
"anyOf": [
{
"enum": [
"common",
"units_with_warrants",
"convertible_note",
"convertible_preferred",
"equity_line",
"sepa_prepaid_advance",
"other"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Deal structure: 'common' = registered-direct-style common stock; 'units_with_warrants' = common (or pre-funded warrants) sold with common warrants; 'convertible_note' / 'convertible_preferred' = convertible instruments; 'equity_line' = an at-the-issuer's-option purchase facility (ELOC); 'sepa_prepaid_advance' = a standby equity purchase agreement with a pre-paid advance; 'other'."
},
"event_kind": {
"anyOf": [
{
"enum": [
"announcement",
"closing",
"amendment_or_reset",
"termination",
"unstated"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which deal event the 8-K discloses: 'announcement' (purchase agreement signed), 'closing' (funds received), 'amendment_or_reset' (terms changed or conversion / exercise price reset), 'termination', or 'unstated'."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id."
},
"has_warrants": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only deals with common-warrant coverage > 0%; 'false' = deals with no (or zero) common warrants. Pre-funded warrants do not count as coverage."
},
"min_toxicity": {
"anyOf": [
{
"type": "integer"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with toxicity_score >= this value (integer 0-3). Rows with a NULL score (terms in an unread exhibit) are excluded whenever this is set."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string)."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs."
},
"min_confidence": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with extraction confidence >= this value (0-1), the model's own estimate of how faithfully the served terms reflect the filing."
},
"variable_price": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only deals priced off a discount to future market price (variable_discount_to_market or lesser_of); 'false' = fixed-price deals only. Omit for both."
}
},
"additionalProperties": false
}| Argument | Type | Description |
|---|---|---|
| date | any | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| cap_tier | any | Market-cap tier as of the session before the split (from the Alphanume cap history; populated from 2024-01-02). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| upcoming | any | 'true' = only splits with an execution date today or later (the forward calendar); 'false' = only already-executed splits. Omit for both. |
| ratio_gte | any | Only rows with ratio >= this value, range (0, 1]. ratio = split_to/split_from, so 0.1 is a 1-for-10. |
| ratio_lte | any | Only rows with ratio <= this value, range (0, 1]. ratio_lte=0.1 keeps 1-for-10 and larger consolidations. |
| sub_dollar | any | 'true' = only names whose unadjusted close before the split was under $1 (the classic deficiency-cure cohort); 'false' = $1 and above. |
| cursor_date | any | Pagination: the 'cursor_date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. |
| cursor_ticker | any | Pagination: the 'cursor_ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
| updated_since | any | Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs. |
| deficiency_only | any | 'true' = only listing-deficiency-sized splits (ratio <= 0.5, i.e. 1-for-2 or larger). Filters out ADR-fee-style near-1.0 adjustments. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"cap_tier": {
"anyOf": [
{
"enum": [
"nano",
"micro",
"small",
"mid_plus"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Market-cap tier as of the session before the split (from the Alphanume cap history; populated from 2024-01-02)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"upcoming": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only splits with an execution date today or later (the forward calendar); 'false' = only already-executed splits. Omit for both."
},
"ratio_gte": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with ratio >= this value, range (0, 1]. ratio = split_to/split_from, so 0.1 is a 1-for-10."
},
"ratio_lte": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with ratio <= this value, range (0, 1]. ratio_lte=0.1 keeps 1-for-10 and larger consolidations."
},
"sub_dollar": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only names whose unadjusted close before the split was under $1 (the classic deficiency-cure cohort); 'false' = $1 and above."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_date' value from the previous response's next_cursor. Must be sent together with cursor_ticker."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_ticker' value from the previous response's next_cursor. Must be sent together with cursor_date."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs."
},
"deficiency_only": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "'true' = only listing-deficiency-sized splits (ratio <= 0.5, i.e. 1-for-2 or larger). Filters out ADR-fee-style near-1.0 adjustments."
}
},
"additionalProperties": false
}| any |
| End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| active_on | any | YYYY-MM-DD: rows whose suspension window covers this date -- 'which stocks were untradeable on day X'. Not expressible via the release-date window. |
| cursor_date | any | Pagination: 'date' from next_cursor (send all three cursor params together). |
| has_resumed | any | true/false: whether the date trading could legally resume is in the past. Resumption is permission, not evidence of quoting (Rule 15c2-11). |
| issuer_name | any | Case-insensitive substring match on the issuer name -- the only handle on rows with no ticker. |
| cited_reason | any | Why the SEC suspended trading: delinquent_filings, market_manipulation, accuracy_adequacy_of_information, or other. |
| single_issuer | any | true = single-issuer orders only (the modern manipulation cases); false = bulk multi-issuer orders only. |
| updated_since | any | YYYY-MM-DD, on last_updated -- rows touched by the resumption sweep since this date. |
| release_number | any | Exchange Act release number, e.g. '34-92362' (a bare '92362' is normalized). One bulk order returns one row per named issuer. |
| cursor_issuer_index | any | Pagination: 'issuer_index' from next_cursor. |
| cursor_release_number | any | Pagination: 'release_number' from next_cursor. |
{
"type": "object",
"properties": {
"cik": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SEC CIK number (digits only) to filter by issuer. The only survivorship-proof id for dead shells; NULL on most bulk-order rows."
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"active_on": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD: rows whose suspension window covers this date -- 'which stocks were untradeable on day X'. Not expressible via the release-date window."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'date' from next_cursor (send all three cursor params together)."
},
"has_resumed": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "true/false: whether the date trading could legally resume is in the past. Resumption is permission, not evidence of quoting (Rule 15c2-11)."
},
"issuer_name": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Case-insensitive substring match on the issuer name -- the only handle on rows with no ticker."
},
"cited_reason": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Why the SEC suspended trading: delinquent_filings, market_manipulation, accuracy_adequacy_of_information, or other."
},
"single_issuer": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "true = single-issuer orders only (the modern manipulation cases); false = bulk multi-issuer orders only."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "YYYY-MM-DD, on last_updated -- rows touched by the resumption sweep since this date."
},
"release_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exchange Act release number, e.g. '34-92362' (a bare '92362' is normalized). One bulk order returns one row per named issuer."
},
"cursor_issuer_index": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'issuer_index' from next_cursor."
},
"cursor_release_number": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: 'release_number' from next_cursor."
}
},
"additionalProperties": false
}| date_gt |
| any |
| Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| shelf_type | any | Shelf category: new, amendment, or automatic (WKSI ASR shelves). |
| cursor_date | any | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. |
| updated_since | any | Only rows whose last_updated is on/after this date (YYYY-MM-DD) -- catches EFFECT/takedown refreshes. |
| cursor_accession | any | Accession number from next_cursor for keyset pagination (pass with cursor_date). |
{
"type": "object",
"properties": {
"cik": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "SEC CIK number (digits only) to filter by issuer."
},
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"form": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact form type: S-3, F-3, S-3/A, F-3/A, S-3ASR or F-3ASR."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"shelf_type": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Shelf category: new, amendment, or automatic (WKSI ASR shelves)."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker."
},
"updated_since": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows whose last_updated is on/after this date (YYYY-MM-DD) -- catches EFFECT/takedown refreshes."
},
"cursor_accession": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Accession number from next_cursor for keyset pagination (pass with cursor_date)."
}
},
"additionalProperties": false
}| any |
| Which daily sweep: 'am' (11:45 UTC; 07:45 ET in summer, 06:45 ET in winter) or 'pm' (17:30 UTC; 13:30 ET in summer, 12:30 ET in winter). |
| status | any | What the broker answered: 'offered' (shares can be located; price and availability set); 'no_shares' (none available right now); 'threshold' (on the Reg SHO threshold list, cannot be located); 'unavailable' (no quote); 'corporate_action' (cannot be quoted due to a corporate action); 'error' (other refusal). |
| ticker | any | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. |
| date_gt | any | Start of date range, exclusive (YYYY-MM-DD). |
| date_lt | any | End of date range, exclusive (YYYY-MM-DD). |
| date_gte | any | Start of date range, inclusive (YYYY-MM-DD). |
| date_lte | any | End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_date | any | Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_slot and cursor_ticker. |
| cursor_slot | any | Pagination: the 'cursor_slot' value from the previous response's next_cursor. |
| cursor_ticker | any | Pagination: the 'cursor_ticker' value from the previous response's next_cursor. |
| min_cost_per_100 | any | Only rows whose cost to locate 100 shares is at least this many US dollars (e.g. 5 for $5 per 100 shares). Unpriced rows are excluded whenever this is set. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"slot": {
"anyOf": [
{
"enum": [
"am",
"pm"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Which daily sweep: 'am' (11:45 UTC; 07:45 ET in summer, 06:45 ET in winter) or 'pm' (17:30 UTC; 13:30 ET in summer, 12:30 ET in winter)."
},
"status": {
"anyOf": [
{
"enum": [
"offered",
"no_shares",
"threshold",
"unavailable",
"corporate_action",
"error"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "What the broker answered: 'offered' (shares can be located; price and availability set); 'no_shares' (none available right now); 'threshold' (on the Reg SHO threshold list, cannot be located); 'unavailable' (no quote); 'corporate_action' (cannot be quoted due to a corporate action); 'error' (other refusal)."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_slot and cursor_ticker."
},
"cursor_slot": {
"anyOf": [
{
"enum": [
"am",
"pm"
],
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_slot' value from the previous response's next_cursor."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'cursor_ticker' value from the previous response's next_cursor."
},
"min_cost_per_100": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows whose cost to locate 100 shares is at least this many US dollars (e.g. 5 for $5 per 100 shares). Unpriced rows are excluded whenever this is set."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
}
},
"additionalProperties": false
}| max_rows |
| integer |
| Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| max_hv_vov | any | Only rows with hv_vov <= this value. |
| max_iv_vov | any | Only rows with iv_vov <= this value. |
| min_hv_vov | any | Only rows with hv_vov >= this value (>= 0). |
| min_iv_vov | any | Only rows with iv_vov >= this value (>= 0). |
| only_final | boolean | If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional. |
| min_hv_vov_rank | any | Only rows whose realized vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1]. |
| min_iv_vov_rank | any | Only rows whose implied vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1]. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"max_hv_vov": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with hv_vov <= this value."
},
"max_iv_vov": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_vov <= this value."
},
"min_hv_vov": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with hv_vov >= this value (>= 0)."
},
"min_iv_vov": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with iv_vov >= this value (>= 0)."
},
"only_final": {
"type": "boolean",
"default": false,
"description": "If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional."
},
"min_hv_vov_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows whose realized vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1]."
},
"min_iv_vov_rank": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows whose implied vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1]."
}
},
"additionalProperties": false
}| any |
| End of date range, inclusive (YYYY-MM-DD). |
| max_rows | integer | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. |
| cursor_date | any | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. |
| cursor_ticker | any | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
| zscore_30d_eq | any | Exact 30-day z-score match. Cannot be combined with the z-score range parameters. |
| zscore_30d_gt | any | Only rows with 30-day z-score > this value. |
| zscore_30d_lt | any | Only rows with 30-day z-score < this value. |
| zscore_30d_gte | any | Only rows with 30-day z-score >= this value. zscore_30d_gte=3 finds extreme attention spikes. |
| zscore_30d_lte | any | Only rows with 30-day z-score <= this value. |
{
"type": "object",
"properties": {
"date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."
},
"ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."
},
"date_gt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, exclusive (YYYY-MM-DD)."
},
"date_lt": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, exclusive (YYYY-MM-DD)."
},
"date_gte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Start of date range, inclusive (YYYY-MM-DD)."
},
"date_lte": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "End of date range, inclusive (YYYY-MM-DD)."
},
"max_rows": {
"type": "integer",
"default": 500,
"description": "Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this."
},
"cursor_date": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker."
},
"cursor_ticker": {
"anyOf": [
{
"type": "string"
},
{
"type": "null"
}
],
"default": null,
"description": "Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date."
},
"zscore_30d_eq": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Exact 30-day z-score match. Cannot be combined with the z-score range parameters."
},
"zscore_30d_gt": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with 30-day z-score > this value."
},
"zscore_30d_lt": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with 30-day z-score < this value."
},
"zscore_30d_gte": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with 30-day z-score >= this value. zscore_30d_gte=3 finds extreme attention spikes."
},
"zscore_30d_lte": {
"anyOf": [
{
"type": "number"
},
{
"type": "null"
}
],
"default": null,
"description": "Only rows with 30-day z-score <= this value."
}
},
"additionalProperties": false
}