# Alphanume Datasets (remote · mcp.alphanume.com)

Point-in-time US equity & options data: vol premium, earnings moves, dilution, FDA events, splits

- Trust score: 76/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-25

## Components

- remote · `mcp.alphanume.com`: 76/100 (this document), [markdown](https://verifymcp.io/servers/com-alphanume-datasets/key-mcp.md), [page](https://verifymcp.io/servers/com-alphanume-datasets/key-mcp)
- remote · `mcp.alphanume.com`: 37/100, [markdown](https://verifymcp.io/servers/com-alphanume-datasets/mcp.md), [page](https://verifymcp.io/servers/com-alphanume-datasets/mcp)

## Channel facts

- Endpoint: `https://mcp.alphanume.com/key/mcp`
- Transports: `streamable-http`
- Auth: `required`
- Version: `1.4.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-09-25.

- **Endpoint Security**: 74/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 59/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 18740 tokens (~624/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 63/100
  - Stability observed for 19 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "get_premarket_drop_risk" implies "drop" and declares readOnlyHint instead, contradicting what its own name says it does.
  - An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the Alphanume Datasets MCP server?

Alphanume Datasets is a hosted endpoint at https://mcp.alphanume.com/key/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http com-alphanume-datasets 'https://mcp.alphanume.com/key/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "com-alphanume-datasets": {
      "url": "https://mcp.alphanume.com/key/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "com-alphanume-datasets": {
      "type": "http",
      "url": "https://mcp.alphanume.com/key/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.com-alphanume-datasets]
url = "https://mcp.alphanume.com/key/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-alphanume-datasets": {
      "type": "remote",
      "url": "https://mcp.alphanume.com/key/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-alphanume-datasets --url 'https://mcp.alphanume.com/key/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-alphanume-datasets:
    url: "https://mcp.alphanume.com/key/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "com-alphanume-datasets": {
      "Transport": "http",
      "Url": "https://mcp.alphanume.com/key/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add com-alphanume-datasets -t streamable-http -u 'https://mcp.alphanume.com/key/mcp'
```

### Other

```json
{
  "mcpServers": {
    "com-alphanume-datasets": {
      "type": "http",
      "url": "https://mcp.alphanume.com/key/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-09-25 (score 76, +1)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-09-23 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-21 (score 74, +1)

No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-20 (score 73, +11)

- [security improvement] Judged manipulation: unverified → pass
- [functional improvement] Schema quality: unverified → excellent

### 2026-09-19 (score 62, −10)

- [security regression] Judged manipulation: pass → unverified
- [security] The server rewrote its instructions, which are the text every model session reads
- [functional regression] Schema quality: excellent → unverified
- [functional] Server version: 1.4.0 → 1.5.0
- [functional] New tool “get_buybacks”

### 2026-09-17 (score 72, +1)

No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-09-14 (score 71, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Server version: 1.3.1 → 1.4.0
- [functional] New tool “get_private_placements”

### 2026-09-13 (score 70, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [functional] Server version: 1.2.0 → 1.3.1
- [functional] New tool “get_lockup_expirations”

## MCP tools (30)

### `get_iv_hv_premium` (~521 tokens)

IV vs HV Premium Screener

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `max_iv_hv_ratio`: Only rows with iv_hv_ratio <= this value (e.g. 0.9 to screen for cheap options).
- `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_iv_hv_ratio`: Only rows with iv_hv_ratio >= this value (e.g. 1.5 for names whose options price 50%+ over realized vol).
- `min_ratio_rank`: 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%.
- `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.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_iv_rank` (~525 tokens)

IV Rank & Percentile (52-week)

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `max_hv_rank`: Only rows with hv_rank <= this value, range [0, 100].
- `max_iv_rank`: Only rows with iv_rank <= this value, range [0, 100].
- `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_hv_rank`: Only rows with hv_rank >= this value, range [0, 100].
- `min_iv_percentile`: Only rows with iv_percentile >= this value, range [0, 100].
- `min_iv_rank`: Only rows with iv_rank >= this value, range [0, 100].
- `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.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_vol_of_vol` (~541 tokens)

Vol-of-Vol Ranking

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `max_hv_vov`: Only rows with hv_vov <= this value.
- `max_iv_vov`: Only rows with iv_vov <= this value.
- `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_hv_vov`: Only rows with hv_vov >= this value (>= 0).
- `min_hv_vov_rank`: Only rows whose realized vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1].
- `min_iv_vov`: Only rows with iv_vov >= this value (>= 0).
- `min_iv_vov_rank`: Only rows whose implied vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1].
- `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.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_earnings_move_history` (~376 tokens)

Earnings Move History

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_dilution_filings` (~331 tokens)

S-1 Dilution Filings

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.

Input parameters:

- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_de_spac_events` (~824 tokens)

De-SPAC Lifecycle

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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_event_lte`: YYYY-MM-DD: only deals whose next milestone (meeting, expected close or expected first trade) is on or before this date.
- `status`: Comma-separated deal statuses to return: announced, registration_filed, registration_effective, vote_scheduled, approved, listing_pending, completed, terminated, liquidated; or the shorthands 'all' (…
- `ticker`: 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.
- `upcoming`: 'true' = only pending deals with a future milestone (next_event_date >= today); 'false' = everything else. Omit for both.
- `updated_since`: Only rows updated at or after this timestamp (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS); for incremental syncs.
- `view`: '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…

### `get_corporate_default_events` (~323 tokens)

Corporate Default Events

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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.

### `get_next_day_movers` (~302 tokens)

Next-Day Movers

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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.

### `get_premarket_drop_risk` (~1071 tokens)

Pre-Market Drop Risk

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-se…

Input parameters:

- `cursor_date`: Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_rank.
- `cursor_rank`: Pagination: the 'rank_for_date' value from the previous response's next_cursor. Must be sent together with cursor_date.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `max_price`: Only rows with px_at_trading <= this value (USD, >= 0). max_price=1 isolates the sub-$1 cohort. Must be >= min_price.
- `max_rank`: 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_price`: Only rows with px_at_trading >= this value (USD, >= 0). min_price=1 reproduces the legacy '$1 and up' screen.
- `min_prob`: Only rows with prob_drop >= this value, range [0, 1]. 0.7 keeps the model's higher-conviction names.
- `sub_dollar`: '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.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_reverse_splits` (~1142 tokens)

Reverse-Split Calendar

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 consoli…

Input parameters:

- `cap_tier`: Market-cap tier as of the session before the split (from the Alphanume cap history; populated from 2024-01-02).
- `cursor_date`: Pagination: the 'cursor_date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
- `cursor_ticker`: Pagination: the 'cursor_ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `deficiency_only`: '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.
- `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.
- `ratio_gte`: Only rows with ratio >= this value, range (0, 1]. ratio = split_to/split_from, so 0.1 is a 1-for-10.
- `ratio_lte`: Only rows with ratio <= this value, range (0, 1]. ratio_lte=0.1 keeps 1-for-10 and larger consolidations.
- `sub_dollar`: 'true' = only names whose unadjusted close before the split was under $1 (the classic deficiency-cure cohort); 'false' = $1 and above.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `upcoming`: 'true' = only splits with an execution date today or later (the forward calendar); 'false' = only already-executed splits. Omit for both.
- `updated_since`: Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.

### `get_lockup_expirations` (~1131 tokens)

Lock-Up Expiration Calendar

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-onl…

Input parameters:

- `cursor_date`: Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id.
- `cursor_id`: Pagination: the 'cursor_id' value from the previous response's next_cursor.
- `cursor_ticker`: Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string).
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `early_release`: 'true' = only lock-ups with an early-release clause (earnings-, price-based or staggered); 'false' = plain fixed-period lock-ups only.
- `lockup_type`: 'ipo' = operating-company initial public offerings (typically 180-day lock-ups); 'follow_on' = offerings by already-public issuers (typically 60-90 days).
- `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_confidence`: 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`: 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).
- `status`: Row status as of the last nightly sweep (ET).
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `upcoming`: 'true' = only lock-ups expiring today or later (the forward calendar); 'false' = only already-expired lock-ups. Omit for both.
- `updated_since`: Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.

### `get_private_placements` (~1506 tokens)

PIPE / Private Placement Deals

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
e…

Input parameters:

- `cursor_date`: Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id.
- `cursor_id`: Pagination: the 'cursor_id' value from the previous response's next_cursor.
- `cursor_ticker`: Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string).
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `event_kind`: 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', o…
- `has_warrants`: 'true' = only deals with common-warrant coverage > 0%; 'false' = deals with no (or zero) common warrants. Pre-funded warrants do not count as coverage.
- `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_confidence`: Only rows with extraction confidence >= this value (0-1), the model's own estimate of how faithfully the served terms reflect the filing.
- `min_toxicity`: 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.
- `spac`: 'true' = only SPAC-related placements (PIPE into a de-SPAC, trust-extension financing); 'false' = operating-company deals only. Omit for both.
- `structure`: Deal structure: 'common' = registered-direct-style common stock; 'units_with_warrants' = common (or pre-funded warrants) sold with common warrants; 'convertible_note' / 'convertible_preferred' = conv…
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `updated_since`: Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.
- `variable_price`: '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.

### `get_buybacks` (~1183 tokens)

Buyback Announcements

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 complet…

Input parameters:

- `cursor_date`: Pagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id.
- `cursor_id`: Pagination: the 'cursor_id' value from the previous response's next_cursor.
- `cursor_ticker`: Pagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string).
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `event_type`: 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 i…
- `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_amount_usd`: 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`: 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`: 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.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `updated_since`: Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.

