{"name":"com.alphanume/datasets","slug":"alphanume-datasets","title":"Alphanume Datasets","description":"Point-in-time US equity & options data: vol premium, earnings moves, dilution, FDA events, splits","url":"https://mcp.market/server/alphanume-datasets","rating":null,"grade":"B","score":73,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":8,"stars":null,"forks":null,"downloads_week":null,"last_push_at":null,"license":null},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T20:00:59.222Z","last_ok_at":"2026-09-20T20:00:59.222Z","latency_ms":755},"claimed":false,"transport":"remote","callable_via_gateway":true,"default_price_micros":0,"repository":null,"website":"https://alphanume.com/docs/mcp-server","version":"1.4.0","remotes":[{"type":"streamable-http","url":"https://mcp.alphanume.com/mcp"},{"type":"streamable-http","url":"https://mcp.alphanume.com/key/mcp","headers":[{"description":"Alphanume Pro API key (alp_...), from https://alphanume.com/pricing","isRequired":true,"isSecret":true,"name":"X-API-Key"}]}],"packages":[],"tools":[{"name":"check_api_status","description":"Connectivity and API-key check against the Alphanume API. Returns the API's\nstatus and version. Call this first if any other tool errors, to distinguish a\nbad/missing API key from a dataset-specific problem.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"additionalProperties":false}},{"name":"get_advisory_committee_votes","description":"FDA advisory-committee (AdCom) votes: every drug/biologic advisory committee\nmeeting from 2024 forward, with the committee's exact vote tallies extracted from\nthe official minutes PDFs (verified against the PDFs) -- one row per (meeting, vote\nquestion). The tally (vote_yes/vote_no/vote_abstain), the verbatim question, which\nanswer was the product-favorable one, and whether the favorable side won; plus\nsponsor, drug, indication, committee, center, meeting status, and links to the\nminutes/transcript/briefing materials so any number can be checked at the source.\n\nA meeting with no tally is still a row -- vote_evidence says why (minutes not\nposted yet vs discussion-only vs not held), which is the difference between 'no\ndata' and 'no vote'. Minutes land MONTHS after meetings, so recent meetings sit at\nminutes_not_posted until FDA publishes; rows re-label automatically when materials\nchange. The forward calendar (scheduled meetings) is included. AdCom votes precede\nFDA decisions by weeks-to-months and FDA usually -- not always -- follows them.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing. Note: meetings are sparse (a few per\nmonth), so short date windows are often legitimately empty.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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."},"center":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Owning FDA center: CDER, CBER, or OC (Office of the Commissioner)."},"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_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."},"has_tally":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"true = only rows with a numeric vote tally; false = only placeholder/no-tally rows."},"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."},"drug":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Case-insensitive substring on the drug/asset name (2-100 chars)."},"sponsor":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Case-insensitive substring on the sponsor company (2-100 chars)."},"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."},"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."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_buybacks","description":"Buyback announcements: US-listed companies telling the market they will (or may)\nrepurchase their own common stock, read from 8-K filings and their press releases.\n\nOne row per 8-K that announces something NEW; event_type says what: a new\nrepurchase authorization, an increase / extension / renewal (including a raised\nbuyback target), an accelerated share repurchase, an issuer tender offer, a Rule\n10b5-1 repurchase plan, or a program being completed, terminated or suspended.\nevent_date is the announcement date the filing states (falling back to the 8-K\nperiod of report, then the filing date); filed_at is when the 8-K reached EDGAR and\nis the point-in-time clock. Served per row: ticker, cik, company_name, accession_no,\na one-sentence event_description, authorized_amount_usd (for an increase: the\nincrement when the filing states one, the new total when it states only that),\nauthorized_shares for share-denominated programs, pct_of_market_cap (announced\ndollars over the market cap on the last session before the filing, in percent),\nexpiry_date, replaces_prior_program (1 replaces / 0 in addition / NULL silent),\nremaining_prior_amount_usd (capacity the filing says was left under the prior or\nexisting program), confidence and last_updated.\n\nOnly first announcements are served. A later filing that restates an announcement\nalready in the feed (the earnings release two weeks after the 8-K, an 8-K/A) and\nmentions of actions more than 45 days old are withheld, so a company's $50B\nauthorization appears once, not every time it is repeated. Rows the labeler scored\nunder 0.75 confidence are not served.\n\nRequires an Alphanume Pro API key. There is no date clamp on this route: a Pro\nkey sees the full history.\n\nHonest limits, stated plainly. These are ANNOUNCEMENTS: an authorization is\npermission, not a commitment, and how much was actually repurchased is not in\nthis dataset. authorized_amount_usd is NULL when the size is stated only in\nshares or not at all -- 10b5-1 plans and completions usually state none.\npct_of_market_cap is NULL without a dollar size or market-cap history and is\nsuppressed above 100. One event per filing: when an 8-K announces an\nauthorization and a 10b5-1 plan under it, the authorization is the row. Not\ncovered: issuer tender offers filed only on Schedule TO-I, foreign private\nissuers (6-K), and non-traded REIT / fund redemption plans (deliberately\nexcluded -- those are investor liquidity, not buybacks). A small share of real\nannouncements buried in long earnings releases is missed. History starts\n2024-01-01.\n\nDefault order: newest event_date first, then ticker, so the first page is the\nmost recent announcements.\n\nPagination: results are capped at 50,000 rows per request; when the response\nhas has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id\nback to fetch the next page.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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)."},"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_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."},"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."},"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."},"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)."},"cursor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination: the 'cursor_id' value from the previous response's next_cursor."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_corporate_default_events","description":"Corporate default events labeled from SEC filings: answers \"which public\ncompanies just defaulted on an obligation, and on what terms?\" One row per default\nevent: ticker, event date, source filing URL, plus enriched fields extracted from\nthe filing text -- event type, the obligation's name and type, creditor name,\nprincipal outstanding, amount accelerated, missed payment amount, stated default\ndate, grace period end, whether acceleration was declared, and a confidence score\nwith the supporting evidence quote. Fields are null where the filing text did not\nexplicitly support them.\n\nUse it for distressed screening, credit event studies, or monitoring a date range\nfor fresh defaults.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"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_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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_crypto_enforcement","description":"US digital-asset enforcement, one normalized tape across the three agencies that\nbring it: SEC litigation releases and administrative proceedings, CFTC enforcement\npress releases, and DOJ criminal announcements, 2024+. One row per (action,\nrespondent): what was alleged (multi-category), statutes cited, tokens/assets\ninvolved (real JSON arrays), monetary relief with its stated basis, settled flag\n(three-state), listed-issuer linkage where the document itself states one, and a\nfollow-up chain linking successive actions by the same agency against the same\nrespondent (complaint -> consent order, indictment -> plea).\n\nThe date window filters published_date (structural, the agency's announcement\ndate); action_date is extracted from the document with its own precision enum.\nOne matter can appear once per agency -- nothing links across agencies, by design.\nmonetary_relief_usd repeats on each respondent row of one action; de-duplicate on\naction_key before summing.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"agency":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Which agency brought the action: sec, cftc, or doj."},"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)."},"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."},"respondent":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Case-insensitive substring over the respondent name and its normalized key, e.g. 'bankman'."},"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."},"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."},"primary_allegation":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Matches only the lead allegation (same enum as allegation)."},"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)."},"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."},"max_monetary_relief":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Maximum monetary_relief_usd."},"has_monetary_relief":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"1 = a dollar amount was stated, 0 = none stated."},"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."},"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."},"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."},"record_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact served row id: '<action_key>#<respondent_index>'."},"action_date_precision":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Precision of the extracted action_date: day, month, quarter, year, unstated."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"cursor_published_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'published_date' from next_cursor (send all three cursor params together)."},"cursor_action_key":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'action_key' from next_cursor."},"cursor_respondent_index":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'respondent_index' from next_cursor."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_cyber_incidents","description":"Material cybersecurity incidents: every Form 8-K filed under Item 1.05 (the SEC\ncyber-disclosure rule, live since 2023-12-18) plus its 8-K/A amendments -- the\nentire population, ~80 filings and growing. One row per filing, with FOUR distinct\ndate roles kept rigorously separate: incident discovered, materiality determined\n(both extracted from prose, with day/month/quarter precision enums), disclosed and\namended (both structural EDGAR dates, never model-guessed) -- plus the intervals\nbetween them (investigation time, compliance-clock time, total latency).\n\nFlags are three-state: 1 = filing says yes, 0 = filing says no, NULL = filing does\nnot say -- never collapsed. Amendments are separate rows linked to their original\n(original_accession_number, days_original_to_amendment); an incident with three\n8-K/As is four rows. materiality_determined_date is sparse (~15% fill) because\nmost filings simply do not state one. days_determination_to_disclosure is CALENDAR\ndays; the SEC's deadline is four BUSINESS days -- adjust before compliance claims.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"cik":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"SEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker)."},"is_amendment":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"1 = 8-K/A amendments only, 0 = original 8-Ks only."},"attack_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"One of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated."},"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)."},"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."},"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":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'date' from next_cursor (send with cursor_accession)."},"cursor_accession":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'accession_number' from next_cursor (send with cursor_date)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_de_spac_events","description":"De-SPAC lifecycle: one row per SPAC business combination tracked from the\ndefinitive-agreement announcement through registration, definitive proxy, shareholder\nvote, exchange listing and completion (or termination / trust liquidation). Every row\ncarries the SPAC's own symbol (prior_ticker), the combined company's symbol as soon as a\nfiling names it (new_ticker -- the definitive proxy does so in most deals, weeks before\nthe close), warrant ticker, exchange, SPAC / target / new company names, and the dated\nmilestones: announced_date, meeting_date, record_date, vote_approved_date,\nlisting_filed_date, expected_close_date and expected_trading_date (each with a *_basis\ncolumn saying whether the date was stated in a filing or derived), closing_date,\ntrading_commencement_date, terminated_date, plus next_event_date / next_event_type for\nwhat comes next. Completed rows also carry the closing financials (redemption shares and\ndollars, trust remaining, PIPE, gross proceeds, pro forma shares, enterprise and equity\nvalue), a confidence score and the supporting evidence quote. `date` is the SEC filing\ndate of the filing that set the row's current status (for completed deals: the closing\n8-K). `ticker` is the symbol trading for the deal today (new_ticker once listing is\npending, otherwise prior_ticker). Fields are null where no filing supported them;\nquality_flags lists any rule that altered or withheld a value.\n\nUse status=pending&upcoming=true to see de-SPACs before the new symbol trades,\nticker=<SPAC symbol> to follow one deal, view=history to replay what was known on a\ngiven date, or status=completed with a date range for the classic redemption-rate\nevent study.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"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_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)."},"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)."},"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."},"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."},"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."},"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."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_dilution_filings","description":"S-1 dilution filings tracker: answers \"which companies are registering new share\nsupply, and where is each registration in its lifecycle?\" One row per S-1\nregistration event: ticker, company name, filing timestamp, market cap at filing,\nwhether the filing is dilutive and/or a resale, shares offered, whether/when it\nbecame effective (with days-to-effective), whether/when it was withdrawn, and the\nSEC accession number + filing URL for the source document.\n\nUse it to flag dilution overhang on small caps, track time-to-effectiveness, or\nbuild event studies around registration filings. Filters by ticker and filing-date\nrange (no exact-date parameter on this dataset).\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_dividend_capture","description":"Dividend-capture calendar and scorecard: answers \"which ex-dividend events are\ncoming up, and how has capturing this name's dividend actually worked?\" One row per\nex-dividend event: the full schedule (declaration/record/pay dates, cash amount,\nfrequency, type, annualized dividend, capture yield), the ex-day price action\n(cum-day close, ex open/close, price drop and drop ratio at open and close, net\ncapture %), and the recovery record (breakeven price, recovery status/date, days to\nrecover, recovered-within 1/3/5/10/20-day flags). A drop ratio well below 1 means\nthe stock historically falls less than the dividend -- the raw material of a capture\nstrategy.\n\nSet upcoming=true for the forward ex-div calendar (default 7 days out, up to 120 via\nfuture_days); use `ticker` for one name's full capture history.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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)."},"upcoming":{"default":false,"description":"If true, return only the FORWARD calendar: ex-dividend dates after today, out to future_days ahead. Overrides date range filters.","type":"boolean"},"future_days":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Forward horizon in calendar days for the upcoming calendar (default 7, max 120)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_earnings_move_history","description":"Earnings move track record: answers \"does the options market systematically\nover- or under-price this name's earnings moves?\" One row per earnings event per\nticker: the pre-earnings ATM straddle price and implied move (% and $), ATM IV,\nthe realized post-earnings return and absolute move, the over/under-pricing gap\nand move ratio, an `overpriced` flag, EPS estimate vs actual, plus running\nper-ticker history stats (events to date, hit rate of straddle overpricing,\naverage implied vs realized move to date).\n\nUse it before an earnings trade: query `ticker` to see whether selling or buying\nthe earnings straddle has historically paid on that name, or screen a `date` to\nreview how yesterday's reporters resolved. `date` is the earnings date.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_fda_response_events","description":"Adverse FDA regulatory actions disclosed in 8-Ks: Complete Response Letters,\nfull and partial clinical holds, and refuse-to-file letters, 2024+, each graded by\nan explicit severity precedence rule with the evidence flags the grade depends on\nserved alongside it (new-trial-required, manufacturing-related, resubmission-path,\nhold-lifted). Follow-ups and resolutions are linked per (issuer, drug program), so\nan original hold row answers 'was it ever lifted, and how long did it take'.\n\nBy default only classified FDA events are returned (~196 rows); the ~1,520 audited\nnot-an-event rows the full-text sweep also retrieved are available with\ninclude_rejects=true. The date window filters disclosed_date (the EDGAR filing\ndate); event_letter_date is extracted with its own precision enum and\ndays_letter_to_disclosure is the selective-disclosure measure -- on\ninitial_disclosure rows only (on follow-ups it measures distance to the original\nletter). Selective disclosure is the headline caveat: a CRL disclosed only in a\n10-Q, or never, is not here.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"cik":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"SEC CIK number (digits only)."},"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.)"},"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."},"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."},"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."},"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."},"drug_search":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Case-insensitive substring on the drug/asset name (3+ chars)."},"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."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"cursor_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'date' from next_cursor (send with cursor_accession)."},"cursor_accession":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'accession_number' from next_cursor (send with cursor_date)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_filing_intensity","description":"SEC filing intensity: the number of EDGAR filings each company submitted per\nday. Corporate action leaves fingerprints in the filing stream -- financings,\nrestructurings, activist involvement, and deal activity all show up as bursts of\nfilings before the news is digested. One row per ticker per day: ticker, company\nname, date, filing_count.\n\nScreen filing_count_gte over recent dates to surface names with unusual filing\nbursts, or pull one `ticker`'s history to spot regime changes in its filing\ncadence. Pagination: results are capped at 50,000 rows\nper request; when the response has has_more=true, pass next_cursor's date and\nticker back as cursor_date and cursor_ticker to fetch the next page.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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_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."},"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."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_historical_market_cap","description":"Point-in-time historical market capitalization: daily market_cap and\nshares_outstanding per US ticker, as they were known on each date (no restatement,\nno survivorship bias). The backbone reference for size filters, cap-weighted\nbaskets, and normalizing anything by company size in a backtest.\n\nRequirements: provide `ticker` OR at least one date filter. A single `date` with no\nticker returns the whole market for that day; a date RANGE without a ticker is\ncapped at 7 calendar days. Pagination: results are capped at 50,000 rows\nper request; when the response has has_more=true, pass next_cursor's date and\nticker back as cursor_date and cursor_ticker to fetch the next page.\n\nCompanion tool: list_market_cap_tickers shows which tickers exist and their first\navailable date.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_iv_hv_premium","description":"Volatility risk premium screener: answers \"are this name's options rich or cheap\nright now?\" For every liquid US optionable equity, per trading day: ~30-day\nat-the-money implied volatility (iv) vs ~30-day realized volatility (hv), their\nspread (iv-hv) and ratio (iv/hv), plus daily cross-sectional percentile ranks and\nz-scores for each measure, option notional volume, and the ATM strike/expiry/spot\nused. Rows update intraday (is_final=0) and settle after the close (is_final=1).\n\nUse it to find overpriced premium to sell (high iv_hv_ratio / min_ratio_rank near 1),\nunderpriced options to buy, or to track one ticker's premium history via `ticker`.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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)."},"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_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%."},"only_final":{"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.","type":"boolean"},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_iv_rank","description":"IV Rank & IV Percentile (52-week): answers \"is this name's volatility high or low\n*for itself*?\" For each US optionable equity, per trading day: where current ~30-day\nimplied vol and 20-day realized vol sit inside that name's own trailing-year range --\niv_rank/hv_rank (0-100 position between the 52w low and high), iv_percentile /\nhv_percentile (share of the past year's days below today), the 52w high/low/median\nlevels themselves, and daily cross-sectional ranks/z-scores for context. Rows update\nintraday and settle after the close (is_final=1).\n\nThe classic premium-selling timing filter: min_iv_rank=50 finds names in the upper\nhalf of their own vol range regardless of absolute vol level.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"min_iv_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Only rows with iv_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]."},"max_hv_rank":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Only rows with hv_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]."},"only_final":{"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.","type":"boolean"},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_lockup_expirations","description":"Lock-up expiration calendar: when insider and pre-offering shares become\neligible for sale after a US IPO or follow-on offering, past and UPCOMING,\nwith the size of the locked block versus the offering float.\n\nOne row per lock-up tranche per offering, sourced from the final prospectus\n(SEC Form 424B4 / 424B1) filed the day after pricing. `date` (also served as\nexpiration_date) = the lock-up anchor (normally the prospectus date) plus the\nlock-up length in calendar days; shares_sellable_from is the first NYSE session\non or after it. A plain 180-day lock-up is one row (tranche_seq 1 of 1); a\nstaggered release is several rows sharing accession_no with tranche_pct.\nlockup_type separates operating-company IPOs (typically 180 days) from\nfollow-on offerings by already-public issuers (typically 60-90 days).\nBlank-check (SPAC) IPOs are excluded. History from 2021.\n\nSizing: locked_shares is the prospectus-stated locked count where given,\notherwise shares outstanding after the offering minus shares offered.\nfloat_shares_at_offering = shares sold in the offering (plus the\nover-allotment when its exercise is stated); locked_to_float_ratio = locked /\nfloat, so 3.0 means three times the offering float unlocks on `date`.\nlocked_pct_of_outstanding is the same block as a share of total shares\noutstanding.\n\nRequires an Alphanume Pro API key. There is no date clamp on this route: a Pro\nkey sees full history and the forward calendar.\n\nHonest limits, stated plainly. Early-release clauses are common in recent\nIPOs (a release tied to the first earnings announcement, a price-based\nrelease, or staged tranches); the row carries early_release_type and the\nverbatim early_release_terms, but v1 does not compute the earlier date --\ntreat `date` as the contractual outside date when early_release_type is not\n'none'. The over-allotment exercise is unknown at prospectus time, so the\nfloat can be understated by up to 15%. ticker may be NULL for a few days on a\nbrand-new IPO; first_trade_date is IPO-only (NULL on follow-ons);\nmarket_cap_at_offering is NULL until the cap history covers the ticker; rows\nare never dropped for missing enrichment. confidence (0-1) is a per-row\nquality signal for the extracted terms; 0.9 means every term was resolved by\nthe deterministic parser. first_seen_at is when our pull first observed the\nprospectus (synthetic = filing time for rows backfilled before launch).\n\nDefault order: upcoming expirations first, nearest to today first, then\nalready-expired rows most recent first -- so the first page is the calendar\nof what happens next.\n\nPagination: results are capped at 50,000 rows per request; when the response\nhas has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id\nback to fetch the next page.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"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)."},"status":{"anyOf":[{"enum":["upcoming","expired"],"type":"string"},{"type":"null"}],"default":null,"description":"Row status as of the last nightly sweep (ET)."},"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."},"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)."},"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."},"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."},"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)."},"cursor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination: the 'cursor_id' value from the previous response's next_cursor."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_momentum_index","description":"Quant Galore Momentum Index constituents: the daily holdings of a rules-based\n12-1 momentum strategy (long the highest-momentum US names, refreshed on a fixed\nschedule). One row per constituent per day: date, ticker, and rank (1 = strongest).\nHistory is point-in-time -- each day shows exactly what the index held then, so\nbacktests are free of look-ahead.\n\nUse it to mirror the index, source high-momentum candidates, or study momentum\nportfolio turnover. Query a single `date` for that day's basket, or a range to see\nhow the basket evolved.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"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_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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_next_day_movers","description":"Next-Day Movers: each trading day, the US equities a volatility model ranks most\nlikely to make an outsized price move in the *next* session. Rows carry the ticker,\nthe list date, and -- once the next session has traded -- the realized outcome\n(`return` = signed next-day return, `absolute_move` = unsigned magnitude), so the\ndataset doubles as its own scorecard.\n\nUse it to focus long-gamma / straddle / breakout attention on a short daily list,\nor to backtest the signal against realized moves over a date range.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"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_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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_optionable_tickers","description":"Historical optionable universe: point-in-time snapshots of which US equities had\nlisted options on each snapshot date, with the average number of days between\nlisted expirations (avg_days_between -- lower means a denser expiration calendar)\nand a has_weeklies flag. Essential for honest options backtests: it tells you what\nwas actually tradable *then*, not what is optionable today.\n\nFilter by snapshot date range; omit filters for the most recent snapshots first.\nPagination: results are capped at 50,000 rows\nper request; when the response has has_more=true, pass next_cursor's date and\nticker back as cursor_date and cursor_ticker to fetch the next page.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"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)."},"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)."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_premarket_drop_risk","description":"Pre-market drop risk: model-estimated probability of an intraday decline in US microcaps, published each morning before the open.\n\nEach trading morning, by ~09:25 ET and ahead of the 09:30 open, a\nRandomForestClassifier scores every microcap that actually traded in the\npre-market session and this dataset serves the names ranked by modeled drop\nrisk. Features are cut at a fixed 09:00 ET pre-market cutoff. prob_drop is\nP(intraday open->close return <= -5%); one row per (date, ticker), ordered by\nrank_for_date (1 = the highest-probability name that day). It measures the\nsubset the model flags, not everything that moved overnight, and is built for\nresearchers and traders analyzing pre-market activity in US microcaps.\n\nRequires an Alphanume Pro API key. There is no date clamp on this route: a Pro\nkey sees the whole history, whatever dates it asks for.\n\nSub-$1 names are featured, not filtered. Every row the model flags is\npublished, each carrying a sub_dollar flag: pass min_price=1 for the legacy\n'$1 and up' screen, sub_dollar=1 (or max_price=1) to isolate the penny\ncohort, max_rank=5 for the day's top five.\n\nHistory before go-live (2026-08-31) is walk-forward simulated: generated\nretrospectively by re-running the walk-forward loop (train on strictly-prior\nrows only, then score that date). There is no look-ahead in the features or\nthe training window, but rows dated before go-live are not a real-time\npublication record; rows from go-live onward are published live each morning\nbefore the open.\n\nOutcomes fill in late, never early. intraday_return_pct lands the same\nevening; return_lead_1d / return_lead_5d / return_lead_30d only once 1 / 5 /\n20 NYSE sessions have elapsed -- NULL means not yet mature, or no exchange\nprint existed at maturity (halts and delistings, which this microcap universe\nproduces regularly). Three documented quirks kept for continuity with the\ntraining set: return_lead_30d is 20 trading sessions rather than 30 calendar\ndays; return_lag_1m uses the 21-session price change over the price 252\nsessions back (a legacy denominator quirk, so it is not a clean 1-month\nreturn); and the t_0..t_9 pre-market return grid is 0-filled, not NULL, when\nno print exists at or before that clock mark.\n\nBorrow and locate costs are NOT modeled. Shorting a sub-$1 microcap needs a\nlocate that may be expensive or simply unavailable, and no number served\nhere carries that cost. sub_dollar and min_price are the levers for filtering\ntoward borrowable names.\n\nPagination: results are capped at 50,000 rows per request; when the response\nhas has_more=true, pass next_cursor's date and rank_for_date back as\ncursor_date and cursor_rank to fetch the next page.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"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."},"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."},"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."},"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."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_private_placements","description":"PIPE / private-placement deal feed: US-listed issuers raising money through\nunregistered placements (PIPEs, registered directs with warrants, convertible\nnotes and preferreds, equity lines / ELOCs, SEPA pre-paid advances), each deal\ngraded 0-3 for how toxic -- how price-dependent and dilutive -- its terms are.\n\nOne row per 8-K private-placement deal event: an announcement (the securities\npurchase agreement is signed and disclosed), a closing (funds received), an\namendment or price reset, or a termination; event_kind says which. announce_date\nis the 8-K filing date and is the feed's clock; event_date and closing_date are\nthe dates the filing states. A deal announced and later closed is two rows sharing\nticker and cik under different accession_no values. Deal economics served per\nrow: gross_proceeds_usd (or committed_capacity_usd for an equity line),\nshares_sold, price_per_share_usd, discount_to_prior_close_pct, price_basis\n(fixed / variable_discount_to_market / lesser_of / unstated) with the variable\ndiscount, lookback window and floor, reset_provision, warrant_coverage_pct with\nexercise price and term, has_prefunded_warrants, original_issue_discount_pct,\nthe stated investors / investor type / placement agent / exemption, the resale\nregistration deadline and (once filed) the resale S-1 / S-3 form and dates, and\nmarket_cap_at_announce_usd with proceeds_pct_of_market_cap.\n\ntoxicity_score, the 0-3 scale, derived from the stated terms:\n3 = variable-price conversion (priced off a discount to future VWAP / lowest\nclose, or the lesser of a fixed price and market) or a VWAP-priced equity line\n-- dilution grows as the price falls; 2 = a ratchet / price-reset provision,\nor >= 100% warrant coverage at >= 15% discount to the prior close, or original\nissue discount >= 10%; 1 = any common warrants, or a >= 10% discount, or any\nOID, or an equity line without a stated pricing formula; 0 = fixed price at or\nabove market with at most pre-funded warrants; NULL = the terms live in an\nexhibit v1 did not read. The grade summarizes structure, not the issuer's\nprospects: a 0 can still be a large raise by a struggling company, which is what\nproceeds_pct_of_market_cap is there to show.\n\nRequires an Alphanume Pro API key. There is no date clamp on this route: a Pro\nkey sees the full history.\n\nHonest limits, stated plainly. v1 reads the 8-K body, not its exhibits, so a\ndeal whose economics live only in the attached purchase agreement carries\nprice_basis='unstated', terms_in_exhibit_flag=1 and a NULL toxicity_score --\nfilter min_toxicity to keep only graded rows, or read terms_in_exhibit_flag\nbefore treating a NULL as benign. Investor names are frequently undisclosed\n(\"certain institutional investors\"); investor_names_stated is what the filing\nsays, nothing more. discount_to_prior_close_pct needs a Polygon daily bar for the\nprior session and is NULL for unlisted or brand-new tickers and for\nvariable-priced deals. market_cap_at_announce_usd and proceeds_pct_of_market_cap\nare NULL when the cap history does not cover the ticker; resale_* columns are\nNULL until a resale registration is filed / effective. SPAC-related placements\n(a PIPE into a de-SPAC, trust-extension financing) are flagged with\nis_spac_related=1, not removed. Rows are never dropped for missing enrichment.\nconfidence (0-1) is a per-row quality signal for the extracted terms.\nfirst_seen_at is when our pull first observed the 8-K (synthetic = filing time\nfor rows backfilled before launch).\n\nDefault order: newest announce_date first, then ticker, so the first page is\nthe most recent deals.\n\nPagination: results are capped at 50,000 rows per request; when the response\nhas has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id\nback to fetch the next page.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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'."},"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."},"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."},"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."},"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."},"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."},"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."},"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)."},"cursor_id":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Pagination: the 'cursor_id' value from the previous response's next_cursor."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_reverse_splits","description":"Reverse-split calendar: every US reverse stock split, executed and UPCOMING,\nwith pre-split price, market-cap tier, and dilution/shelf cross-links.\n\nOne row per (ticker, execution date), sourced daily from Polygon's reference\nsplits feed. Because the feed carries future execution dates, upcoming=true is\na genuine forward calendar (~40 scheduled splits at any moment); ~70-100\nreverse splits execute per month, almost all sub-$1 microcaps curing a listing\ndeficiency. first_seen_at records when the pull first observed the row (an\nannouncement proxy; for rows backfilled before launch it is set to the\nexecution date itself and is synthetic).\n\nRequires an Alphanume Pro API key. There is no date clamp on this route: a Pro\nkey sees full history and the forward calendar.\n\nResearch context, stated plainly: in the Alphanume anomaly sweep\n(2022-2026, matched-control event study), reverse-split names underperform\ncontrols by roughly -6%/-12%/-18%/-40% over the 21/63/126/252 sessions after\nexecution (~60% of events negative; Kim-Klein-Rosenfeld 2008 found the same).\nThat makes this a screening/avoidance signal -- e.g. exclude fresh\nreverse-splitters from long screens, or use the calendar to anticipate the\nevent. It is NOT a tradeable short card: borrow on these names is scarce and\nexpensive and is not modeled anywhere, the calendar-time short portfolio was\nstatistically inconclusive net of costs, and the long-horizon numbers are\nsurvivor-conditioned (only ~47% of events still have a full price history\n252 sessions out). No CAR columns are served; the feed is the product.\n\nEnrichment semantics. sub_dollar_flag marks names whose unadjusted close\nthe session before the split was under $1 (the raw price is an internal\ninput and is not served). market_cap_before / market_cap_tier are populated\nfrom 2024-01-02 (NULL earlier -- the cap history starts there). ratio =\nsplit_to/split_from (<1 = reverse; a 1-for-10 is 0.1);\nis_deficiency_candidate flags ratio <= 0.5, separating real consolidations\nfrom ADR-fee-style near-1.0 adjustments, which are served raw.\ndilution_link_flag/shelf_link_flag mark an S-1 or S-3/F-3 filing by the\nsame ticker in the trailing 365 days (dilution links meaningful from 2026,\nshelf links from 2025 -- the linked datasets' own history floors). Upcoming\nrows carry NULL sub_dollar_flag until execution; OTC names outside the\ncoverage universe may keep it NULL along with cap fields. Open-end mutual\nfund share adjustments are excluded at ingest; ETFs and closed-end funds\nare included.\n\nPagination: results are capped at 50,000 rows per request; when the response\nhas has_more=true, pass next_cursor's cursor_date and cursor_ticker back to\nfetch the next page.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"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)."},"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."},"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."},"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."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_sec_trading_suspensions","description":"SEC trading suspensions: every Section 12(k) order halting trading in a stock,\n1995 to today -- the terminal-risk tape for dying OTC and small-cap names. One row\nper (order, issuer): who was halted, when trading stopped, when it could legally\nresume (first NYSE session after the order terminates), the cited reason normalized\nto a 4-value taxonomy, listing venue, and the order PDF URL.\n\nBulk delinquency orders (2013-2021) name up to ~55 issuers under one release_number\n-- use issuer_count/issuer_index to collapse rows back to order level. Ticker is\nNULL where the order states none (most pre-2022 rows). resumption_at is when\ntrading MAY resume; many suspended names never quote again. The SEC's suspension\noutput collapsed after 2021: expect only a handful of orders per year since.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing. Note the newest event may be months old:\nshort date windows can legitimately be empty on this dataset.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"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."},"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."},"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."},"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."},"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)."},"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."},"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."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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."},"cursor_date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'date' from next_cursor (send all three cursor params together)."},"cursor_release_number":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'release_number' from next_cursor."},"cursor_issuer_index":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Pagination: 'issuer_index' from next_cursor."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_shelf_registrations","description":"Shelf registrations: every S-3/F-3 shelf registration statement, amendment and\nautomatic (WKSI) shelf, normalized into a point-in-time capacity ledger -- the\nupstream signal behind every dilution screener. One row per filing: ticker, cik,\ncompany name, form, shelf_type (new|amendment|automatic), capacity_amount in USD\n(NULL means an indeterminate/automatic shelf -- never a guessed number),\nsecurities covered, WKSI flag, is_resale (selling-stockholder registrations),\nEFFECT date, days_to_effective, a 3-year expiry estimate, 424B5 takedown count,\nand market cap / shares outstanding at filing.\n\nAuthorization is not issuance: capacity_amount is what the shelf REGISTERS, not\nwhat was sold. Screen date_gte over recent weeks for fresh shelf capacity, filter\nshelf_type=new + is_resale=0 rows for primary dilution risk, or pull one `ticker`'s\nhistory. Pagination: results are capped at 50,000 rows per request; when the\nresponse has has_more=true, pass next_cursor's date and accession_number back as\ncursor_date and cursor_accession to fetch the next page.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"cik":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"SEC CIK number (digits only) to filter by issuer."},"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."},"shelf_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Shelf category: new, amendment, or automatic (WKSI ASR shelves)."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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_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_accession":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Accession number from next_cursor for keyset pagination (pass with cursor_date)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_sp500_risk_regime","description":"S&P 500 risk regime: a daily binary classification of whether the US equity tape\nis in a risk-on or risk-off state. One row per trading day: date and risk_regime\nlabel. Deliberately minimal -- it is designed to be the overlay/kill-switch input to\nother strategies (e.g. only run momentum or premium-selling in the favorable\nregime), not a dataset you mine on its own.\n\nQuery the latest date for the current regime, or a range to backtest a\nregime-filtered strategy.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"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_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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_spx_0dte_strike_band","description":"SPX 0-DTE strike band: for each trading day, a model-derived intraday range\n(lower_strike, upper_strike) that same-day S&P 500 index options are expected to\nstay within, plus the instrument it applies to. One row per day.\n\nUse it to structure 0-DTE trades -- e.g. sell iron condors with short strikes at or\nbeyond the band, or fade band breaches -- and to backtest how often the band held\nover a date range.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"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_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)."},"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)."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_ticker_classification","description":"Ticker sector/industry classification: maps every covered US ticker into\nAlphanume's own 11-sector / 25-industry scheme (derived from SIC codes, but\nnormalized into groups actually useful for trading -- e.g. 'semiconductors' and\n'software' are separate industries under 'technology'). One row per ticker:\nticker, alphanume_sector, alphanume_industry.\n\nUse it to group any other Alphanume dataset by sector, build sector-neutral\nbaskets, or pull all names in one industry. Look up one `ticker`, or filter by\n`sector`/`industry` to enumerate a group. No date dimension and no tier\nrestriction -- the mapping is current-state.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"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."},"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":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_vol_of_vol","description":"Vol-of-Vol Index: answers \"how unstable is this name's volatility itself?\" For\neach US optionable equity, per trading day: the coefficient of variation of its\n~30-day implied vol (iv_vov) and 20-day realized vol (hv_vov) over the trailing\nmonth (std/mean of the last 21 observations), the underlying trailing mean and std,\nand a daily cross-sectional ranking of the most vol-unstable names. Rows update\nintraday and settle after the close (is_final=1).\n\nHigh vol-of-vol names are where vega risk is most treacherous (and where vol\ndislocations appear); low vol-of-vol names have sticky, well-behaved vol surfaces.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"min_iv_vov":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Only rows with iv_vov >= this value (>= 0)."},"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)."},"max_hv_vov":{"anyOf":[{"type":"number"},{"type":"null"}],"default":null,"description":"Only rows with hv_vov <= this value."},"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]."},"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]."},"only_final":{"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.","type":"boolean"},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"get_wikipedia_views","description":"Wikipedia attention tracker: daily page views of each covered company's\nWikipedia article, with a 30-day rolling average and a relative 30-day z-score.\nRetail and media attention shows up in Wikipedia lookups before (and during) big\nprice moves -- a z-score spike means the name is suddenly being researched far more\nthan its own baseline. One row per ticker per day: ticker, company name, date, raw\nviews, avg_30d, zscore_30d.\n\nScreen zscore_30d_gte=3 over recent dates for fresh attention spikes, or pull one\n`ticker`'s history to line attention up against price. Pagination: results are capped at 50,000 rows\nper request; when the response has has_more=true, pass next_cursor's date and\nticker back as cursor_date and cursor_ticker to fetch the next page.\n\nRequires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or\nDATE_RANGE_RESTRICTED error means the key's plan does not cover the request --\nit does not mean the data is missing.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ticker":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Ticker symbol filter, e.g. 'AAPL'. Case-insensitive."},"date":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters."},"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)."},"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)."},"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_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."},"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."},"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."},"max_rows":{"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.","type":"integer"}},"additionalProperties":false}},{"name":"list_market_cap_tickers","description":"Coverage map for the historical market cap dataset: every available ticker with\nits first available date. Use it to check whether (and since when) a name is\ncovered before querying get_historical_market_cap, or to enumerate the full\npoint-in-time universe. No parameters besides the row cap.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"max_rows":{"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.","type":"integer"}},"additionalProperties":false}}],"scan":{"score":73,"grade":"B","scanned_at":"2026-09-19T20:04:17.391Z","report":{"scannerVersion":"0.1.5","scannedAt":"2026-09-19T20:04:17.349Z","components":{"code":{"score":-1,"max":25,"notes":["remote-only server, no package to scan"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 241ms (auth required)"]},"poisoning":{"score":13,"max":15,"notes":["30 tool descriptions checked"]},"auth":{"score":15,"max":15,"notes":["OAuth resource metadata advertised on 401"]},"maintenance":{"score":3,"max":15,"notes":["no repository listed"]},"identity":{"score":4,"max":10,"notes":["verified namespace with website, no repo"]}},"findings":[{"id":"poison.long-description","severity":"low","component":"poisoning","title":"Unusually long tool description (over 2,000 characters)","evidence":"tool get_premarket_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-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.…"},{"id":"maint.no-repo","severity":"low","component":"maintenance","title":"No source repository listed"}],"inputs":{"probes":[{"url":"https://mcp.alphanume.com/mcp","reachable":true,"authRequired":true,"latencyMs":241,"authScheme":"oauth"},{"url":"https://mcp.alphanume.com/key/mcp","reachable":true,"authRequired":false,"latencyMs":797,"serverInfo":{"name":"alphanume","version":"1.5.0"}}],"packages":[],"repo":{"found":false},"icon":{"url":"https://www.alphanume.com/icon.svg","source":"registry"},"presence":{"stars":null,"forks":null,"downloadsWeek":null,"license":null,"lastPushAt":null,"score":8}}}},"grade_history":[],"reviews":[]}