### `get_momentum_index` (~309 tokens)

Quant Galore Momentum Index

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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.

### `get_spx_0dte_strike_band` (~297 tokens)

SPX 0-DTE Strike Band

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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.

### `get_sp500_risk_regime` (~300 tokens)

S&P 500 Risk Regime

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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.

### `get_dividend_capture` (~496 tokens)

Dividend-Capture Calendar

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.

Input parameters:

- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `future_days`: Forward horizon in calendar days for the upcoming calendar (default 7, max 120).
- `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.
- `recovery_status`: 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).
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `upcoming` (boolean): If true, return only the FORWARD calendar: ex-dividend dates after today, out to future_days ahead. Overrides date range filters.

### `get_historical_market_cap` (~439 tokens)

Historical Market Cap

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.

Input parameters:

- `cursor_date`: Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
- `cursor_ticker`: Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `list_market_cap_tickers` (~116 tokens)

Market Cap Coverage Map

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.

Input parameters:

- `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.

### `get_optionable_tickers` (~364 tokens)

Optionable Tickers

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.

Input parameters:

- `cursor_date`: Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
- `cursor_ticker`: Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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.

### `get_ticker_classification` (~247 tokens)

Sector & Industry Classification

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.

Input parameters:

- `industry`: 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.
- `sector`: Filter to one Alphanume sector.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_wikipedia_views` (~570 tokens)

Wikipedia Page Views

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.

Input parameters:

- `cursor_date`: Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
- `cursor_ticker`: Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: 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`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `zscore_30d_eq`: Exact 30-day z-score match. Cannot be combined with the z-score range parameters.
- `zscore_30d_gt`: Only rows with 30-day z-score > this value.
- `zscore_30d_gte`: Only rows with 30-day z-score >= this value. zscore_30d_gte=3 finds extreme attention spikes.
- `zscore_30d_lt`: Only rows with 30-day z-score < this value.
- `zscore_30d_lte`: Only rows with 30-day z-score <= this value.

### `get_filing_intensity` (~508 tokens)

SEC Filing Intensity

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.

Input parameters:

- `cursor_date`: Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
- `cursor_ticker`: Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `filing_count_eq`: Exact filing count match. Cannot be combined with the filing_count range parameters.
- `filing_count_gt`: Only rows with filing_count > this value.
- `filing_count_gte`: Only rows with filing_count >= this value (non-negative).
- `filing_count_lt`: Only rows with filing_count < this value.
- `filing_count_lte`: Only rows with filing_count <= this value.
- `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`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.

### `get_shelf_registrations` (~612 tokens)

Shelf Registrations (S-3/F-3)

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.

Input parameters:

- `cik`: SEC CIK number (digits only) to filter by issuer.
- `cursor_accession`: Accession number from next_cursor for keyset pagination (pass with cursor_date).
- `cursor_date`: Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `form`: Exact form type: S-3, F-3, S-3/A, F-3/A, S-3ASR or F-3ASR.
- `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`: Shelf category: new, amendment, or automatic (WKSI ASR shelves).
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `updated_since`: Only rows whose last_updated is on/after this date (YYYY-MM-DD) -- catches EFFECT/takedown refreshes.

### `get_sec_trading_suspensions` (~727 tokens)

SEC Trading Suspensions

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.

Input parameters:

- `active_on`: YYYY-MM-DD: rows whose suspension window covers this date -- 'which stocks were untradeable on day X'. Not expressible via the release-date window.
- `cik`: SEC CIK number (digits only) to filter by issuer. The only survivorship-proof id for dead shells; NULL on most bulk-order rows.
- `cited_reason`: Why the SEC suspended trading: delinquent_filings, market_manipulation, accuracy_adequacy_of_information, or other.
- `cursor_date`: Pagination: 'date' from next_cursor (send all three cursor params together).
- `cursor_issuer_index`: Pagination: 'issuer_index' from next_cursor.
- `cursor_release_number`: Pagination: 'release_number' from next_cursor.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `has_resumed`: 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`: Case-insensitive substring match on the issuer name -- the only handle on rows with no ticker.
- `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.
- `release_number`: Exchange Act release number, e.g. '34-92362' (a bare '92362' is normalized). One bulk order returns one row per named issuer.
- `single_issuer`: true = single-issuer orders only (the modern manipulation cases); false = bulk multi-issuer orders only.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `updated_since`: YYYY-MM-DD, on last_updated -- rows touched by the resumption sweep since this date.

### `get_cyber_incidents` (~739 tokens)

Cyber Incident 8-Ks

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.

Input parameters:

- `amended_flag`: 1 = originals that were later amended, 0 = originals never amended (NULL on amendment rows themselves).
- `attack_type`: One of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated.
- `cik`: SEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker).
- `cursor_accession`: Pagination: 'accession_number' from next_cursor (send with cursor_date).
- `cursor_date`: Pagination: 'date' from next_cursor (send with cursor_accession).
- `data_compromised_flag`: 1/0 three-state flag: filing states data was/was not stolen (unfiltered rows include NULL = filing does not say).
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `is_amendment`: 1 = 8-K/A amendments only, 0 = original 8-Ks only.
- `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.
- `operations_disrupted_flag`: 1/0 three-state flag: filing states operations were/were not disrupted.
- `refused`: 1/0: rows where the labeler declined the filing text (served with NULL extraction fields; the disclosure event is still real).
- `third_party_incident_flag`: 1/0 three-state flag: incident originated at a vendor/third party.
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `updated_since`: YYYY-MM-DD, on last_updated -- rows touched by the amendment-linkage sweep since this date.

### `get_crypto_enforcement` (~964 tokens)

Crypto Enforcement Actions

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.

Input parameters:

- `action_date_precision`: Precision of the extracted action_date: day, month, quarter, year, unstated.
- `action_key`: Exact action id, e.g. 'sec-lr:LR-26456', 'cftc:9285-26', 'doj:<uuid>'. One action returns one row per respondent.
- `action_type`: What the document announces NOW: civil_complaint, administrative_proceeding, settled_order, criminal_indictment, criminal_plea, trial_verdict, other.
- `agency`: Which agency brought the action: sec, cftc, or doj.
- `allegation`: Matches anywhere in the allegation list: fraud, unregistered_offering, unregistered_exchange_or_broker, market_manipulation, aml_bsa, sanctions, misappropriation, other.
- `asset`: Case-insensitive substring over the assets list, e.g. 'bitcoin'. Asset strings are unnormalized document literals (Bitcoin/BTC both occur).
- `cursor_action_key`: Pagination: 'action_key' from next_cursor.
- `cursor_published_date`: Pagination: 'published_date' from next_cursor (send all three cursor params together).
- `cursor_respondent_index`: Pagination: 'respondent_index' from next_cursor.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `has_followup`: 1 = a later action by the same agency against the same respondent exists.
- `has_monetary_relief`: 1 = a dollar amount was stated, 0 = none stated.
- `is_followup`: 1 = this action follows an earlier action by the same agency against the same respondent.
- `max_monetary_relief`: Maximum monetary_relief_usd.
- `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_monetary_relief`: Minimum monetary_relief_usd. CAUTION: relief repeats on every respondent row of one action -- summing across rows double-counts.
- `primary_allegation`: Matches only the lead allegation (same enum as allegation).
- `record_id`: Exact served row id: '<action_key>#<respondent_index>'.
- `respondent`: Case-insensitive substring over the respondent name and its normalized key, e.g. 'bankman'.
- `respondent_key`: Exact normalized respondent key (lower-cased, suffixes stripped) -- the group-by for 'every action against this party' within one agency.
- `respondent_kind`: person or company.
- `settled`: Three-state: true (document says settled), false (document says not settled), unknown (document does not say). Never collapse unknown into false.
- `source_index`: Document kind: litigation-release, administrative-proceeding (SEC only; the PDF orders), or press-release (CFTC/DOJ).
- `updated_since`: YYYY-MM-DD, on last_updated -- rows touched by the follow-up sweep since this date.

### `get_fda_response_events` (~784 tokens)

FDA Response Events

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.

Input parameters:

- `asset_key`: Exact normalized program key -- groups all filings about one program and audits the served linkage columns.
- `cik`: SEC CIK number (digits only).
- `cursor_accession`: Pagination: 'accession_number' from next_cursor (send with cursor_date).
- `cursor_date`: Pagination: 'date' from next_cursor (send with cursor_accession).
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `drug_search`: Case-insensitive substring on the drug/asset name (3+ chars).
- `event_type`: Comma-separated: crl, clinical_hold_full, clinical_hold_partial, refuse_to_file, other_fda_action. (not_a_setback_event requires include_rejects=true.)
- `filing_role`: 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.
- `include_rejects`: 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.
- `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`: true = events with a linked later resolution (hold lifted, approval, resubmission accepted); false = still open. NULL rows are themselves resolutions.
- `severity`: 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 g…
- `ticker`: Ticker symbol filter, e.g. 'AAPL'. Case-insensitive.
- `updated_since`: YYYY-MM-DD, on last_updated -- rows touched by the linkage sweep since this date.

### `get_advisory_committee_votes` (~813 tokens)

FDA Advisory Committee Votes

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.

Input parameters:

- `application`: Substring on the application identifiers (NDA/BLA/sNDA numbers as stated in the materials).
- `asset_key`: Exact normalized asset key -- the group-by for 'every AdCom appearance of this asset' and the linkage audit key.
- `center`: Owning FDA center: CDER, CBER, or OC (Office of the Commissioner).
- `committee`: 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.
- `date`: Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
- `date_gt`: Start of date range, exclusive (YYYY-MM-DD).
- `date_gte`: Start of date range, inclusive (YYYY-MM-DD).
- `date_lt`: End of date range, exclusive (YYYY-MM-DD).
- `date_lte`: End of date range, inclusive (YYYY-MM-DD).
- `drug`: Case-insensitive substring on the drug/asset name (2-100 chars).
- `has_tally`: true = only rows with a numeric vote tally; false = only placeholder/no-tally rows.
- `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.
- `meeting_key`: Exact meeting page slug -- all vote rows of one meeting.
- `meeting_status`: held, scheduled, postponed, or cancelled. 'scheduled' rows are the forward calendar.
- `meeting_topic_type`: product_specific, compounding_nominations, strain_selection, safety_review, or policy_or_class_review.
- `sponsor`: Case-insensitive substring on the sponsor company (2-100 chars).
- `updated_since`: YYYY-MM-DD, on last_updated -- rows re-projected after FDA posted new materials (minutes land months late).
- `vote_evidence`: 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.
- `vote_outcome_favorable`: true = the product-favorable side won; false = it lost. Ties and strain-selection votes are NULL and excluded by either value.

### `check_api_status` (~54 tokens)

API Status Check

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.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-alphanume-datasets/key-mcp#diagnostics

## Score history

- 2026-09-25: 76
- 2026-09-24: 75
- 2026-09-23: 75
- 2026-09-22: 74
- 2026-09-21: 74
- 2026-09-20: 73
- 2026-09-19: 62
- 2026-09-18: 72
- 2026-09-17: 72
- 2026-09-16: 71
- 2026-09-15: 71
- 2026-09-14: 71
- 2026-09-13: 70
- 2026-09-12: 70
- 2026-09-11: 69
- 2026-09-10: 69
- 2026-09-09: 68
- 2026-09-08: 68
- 2026-09-07: 67
- 2026-09-06: 67

## Common questions

### What is the Alphanume Datasets MCP server?

Alphanume Datasets is an MCP server listed in the public MCP registry as com.alphanume/datasets. Point-in-time US equity & options data: vol premium, earnings moves, dilution, FDA events, splits. This page covers its hosted endpoint (https://mcp.alphanume.com/key/mcp).

### Is the Alphanume Datasets MCP server safe to use?

Alphanume Datasets scores 76 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the Alphanume Datasets MCP server expose?

Alphanume Datasets exposes 30 tools: get_iv_hv_premium, get_iv_rank, get_vol_of_vol, get_earnings_move_history, get_dilution_filings, and 25 more. Their descriptions and schemas cost roughly 18,115 tokens of context every time the server is loaded.

### Does the Alphanume Datasets MCP server require authentication?

No. We connected to Alphanume Datasets without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Alphanume Datasets MCP server still maintained?

Alphanume Datasets is still listed as active in the MCP registry. We last reached this channel on 25 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.alphanume.com/key/mcp
- Authorisation metadata: https://mcp.alphanume.com/.well-known/oauth-protected-resource/key/mcp
- Website: https://alphanume.com/docs/mcp-server
- Changelog RSS feed: https://verifymcp.io/servers/com-alphanume-datasets/key-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-alphanume-datasets/key-mcp.json
- HTML version of this page: https://verifymcp.io/servers/com-alphanume-datasets/key-mcp
