Alphanume Datasets
Server Details
Point-in-time US equity & options data: vol premium, earnings moves, dilution, FDA events, splits
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Available Tools
27 toolscheck_api_statusAPI Status CheckARead-onlyIdempotentInspect
Connectivity and API-key check against the Alphanume API. Returns the API's status and version. Call this first if any other tool errors, to distinguish a bad/missing API key from a dataset-specific problem.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only, idempotent, and non-destructive. The description adds useful context beyond those hints: it checks API-key validity and returns status/version, making the tool's diagnostic role clear. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with no filler. The main purpose is stated first, followed immediately by a practical directive on when to use the tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-parameter diagnostic tool, the description covers what it checks, what it returns, and when to call it. The absence of an output schema is mitigated by explicitly stating that status and version are returned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the description cannot add parameter-specific meaning. A baseline of 4 is appropriate because no parameter documentation is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Alphanume API), the action (connectivity and API-key check), and the outputs (status and version). It also implicitly distinguishes itself from the sibling data tools by positioning this as the diagnostic health check rather than a data endpoint.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives an explicit usage trigger: 'Call this first if any other tool errors', and explains the diagnostic purpose—distinguishing a bad/missing API key from a dataset-specific problem. This is strong routing guidance for an agent deciding between tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_advisory_committee_votesFDA Advisory Committee VotesARead-onlyIdempotentInspect
FDA advisory-committee (AdCom) votes: every drug/biologic advisory committee meeting from 2024 forward, with the committee's exact vote tallies extracted from the official minutes PDFs (verified against the PDFs) -- one row per (meeting, vote question). The tally (vote_yes/vote_no/vote_abstain), the verbatim question, which answer was the product-favorable one, and whether the favorable side won; plus sponsor, drug, indication, committee, center, meeting status, and links to the minutes/transcript/briefing materials so any number can be checked at the source.
A meeting with no tally is still a row -- vote_evidence says why (minutes not posted yet vs discussion-only vs not held), which is the difference between 'no data' and 'no vote'. Minutes land MONTHS after meetings, so recent meetings sit at minutes_not_posted until FDA publishes; rows re-label automatically when materials change. The forward calendar (scheduled meetings) is included. AdCom votes precede FDA decisions by weeks-to-months and FDA usually -- not always -- follows them.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing. Note: meetings are sparse (a few per month), so short date windows are often legitimately empty.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| drug | No | Case-insensitive substring on the drug/asset name (2-100 chars). | |
| center | No | Owning FDA center: CDER, CBER, or OC (Office of the Commissioner). | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| sponsor | No | Case-insensitive substring on the sponsor company (2-100 chars). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| asset_key | No | Exact normalized asset key -- the group-by for 'every AdCom appearance of this asset' and the linkage audit key. | |
| committee | No | Committee abbreviation (e.g. ODAC, VRBPAC, PDAC) or name substring. Matches joint meetings via the full committee list, so PDAC finds meetings where it co-sat. | |
| has_tally | No | true = only rows with a numeric vote tally; false = only placeholder/no-tally rows. | |
| application | No | Substring on the application identifiers (NDA/BLA/sNDA numbers as stated in the materials). | |
| meeting_key | No | Exact meeting page slug -- all vote rows of one meeting. | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows re-projected after FDA posted new materials (minutes land months late). | |
| vote_evidence | No | Why a row does/doesn't carry numbers: minutes_tally (real tally), minutes_no_tally, no_vote_held (discussion-only), minutes_not_posted (FDA hasn't published minutes yet), meeting_not_held. | |
| meeting_status | No | held, scheduled, postponed, or cancelled. 'scheduled' rows are the forward calendar. | |
| meeting_topic_type | No | product_specific, compounding_nominations, strain_selection, safety_review, or policy_or_class_review. | |
| vote_outcome_favorable | No | true = the product-favorable side won; false = it lost. Ties and strain-selection votes are NULL and excluded by either value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/idempotent annotations, the description discloses important behaviors: rows re-label when FDA materials change, no-tally rows carry vote_evidence explaining why, the forward calendar is included, and tallies are verified against official PDFs. It also explains the real-world latency around minutes publication. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but dense and front-loaded: the first sentence establishes scope and data source, followed by row semantics, update behavior, and operational caveats. Each paragraph earns its place by explaining a distinct aspect of the data an agent needs to call and interpret the tool correctly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 19 optional parameters, no output schema, and read-only annotations, the description is unusually complete: it states the row model, the meaning of placeholders, update timing, auth requirements, error interpretation, and the sparse-data caveat. An agent can both invoke the tool and interpret results without major blind spots.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 19 parameters with 100% description coverage, so the baseline is 3. The description adds useful semantic context around the data model, such as vote_evidence distinguishing 'no data' from 'no vote,' but it does not meaningfully elaborate on individual parameter formats or constraints beyond what the schema already provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (FDA advisory-committee votes) and a precise scope (every drug/biologic AdCom meeting from 2024 forward), with the row unit defined as one row per meeting/vote question. It also specifies the exact data provenance: tallies extracted and verified against official minutes PDFs. This clearly differentiates it from generic FDA or market-data siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides practical usage context: minutes arrive months later, recent rows may be minutes_not_posted, short date windows can be legitimately empty, and 403 errors indicate plan limitations rather than missing data. It stops short of naming sibling alternatives or explicitly saying when to prefer another tool, so it does not reach 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_corporate_default_eventsCorporate Default EventsARead-onlyIdempotentInspect
Corporate default events labeled from SEC filings: answers "which public companies just defaulted on an obligation, and on what terms?" One row per default event: ticker, event date, source filing URL, plus enriched fields extracted from the filing text -- event type, the obligation's name and type, creditor name, principal outstanding, amount accelerated, missed payment amount, stated default date, grace period end, whether acceleration was declared, and a confidence score with the supporting evidence quote. Fields are null where the filing text did not explicitly support them.
Use it for distressed screening, credit event studies, or monitoring a date range for fresh defaults.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnly, idempotent, non-destructive), the description discloses that fields are null when the filing text does not explicitly support them, that an API key is required, and that specific errors indicate plan limitations rather than missing data. This materially helps the agent interpret results and troubleshoot failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the core purpose and row structure, followed by use cases and error semantics. Every sentence contributes useful information and there is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by listing the returned fields in detail, explaining null behavior, and covering error semantics. Combined with full schema coverage for parameters and clear annotations, an agent has everything needed to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the input schema already explains each date parameter and max_rows. The description reinforces the date-range monitoring use case but does not add parameter-specific meaning beyond what the schema provides, matching the baseline expectation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource (corporate default events from SEC filings) and answers the exact question the tool addresses: which public companies just defaulted and on what terms. It enumerates the row structure and enriched fields, clearly distinguishing it from the finance-focused sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description states explicit use cases: distressed screening, credit event studies, and monitoring date ranges for fresh defaults. It does not name alternatives or explicitly say when not to use the tool, but there is no obvious sibling with overlapping functionality, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_crypto_enforcementCrypto Enforcement ActionsARead-onlyIdempotentInspect
US digital-asset enforcement, one normalized tape across the three agencies that bring it: SEC litigation releases and administrative proceedings, CFTC enforcement press releases, and DOJ criminal announcements, 2024+. One row per (action, respondent): what was alleged (multi-category), statutes cited, tokens/assets involved (real JSON arrays), monetary relief with its stated basis, settled flag (three-state), listed-issuer linkage where the document itself states one, and a follow-up chain linking successive actions by the same agency against the same respondent (complaint -> consent order, indictment -> plea).
The date window filters published_date (structural, the agency's announcement date); action_date is extracted from the document with its own precision enum. One matter can appear once per agency -- nothing links across agencies, by design. monetary_relief_usd repeats on each respondent row of one action; de-duplicate on action_key before summing.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| asset | No | Case-insensitive substring over the assets list, e.g. 'bitcoin'. Asset strings are unnormalized document literals (Bitcoin/BTC both occur). | |
| agency | No | Which agency brought the action: sec, cftc, or doj. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| settled | No | Three-state: true (document says settled), false (document says not settled), unknown (document does not say). Never collapse unknown into false. | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| record_id | No | Exact served row id: '<action_key>#<respondent_index>'. | |
| action_key | No | Exact action id, e.g. 'sec-lr:LR-26456', 'cftc:9285-26', 'doj:<uuid>'. One action returns one row per respondent. | |
| allegation | No | Matches anywhere in the allegation list: fraud, unregistered_offering, unregistered_exchange_or_broker, market_manipulation, aml_bsa, sanctions, misappropriation, other. | |
| respondent | No | Case-insensitive substring over the respondent name and its normalized key, e.g. 'bankman'. | |
| action_type | No | What the document announces NOW: civil_complaint, administrative_proceeding, settled_order, criminal_indictment, criminal_plea, trial_verdict, other. | |
| is_followup | No | 1 = this action follows an earlier action by the same agency against the same respondent. | |
| has_followup | No | 1 = a later action by the same agency against the same respondent exists. | |
| source_index | No | Document kind: litigation-release, administrative-proceeding (SEC only; the PDF orders), or press-release (CFTC/DOJ). | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows touched by the follow-up sweep since this date. | |
| respondent_key | No | Exact normalized respondent key (lower-cased, suffixes stripped) -- the group-by for 'every action against this party' within one agency. | |
| respondent_kind | No | person or company. | |
| cursor_action_key | No | Pagination: 'action_key' from next_cursor. | |
| primary_allegation | No | Matches only the lead allegation (same enum as allegation). | |
| has_monetary_relief | No | 1 = a dollar amount was stated, 0 = none stated. | |
| max_monetary_relief | No | Maximum monetary_relief_usd. | |
| min_monetary_relief | No | Minimum monetary_relief_usd. CAUTION: relief repeats on every respondent row of one action -- summing across rows double-counts. | |
| action_date_precision | No | Precision of the extracted action_date: day, month, quarter, year, unstated. | |
| cursor_published_date | No | Pagination: 'published_date' from next_cursor (send all three cursor params together). | |
| cursor_respondent_index | No | Pagination: 'respondent_index' from next_cursor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish read-only, idempotent, non-destructive behavior. The description adds meaningful extra context: an API key requirement, the meaning of specific 403 error codes, that one matter can appear once per agency, that monetary relief repeats across respondent rows, and that date filters apply to published_date rather than action_date. This goes well beyond the annotation baseline.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but tightly organized: it starts with the product definition, then explains row semantics, date behavior, deduplication, and auth/error handling. Every sentence carries operational or semantic weight; there is no filler or repetition of schema content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 28-parameter read-only tool with no output schema, the description covers the essential context: data source scope, row granularity, output field semantics, date-window behavior, deduplication pitfalls, authentication requirements, and error interpretation. Pagination details live in the schema, which is appropriate. An agent has everything needed to select and invoke this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents every parameter clearly. The description adds cross-cutting semantics that the schema cannot express: monetary_relief_usd repeats per respondent row and requires de-duplication on action_key before summing, and nothing links across agencies. This is exactly the kind of parameter-level clarification that helps an agent avoid misaggregation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise resource definition: 'US digital-asset enforcement, one normalized tape across the three agencies' and names the three agencies individually. It clearly differentiates this tool from all sibling financial-data tools by its unique domain and row structure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives strong usage context: data coverage from 2024+, the 'one row per (action, respondent)' unit, de-duplication guidance before summing monetary relief, and how to interpret 403 errors. It does not explicitly name a sibling alternative, but no sibling appears to overlap with this specialized enforcement dataset, so exclusions are not critical here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_cyber_incidentsCyber Incident 8-KsARead-onlyIdempotentInspect
Material cybersecurity incidents: every Form 8-K filed under Item 1.05 (the SEC cyber-disclosure rule, live since 2023-12-18) plus its 8-K/A amendments -- the entire population, ~80 filings and growing. One row per filing, with FOUR distinct date roles kept rigorously separate: incident discovered, materiality determined (both extracted from prose, with day/month/quarter precision enums), disclosed and amended (both structural EDGAR dates, never model-guessed) -- plus the intervals between them (investigation time, compliance-clock time, total latency).
Flags are three-state: 1 = filing says yes, 0 = filing says no, NULL = filing does not say -- never collapsed. Amendments are separate rows linked to their original (original_accession_number, days_original_to_amendment); an incident with three 8-K/As is four rows. materiality_determined_date is sparse (~15% fill) because most filings simply do not state one. days_determination_to_disclosure is CALENDAR days; the SEC's deadline is four BUSINESS days -- adjust before compliance claims.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (digits only) -- the durable issuer key (3 rows have no ticker). | |
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| refused | No | 1/0: rows where the labeler declined the filing text (served with NULL extraction fields; the disclosure event is still real). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| attack_type | No | One of data-breach, unauthorized-access, ransomware, business-email-compromise, other, unstated. | |
| cursor_date | No | Pagination: 'date' from next_cursor (send with cursor_accession). | |
| amended_flag | No | 1 = originals that were later amended, 0 = originals never amended (NULL on amendment rows themselves). | |
| is_amendment | No | 1 = 8-K/A amendments only, 0 = original 8-Ks only. | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows touched by the amendment-linkage sweep since this date. | |
| cursor_accession | No | Pagination: 'accession_number' from next_cursor (send with cursor_date). | |
| data_compromised_flag | No | 1/0 three-state flag: filing states data was/was not stolen (unfiltered rows include NULL = filing does not say). | |
| operations_disrupted_flag | No | 1/0 three-state flag: filing states operations were/were not disrupted. | |
| third_party_incident_flag | No | 1/0 three-state flag: incident originated at a vendor/third party. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses critical behavioral traits: flags are three-state and 'never collapsed,' amendments are separate rows linked to originals, materiality_determined_date is sparse (~15% fill), and days_determination_to_disclosure uses calendar days while the SEC deadline uses business days. It also clarifies that a 403 error means plan restrictions, not missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but densely informative, with the core population and scope stated first, followed by row semantics, flag behavior, date caveats, and API error interpretation. Every sentence adds necessary operational detail; there is no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 18 parameters, no output schema, and a complex domain, the description is remarkably complete: it explains population size, row-level granularity, date semantics, amendment modeling, sparse fields, calendar-day caveats, required API key, and error interpretation. An agent has enough context to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Even with 100% schema coverage, the description adds substantial meaning beyond the parameter list: the four distinct date roles, calendar-versus-business-day adjustment, NULL semantics for three-state flags, amendment linkage fields, and pagination behavior. This directly prevents misinterpretation when using date, flag, and amendment-related parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: retrieving material cybersecurity incidents from every Form 8-K filed under Item 1.05 plus 8-K/A amendments, described as the 'entire population, ~80 filings and growing.' It clearly differentiates the tool from generic SEC-filing siblings by specifying row granularity, date roles, and amendment linkage.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context: this is the cyber-incident 8-K dataset, with explicit explanatory notes about amendment rows, flag semantics, date calculations, and authentication errors. It does not explicitly name sibling tools or state when to use this tool versus alternatives, so it stops short of a full 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_de_spac_eventsDe-SPAC LifecycleARead-onlyIdempotentInspect
De-SPAC lifecycle: one row per SPAC business combination tracked from the
definitive-agreement announcement through registration, definitive proxy, shareholder
vote, exchange listing and completion (or termination / trust liquidation). Every row
carries the SPAC's own symbol (prior_ticker), the combined company's symbol as soon as a
filing names it (new_ticker -- the definitive proxy does so in most deals, weeks before
the close), warrant ticker, exchange, SPAC / target / new company names, and the dated
milestones: announced_date, meeting_date, record_date, vote_approved_date,
listing_filed_date, expected_close_date and expected_trading_date (each with a *_basis
column saying whether the date was stated in a filing or derived), closing_date,
trading_commencement_date, terminated_date, plus next_event_date / next_event_type for
what comes next. Completed rows also carry the closing financials (redemption shares and
dollars, trust remaining, PIPE, gross proceeds, pro forma shares, enterprise and equity
value), a confidence score and the supporting evidence quote. date is the SEC filing
date of the filing that set the row's current status (for completed deals: the closing
8-K). ticker is the symbol trading for the deal today (new_ticker once listing is
pending, otherwise prior_ticker). Fields are null where no filing supported them;
quality_flags lists any rule that altered or withheld a value.
Use status=pending&upcoming=true to see de-SPACs before the new symbol trades, ticker= to follow one deal, view=history to replay what was known on a given date, or status=completed with a date range for the classic redemption-rate event study.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| view | No | 'latest' (default): one row per deal with its current status. 'history': the append-only status log, one row per transition (deal_id, status, date = filing date, created_at = when the pipeline first recorded it) for point-in-time replays. | |
| status | No | 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 | No | Symbol filter matched against BOTH the SPAC's own symbol (prior_ticker) and the post-combination symbol (new_ticker), so either side of the rename works. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| upcoming | No | 'true' = only pending deals with a future milestone (next_event_date >= today); 'false' = everything else. Omit for both. | |
| updated_since | No | Only rows updated at or after this timestamp (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS); for incremental syncs. | |
| next_event_lte | No | YYYY-MM-DD: only deals whose next milestone (meeting, expected close or expected first trade) is on or before this date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, openWorld, idempotent, and non-destructive behavior; the description adds substantial context beyond those: the meaning of date as the SEC filing date, ticker as the current trading symbol, null-field semantics, quality_flags behavior, and 403 error interpretation. This gives the agent a clear model of how data behaves without contradicting the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but densely packed with necessary details that the absent output schema would otherwise leave uncovered. It is well-structured: a lifecycle/field paragraph, a data-semantics paragraph, and an actionable usage paragraph. It could be slightly tightened, but every major sentence adds information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity, 12 optional parameters, rich annotations, and no output schema, the description is complete: it explains row granularity, all milestone and financial fields, null/quality handling, point-in-time history, common query patterns, and API-key/error behavior. An agent can select and invoke this tool correctly with no further context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema descriptions cover 100% of the 12 parameters, so the baseline is 3. The description adds meaning by tying key parameters to use cases (status+pending+upcoming, view=history) and clarifying derived dates and the ticker rename behavior. It does not simply repeat the schema, earning an above-baseline score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb-resource pair: it returns one row per SPAC business combination tracked across a defined lifecycle. It distinguishes itself from the many sibling get_* tools by naming the exact domain (De-SPAC) and the full list of milestones and financial fields returned.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives four concrete usage recipes: status=pending&upcoming=true, ticker=<symbol>, view=history, and status=completed with a date range for redemption-rate studies. It clearly explains when each is appropriate, though it does not explicitly state when not to use this tool versus a sibling; the sibling topics are sufficiently different that this is a minor gap.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dilution_filingsS-1 Dilution FilingsARead-onlyIdempotentInspect
S-1 dilution filings tracker: answers "which companies are registering new share supply, and where is each registration in its lifecycle?" One row per S-1 registration event: ticker, company name, filing timestamp, market cap at filing, whether the filing is dilutive and/or a resale, shares offered, whether/when it became effective (with days-to-effective), whether/when it was withdrawn, and the SEC accession number + filing URL for the source document.
Use it to flag dilution overhang on small caps, track time-to-effectiveness, or build event studies around registration filings. Filters by ticker and filing-date range (no exact-date parameter on this dataset).
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint, and non-destructive behavior. The description adds valuable behavioral context beyond annotations: API key requirements, and the meaning of 403 errors (subscription/date-range restriction rather than missing data). This meaningfully helps agents interpret failures correctly.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and output shape, then gives use cases, filter limitations, and error semantics. It is somewhat long due to the field enumeration, but every part contributes useful information and nothing feels redundant or padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description compensates by fully enumerating the returned row fields. It also covers authentication, error interpretation, filter boundaries, and practical use cases. An agent has enough information to invoke the tool correctly and interpret the response meaningfully.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already covers all parameters with descriptions, so the baseline is 3. The description adds useful parameter semantics by stating that filtering is limited to ticker and filing-date range and explicitly calling out that there is no exact-date parameter. This helps an agent choose date filters correctly without over-specifying.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource as S-1 dilution filings and specifies the exact row-level content (ticker, filing timestamp, dilutive/resale flags, effectiveness/withdrawal status, SEC links). It is distinct from generic filing tools, but it does not explicitly differentiate from the closely related sibling get_shelf_registrations, so it falls just short of full sibling differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides explicit use cases: flagging dilution overhang, tracking time-to-effectiveness, and building event studies. It also clarifies the available filter scope (ticker and filing-date range, no exact-date parameter). It does not state when to prefer a sibling tool, but the context is clear enough for basic routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_dividend_captureDividend-Capture CalendarARead-onlyIdempotentInspect
Dividend-capture calendar and scorecard: answers "which ex-dividend events are coming up, and how has capturing this name's dividend actually worked?" One row per ex-dividend event: the full schedule (declaration/record/pay dates, cash amount, frequency, type, annualized dividend, capture yield), the ex-day price action (cum-day close, ex open/close, price drop and drop ratio at open and close, net capture %), and the recovery record (breakeven price, recovery status/date, days to recover, recovered-within 1/3/5/10/20-day flags). A drop ratio well below 1 means the stock historically falls less than the dividend -- the raw material of a capture strategy.
Set upcoming=true for the forward ex-div calendar (default 7 days out, up to 120 via
future_days); use ticker for one name's full capture history.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| upcoming | No | If true, return only the FORWARD calendar: ex-dividend dates after today, out to future_days ahead. Overrides date range filters. | |
| future_days | No | Forward horizon in calendar days for the upcoming calendar (default 7, max 120). | |
| recovery_status | No | 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). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already mark this as read-only, idempotent, and non-destructive. The description adds substantial behavioral context: the exact output row structure, interpretation guidance for drop ratio, requirement for a Pro API key, and the meaning of specific error codes. This goes well beyond what the annotations alone provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence carries distinct value: purpose, output structure, mode selection, interpretation guidance, and error handling. It is front-loaded with the core purpose and avoids redundancy with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description carries the full burden of explaining return values, and it does so thoroughly: row granularity, schedule fields, price-action fields, recovery flags, and interpretation. It also covers authentication requirements and error semantics, making the tool callable without external documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already documents all 10 parameters with descriptions, so the baseline is 3. The description adds useful semantics beyond the schema, such as how upcoming=true and future_days define the forward calendar, how ticker maps to full capture history, and how to interpret recovery-related output. This lifts the score slightly above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description explicitly identifies the resource as a dividend-capture calendar and scorecard, including the exact questions it answers and the output granularity (one row per ex-dividend event). This clearly distinguishes it from sibling tools, which cover unrelated market or event data.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit mode instructions: set upcoming=true for the forward calendar and use ticker for a single name's capture history. It also explains that 403 errors indicate plan restrictions rather than missing data. It does not name alternative sibling tools, but the tool is distinct enough that the mode guidance is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_earnings_move_historyEarnings Move HistoryARead-onlyIdempotentInspect
Earnings move track record: answers "does the options market systematically
over- or under-price this name's earnings moves?" One row per earnings event per
ticker: the pre-earnings ATM straddle price and implied move (% and $), ATM IV,
the realized post-earnings return and absolute move, the over/under-pricing gap
and move ratio, an overpriced flag, EPS estimate vs actual, plus running
per-ticker history stats (events to date, hit rate of straddle overpricing,
average implied vs realized move to date).
Use it before an earnings trade: query ticker to see whether selling or buying
the earnings straddle has historically paid on that name, or screen a date to
review how yesterday's reporters resolved. date is the earnings date.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this read-only, idempotent, open-world, and non-destructive, and the description does not contradict them. It adds substantial behavioral context: one row per earnings event per ticker, the meaning of the 403 errors (plan limitation, not missing data), and the Pro API key requirement. This goes well beyond what annotations alone communicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is detailed but every sentence earns its place. It front-loads the core purpose, lists the output fields compactly, gives direct usage instructions, and closes with error interpretation. There is no filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given seven optional params, no output schema, and a large sibling set, the description covers the essentials: what the data represents, what fields are returned, how to use ticker and date, the auth requirement, and how to interpret errors. The input schema handles filter mechanics, so nothing critical is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful domain context: it tells agents that ticker is how you evaluate historical straddle profitability for a name and clarifies that date means the earnings date. This enriches the parameter semantics beyond the raw schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific resource ('earnings move track record') and a precise diagnostic question: whether the options market systematically over- or under-prices earnings moves. It also enumerates the output in concrete terms (straddle price, implied move, realized move, overpricing gap, flag, EPS data), which makes it unambiguously distinct from siblings like get_iv_hv_premium or get_momentum_index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit, actionable usage guidance: use it before an earnings trade by querying ticker to assess whether selling or buying the straddle has paid, or screen by date to review recent reporters. It does not explicitly name alternative tools or when-not-to-use conditions, but the intended context is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_fda_response_eventsFDA Response EventsARead-onlyIdempotentInspect
Adverse FDA regulatory actions disclosed in 8-Ks: Complete Response Letters, full and partial clinical holds, and refuse-to-file letters, 2024+, each graded by an explicit severity precedence rule with the evidence flags the grade depends on served alongside it (new-trial-required, manufacturing-related, resubmission-path, hold-lifted). Follow-ups and resolutions are linked per (issuer, drug program), so an original hold row answers 'was it ever lifted, and how long did it take'.
By default only classified FDA events are returned (~196 rows); the ~1,520 audited not-an-event rows the full-text sweep also retrieved are available with include_rejects=true. The date window filters disclosed_date (the EDGAR filing date); event_letter_date is extracted with its own precision enum and days_letter_to_disclosure is the selective-disclosure measure -- on initial_disclosure rows only (on follow-ups it measures distance to the original letter). Selective disclosure is the headline caveat: a CRL disclosed only in a 10-Q, or never, is not here.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (digits only). | |
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| resolved | No | true = events with a linked later resolution (hold lifted, approval, resubmission accepted); false = still open. NULL rows are themselves resolutions. | |
| severity | No | Comma-separated severity grades: program_terminated, major_delay_new_trial_required, manufacturing_only, addressable_deficiencies, safety_signal_no_path_stated, unstated, not_restated. Rank encodes grading precedence, NOT market impact. | |
| asset_key | No | Exact normalized program key -- groups all filings about one program and audits the served linkage columns. | |
| event_type | No | Comma-separated: crl, clinical_hold_full, clinical_hold_partial, refuse_to_file, other_fda_action. (not_a_setback_event requires include_rejects=true.) | |
| cursor_date | No | Pagination: 'date' from next_cursor (send with cursor_accession). | |
| drug_search | No | Case-insensitive substring on the drug/asset name (3+ chars). | |
| filing_role | No | What the document does about the event: initial_disclosure, follow_up_update, or resolution. Counting rows without this filter overstates events ~2.4x -- one program's hold can be 3+ filings. | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows touched by the linkage sweep since this date. | |
| include_rejects | No | true = include the ~1,520 audited 'not_a_setback_event' rows (boilerplate the recall-first sweep retrieved and the labeler rejected, each with its reason). Default = real FDA events only. | |
| cursor_accession | No | Pagination: 'accession_number' from next_cursor (send with cursor_date). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/openWorld annotations, the description discloses default row counts, that date filters apply to disclosed_date, linkage of follow-ups/resolutions per program, the selective-disclosure limitation, and auth-related 403 meanings. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long because the tool is complex, and it is front-loaded with the core purpose before caveats and auth. Every sentence carries information, but some clauses are dense and could be tightened slightly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 18-parameter read-only tool with no output schema, the description covers default scope, optional reject rows, date semantics, linkage model, selective-disclosure limits, and error interpretation. This is sufficient for an agent to select and invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema coverage is 100%, the description adds cross-parameter meaning: date window semantics, days_letter_to_disclosure only on initial_disclosure rows, filing_role overstating event counts ~2.4x, and severity rank encoding precedence rather than market impact. This materially helps correct parameter selection.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pairing: adverse FDA regulatory actions disclosed in 8-Ks, enumerating CRLs, full/partial clinical holds, and refuse-to-file letters. This clearly distinguishes it from sibling tools covering other event types like cyber incidents or SEC trading suspensions.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description establishes the domain and scope explicitly, including a when-not caveat: CRLs disclosed only in a 10-Q or never are not present. It also explains default vs include_rejects behavior, though it does not name alternative sibling tools for out-of-scope queries.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_filing_intensitySEC Filing IntensityARead-onlyIdempotentInspect
SEC filing intensity: the number of EDGAR filings each company submitted per day. Corporate action leaves fingerprints in the filing stream -- financings, restructurings, activist involvement, and deal activity all show up as bursts of filings before the news is digested. One row per ticker per day: ticker, company name, date, filing_count.
Screen filing_count_gte over recent dates to surface names with unusual filing
bursts, or pull one ticker's history to spot regime changes in its filing
cadence. Pagination: results are capped at 50,000 rows
per request; when the response has has_more=true, pass next_cursor's date and
ticker back as cursor_date and cursor_ticker to fetch the next page.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| cursor_date | No | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. | |
| cursor_ticker | No | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. | |
| filing_count_eq | No | Exact filing count match. Cannot be combined with the filing_count range parameters. | |
| filing_count_gt | No | Only rows with filing_count > this value. | |
| filing_count_lt | No | Only rows with filing_count < this value. | |
| filing_count_gte | No | Only rows with filing_count >= this value (non-negative). | |
| filing_count_lte | No | Only rows with filing_count <= this value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Even with readOnly, openWorld, idempotent, and non-destructive annotations, the description adds meaningful behavioral detail: a 50,000-row per-request cap, cursor-based pagination semantics, the need for an Alphanume Pro API key, and the specific meaning of 403 errors. This goes well beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured, front-loaded with the core definition, then usage, pagination, and error context. The 'corporate action fingerprints' sentence adds useful intuition and is not excessive; each remaining sentence carries operational weight.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with no output schema, the description covers what an agent needs: row schema, pagination mechanics, request-size limits, authentication requirements, and error interpretation. This is a high-complexity tool, and the description is sufficiently complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds value by showing how parameters are meant to be used, e.g., screening with filing_count_gte, pulling ticker history, and using cursor_date/cursor_ticker for pagination. It also clarifies that max_rows should not be raised as a substitute for narrowing filters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the resource: the number of EDGAR filings per company per day, with an explicit row shape (ticker, company name, date, filing_count). This distinguishes it from sibling tools by domain (SEC filing cadence) and by data granularity, so an agent knows exactly what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete use cases: screening filing_count_gte over recent dates for unusual filing bursts, or pulling one ticker's history for regime changes. It provides actionable guidance for parameter selection and pagination, but it does not explicitly contrast with sibling tools or state when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_historical_market_capHistorical Market CapARead-onlyIdempotentInspect
Point-in-time historical market capitalization: daily market_cap and shares_outstanding per US ticker, as they were known on each date (no restatement, no survivorship bias). The backbone reference for size filters, cap-weighted baskets, and normalizing anything by company size in a backtest.
Requirements: provide ticker OR at least one date filter. A single date with no
ticker returns the whole market for that day; a date RANGE without a ticker is
capped at 7 calendar days. Pagination: results are capped at 50,000 rows
per request; when the response has has_more=true, pass next_cursor's date and
ticker back as cursor_date and cursor_ticker to fetch the next page.
Companion tool: list_market_cap_tickers shows which tickers exist and their first available date.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| cursor_date | No | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. | |
| cursor_ticker | No | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses significant behavior: no restatement, no survivorship bias, 50,000-row pagination cap, has_more/next_cursor mechanics, and the 7-day range limit. It also explains that PRO_SUBSCRIPTION_REQUIRED and DATE_RANGE_RESTRICTED errors mean the plan does not cover the request rather than missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three structured paragraphs front-load the core semantics, then move through requirements, pagination, companion tools, and auth/error handling. Every sentence contributes operational or selection value with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 9-parameter read tool with no output schema, the description supplies return fields (market_cap, shares_outstanding), pagination details, limits, companion tool guidance, and error interpretation. No critical operational gap remains for an agent to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema already covers all 9 parameters with descriptions, so the baseline is 3. The description adds meaning beyond the schema: the ticker-or-date-filter requirement, the cursor_date/cursor_ticker coupling rule, pagination behavior, and the range cap, which is valuable operational context the schema alone does not convey.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Description names a specific verb and resource: point-in-time historical market capitalization with daily market_cap and shares_outstanding per US ticker. It also states the key data semantics (no restatement, no survivorship bias), and names the companion tool list_market_cap_tickers, distinguishing it from related sibling tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit invocation rules are provided: provide ticker OR at least one date filter, a bare date returns the whole market, and a date range without ticker is capped at 7 days. It also routes agents to list_market_cap_tickers for checking ticker availability and clarifies 403 error meaning, giving strong when-to-use and troubleshooting guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_iv_rankIV Rank & Percentile (52-week)ARead-onlyIdempotentInspect
IV Rank & IV Percentile (52-week): answers "is this name's volatility high or low for itself?" For each US optionable equity, per trading day: where current ~30-day implied vol and 20-day realized vol sit inside that name's own trailing-year range -- iv_rank/hv_rank (0-100 position between the 52w low and high), iv_percentile / hv_percentile (share of the past year's days below today), the 52w high/low/median levels themselves, and daily cross-sectional ranks/z-scores for context. Rows update intraday and settle after the close (is_final=1).
The classic premium-selling timing filter: min_iv_rank=50 finds names in the upper half of their own vol range regardless of absolute vol level.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| only_final | No | If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional. | |
| max_hv_rank | No | Only rows with hv_rank <= this value, range [0, 100]. | |
| max_iv_rank | No | Only rows with iv_rank <= this value, range [0, 100]. | |
| min_hv_rank | No | Only rows with hv_rank >= this value, range [0, 100]. | |
| min_iv_rank | No | Only rows with iv_rank >= this value, range [0, 100]. | |
| min_iv_percentile | No | Only rows with iv_percentile >= this value, range [0, 100]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that rows update intraday and settle after the close (is_final=1), that the default latest value may be provisional, and that 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED errors are about plan coverage rather than missing data. These details go well beyond the annotations and materially help an agent interpret behavior and failures.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well organized: core concept first, then update behavior, then a use case, then authentication/error context. Every sentence contributes something necessary, and no filler or vague phrasing is present.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 13 optional parameters, no output schema, and many siblings, the description covers the essential context: the data universe, the computed metrics, update timing, filtering semantics, and the meaning of common auth errors. An agent has enough information to call the tool correctly and interpret the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the description adds value by defining what iv_rank, hv_rank, iv_percentile, and hv_percentile actually measure. It also gives min_iv_rank a practical interpretation, complementing the schema without redundantly restating each parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (IV/HV rank and percentile within each name's trailing 52-week range for US optionable equities) and the tool's core purpose: answering whether volatility is high or low relative to that name's own history. It lacks an explicit retrieval verb like 'get' or 'return', but the subject matter is specific and distinct from the listed siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a concrete usage pattern ('min_iv_rank=50 finds names in the upper half of their own vol range') and clarifies that ranks are relative to each name's own range, not absolute levels. However, it never contrasts this tool with closely related siblings such as get_iv_hv_premium or get_vol_of_vol, so an agent gets no explicit 'when to use this vs. that' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_momentum_indexQuant Galore Momentum IndexARead-onlyIdempotentInspect
Quant Galore Momentum Index constituents: the daily holdings of a rules-based 12-1 momentum strategy (long the highest-momentum US names, refreshed on a fixed schedule). One row per constituent per day: date, ticker, and rank (1 = strongest). History is point-in-time -- each day shows exactly what the index held then, so backtests are free of look-ahead.
Use it to mirror the index, source high-momentum candidates, or study momentum
portfolio turnover. Query a single date for that day's basket, or a range to see
how the basket evolved.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnly/idempotent/non-destructive behavior, and the description adds valuable context beyond that: point-in-time history, no look-ahead bias, rank semantics, and the 403 error interpretation. This meaningfully clarifies behavior an agent could not infer from annotations or schema alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well organized into three focused paragraphs: what the data is, how to use it, and important auth/error context. Every sentence carries information, with the resource definition front-loaded and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining return values, and it does: columns, row semantics, point-in-time integrity, and rank meaning. It also covers query modes, key requirements, and error interpretation, making it complete enough for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds semantic framing by explaining that a single `date` returns that day's basket and a range shows evolution, which helps the agent choose between the date family parameters. It does not add per-parameter detail beyond schema, but the usage framing is genuinely useful.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the resource (Quant Galore Momentum Index constituents) and the data shape (one row per constituent per day: date, ticker, rank). It is specific enough to distinguish this tool from the many data-retrieval siblings, which cover different domains.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: mirror the index, source momentum candidates, or study turnover. It also explains how to query a single date versus a range. It does not name alternative tools or exclusion conditions, so it stops short of full when-to-use-versus-alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_next_day_moversNext-Day MoversARead-onlyIdempotentInspect
Next-Day Movers: each trading day, the US equities a volatility model ranks most
likely to make an outsized price move in the next session. Rows carry the ticker,
the list date, and -- once the next session has traded -- the realized outcome
(return = signed next-day return, absolute_move = unsigned magnitude), so the
dataset doubles as its own scorecard.
Use it to focus long-gamma / straddle / breakout attention on a short daily list, or to backtest the signal against realized moves over a date range.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive, idempotent behavior. The description adds substantial context beyond that: the meaning of return and absolute_move fields, that the dataset acts as its own scorecard, the requirement of an Alphanume Pro API key, and that 403 errors indicate plan restrictions rather than missing data. This is genuinely useful operational transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: first the core data and meaning, then use cases, then authentication and error interpretation. Each sentence adds distinct value, and the most important facts are front-loaded. No filler or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description appropriately explains the key return fields (ticker, list date, return, absolute_move) and the scorecard nature of the data. It also covers authentication requirements and a critical error-class interpretation. This is sufficient for an agent to call the tool and interpret results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema has 100% parameter description coverage, so the schema already documents dates, range semantics, and max_rows behavior. The tool description adds high-level context about date-range backtesting but no additional parameter syntax or constraints beyond what the schema provides, so the baseline of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific function: it returns US equities a volatility model ranks as likely to make an outsized move in the next session, with realized outcomes for backtesting. This clearly distinguishes it from sibling data tools like get_earnings_move_history or get_iv_rank, which target different signals or asset classes.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly suggests two use cases: focusing trading attention on the daily list and backtesting the signal against realized moves over a date range. It does not explicitly name alternative tools or state when not to use it, but the use-case framing gives enough context for an agent to decide applicability.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_optionable_tickersOptionable TickersARead-onlyIdempotentInspect
Historical optionable universe: point-in-time snapshots of which US equities had listed options on each snapshot date, with the average number of days between listed expirations (avg_days_between -- lower means a denser expiration calendar) and a has_weeklies flag. Essential for honest options backtests: it tells you what was actually tradable then, not what is optionable today.
Filter by snapshot date range; omit filters for the most recent snapshots first. Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's date and ticker back as cursor_date and cursor_ticker to fetch the next page.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| cursor_date | No | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. | |
| cursor_ticker | No | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive. The description adds substantial behavioral context beyond that: 50,000-row pagination cap, has_more/next_cursor mechanics, and crucially explains that 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED errors indicate plan coverage, not missing data.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Every sentence earns its place: core concept, field definitions, filtering guidance, pagination mechanics, and error semantics. The most important point-in-time distinction is front-loaded, and the structure flows logically from what to how to error handling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description names the key output fields (avg_days_between, has_weeklies), explains pagination response elements (has_more, next_cursor), and covers auth requirements and error interpretation. This is sufficiently complete for an agent to call and process results correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all 7 parameters, so the baseline is 3. The description adds extra meaning by explaining that cursor_date and cursor_ticker must be sent together and come from next_cursor, and by clarifying that max_rows is applied after the API responds. This goes beyond the schema's descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States exactly what the tool returns: historical point-in-time snapshots of US equities with listed options, including specific fields like avg_days_between and has_weeklies. The emphasis on 'what was actually tradable then, not what is optionable today' clearly distinguishes its purpose from any current-universe tool among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear guidance on when to use it, such as 'essential for honest options backtests,' and how to apply date filters and pagination. It doesn't explicitly name when-not-to-use alternatives, but the context is strong enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_premarket_drop_riskPre-Market Drop RiskARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rank | No | Only rows with rank_for_date <= this value (>= 1). max_rank=5 gives the top five names per day. | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| min_prob | No | Only rows with prob_drop >= this value, range [0, 1]. 0.7 keeps the model's higher-conviction names. | |
| max_price | No | Only rows with px_at_trading <= this value (USD, >= 0). max_price=1 isolates the sub-$1 cohort. Must be >= min_price. | |
| min_price | No | Only rows with px_at_trading >= this value (USD, >= 0). min_price=1 reproduces the legacy '$1 and up' screen. | |
| sub_dollar | No | '1' = only names priced under $1 at the 09:00 ET cutoff, '0' = only names at $1 or above. Convenience equivalent of min_price/max_price around $1. | |
| cursor_date | No | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_rank. | |
| cursor_rank | No | Pagination: the 'rank_for_date' value from the previous response's next_cursor. Must be sent together with cursor_date. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, the description discloses publication timing (before the open, ~09:25 ET), walk-forward simulated history with a go-live date, later-filling outcome columns, NULL semantics, and known quirks in return fields. It also documents the 50,000-row pagination cap and cursor mechanics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, but it is front-loaded with a one-sentence summary and organized into topic paragraphs (timing, authentication, simulation, outcome maturity, caveats, pagination). A small amount of repetition exists around pre-market publication and sub-$1 filtering, but the density is justified by the tool's complexity and lack of an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, no-output-schema tool, this is exceptionally complete: it names the key output fields (prob_drop, rank_for_date, intraday_return_pct, return_lead_*), explains their timing and NULL meaning, covers historical simulation, auth, filtering levers, and pagination. An agent has everything needed to call this tool correctly and interpret results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
While the schema already documents all 14 parameters (100% coverage), the description adds relational meaning: min_price=1 reproduces the legacy screen, sub_dollar=1 or max_price=1 isolates the penny cohort, and max_rank=5 returns the day's top five. It also explains cursor_date/cursor_rank pagination beyond the schema's 'must be sent together' note.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise statement: 'model-estimated probability of an intraday decline in US microcaps,' then defines prob_drop as P(intraday open->close return <= -5%). It also distinguishes the dataset from generic movers by saying 'It measures the subset the model flags, not everything that moved overnight.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly says the data is 'built for researchers and traders analyzing pre-market activity in US microcaps' and spells out the Pro API key requirement. It also defines what the tool is not for ('Borrow and locate costs are NOT modeled'), though it never names sibling tools as alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_reverse_splitsReverse-Split CalendarARead-onlyIdempotentInspect
Reverse-split calendar: every US reverse stock split, executed and UPCOMING, with pre-split price, market-cap tier, and dilution/shelf cross-links.
One row per (ticker, execution date), sourced daily from Polygon's reference splits feed. Because the feed carries future execution dates, upcoming=true is a genuine forward calendar (~40 scheduled splits at any moment); ~70-100 reverse splits execute per month, almost all sub-$1 microcaps curing a listing deficiency. first_seen_at records when the pull first observed the row (an announcement proxy; for rows backfilled before launch it is set to the execution date itself and is synthetic).
Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees full history and the forward calendar.
Research context, stated plainly: in the Alphanume anomaly sweep (2022-2026, matched-control event study), reverse-split names underperform controls by roughly -6%/-12%/-18%/-40% over the 21/63/126/252 sessions after execution (~60% of events negative; Kim-Klein-Rosenfeld 2008 found the same). That makes this a screening/avoidance signal -- e.g. exclude fresh reverse-splitters from long screens, or use the calendar to anticipate the event. It is NOT a tradeable short card: borrow on these names is scarce and expensive and is not modeled anywhere, the calendar-time short portfolio was statistically inconclusive net of costs, and the long-horizon numbers are survivor-conditioned (only ~47% of events still have a full price history 252 sessions out). No CAR columns are served; the feed is the product.
Enrichment semantics. sub_dollar_flag marks names whose unadjusted close the session before the split was under $1 (the raw price is an internal input and is not served). market_cap_before / market_cap_tier are populated from 2024-01-02 (NULL earlier -- the cap history starts there). ratio = split_to/split_from (<1 = reverse; a 1-for-10 is 0.1); is_deficiency_candidate flags ratio <= 0.5, separating real consolidations from ADR-fee-style near-1.0 adjustments, which are served raw. dilution_link_flag/shelf_link_flag mark an S-1 or S-3/F-3 filing by the same ticker in the trailing 365 days (dilution links meaningful from 2026, shelf links from 2025 -- the linked datasets' own history floors). Upcoming rows carry NULL sub_dollar_flag until execution; OTC names outside the coverage universe may keep it NULL along with cap fields. Open-end mutual fund share adjustments are excluded at ingest; ETFs and closed-end funds are included.
Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date and cursor_ticker back to fetch the next page.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| cap_tier | No | Market-cap tier as of the session before the split (from the Alphanume cap history; populated from 2024-01-02). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| upcoming | No | 'true' = only splits with an execution date today or later (the forward calendar); 'false' = only already-executed splits. Omit for both. | |
| ratio_gte | No | Only rows with ratio >= this value, range (0, 1]. ratio = split_to/split_from, so 0.1 is a 1-for-10. | |
| ratio_lte | No | Only rows with ratio <= this value, range (0, 1]. ratio_lte=0.1 keeps 1-for-10 and larger consolidations. | |
| sub_dollar | No | 'true' = only names whose unadjusted close before the split was under $1 (the classic deficiency-cure cohort); 'false' = $1 and above. | |
| cursor_date | No | Pagination: the 'cursor_date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. | |
| cursor_ticker | No | Pagination: the 'cursor_ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. | |
| updated_since | No | Only rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs. | |
| deficiency_only | No | '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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes far beyond the annotations, disclosing data provenance, daily ingestion from Polygon, the forward-calendar nature of upcoming rows, synthetic first_seen_at values for backfilled data, missing cap history before 2024-01-02, NULL semantics, exclusions at ingest, and pagination behavior. This level of behavioral detail is exceptional.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but well-structured with labeled sections and a front-loaded summary. The research-context paragraph is substantial, yet it earns its place by framing appropriate use and caveats. It is not terse, but it is dense with relevant information and organized clearly.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the full burden of explaining the data model, and it does so thoroughly: row granularity, key output fields, NULL behavior, auth requirements, pagination mechanics, and coverage caveats are all disclosed. An agent can confidently decide whether and how to call this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it explains ratio as split_to/split_from with a 1-for-10 example, clarifies that upcoming=true is a genuine forward calendar, defines sub_dollar_flag semantics, and describes cap-tier history limitations. It enriches parameter understanding without exhaustively annotating every parameter.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a precise definition: 'Reverse-split calendar: every US reverse stock split, executed and UPCOMING...' and specifies the row granularity and data source. This clearly identifies the resource and scope, and the mention of dilution/shelf cross-links helps distinguish it from related sibling datasets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit practical guidance: use it as a screening/avoidance signal, exclude fresh reverse-splitters from long screens, or anticipate events via the calendar. It also clearly warns against using it as a short card. However, it does not explicitly name or route to sibling tools like get_dilution_filings or get_shelf_registrations, even though those are related.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sec_trading_suspensionsSEC Trading SuspensionsARead-onlyIdempotentInspect
SEC trading suspensions: every Section 12(k) order halting trading in a stock, 1995 to today -- the terminal-risk tape for dying OTC and small-cap names. One row per (order, issuer): who was halted, when trading stopped, when it could legally resume (first NYSE session after the order terminates), the cited reason normalized to a 4-value taxonomy, listing venue, and the order PDF URL.
Bulk delinquency orders (2013-2021) name up to ~55 issuers under one release_number -- use issuer_count/issuer_index to collapse rows back to order level. Ticker is NULL where the order states none (most pre-2022 rows). resumption_at is when trading MAY resume; many suspended names never quote again. The SEC's suspension output collapsed after 2021: expect only a handful of orders per year since.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing. Note the newest event may be months old: short date windows can legitimately be empty on this dataset.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (digits only) to filter by issuer. The only survivorship-proof id for dead shells; NULL on most bulk-order rows. | |
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| active_on | No | YYYY-MM-DD: rows whose suspension window covers this date -- 'which stocks were untradeable on day X'. Not expressible via the release-date window. | |
| cursor_date | No | Pagination: 'date' from next_cursor (send all three cursor params together). | |
| has_resumed | No | true/false: whether the date trading could legally resume is in the past. Resumption is permission, not evidence of quoting (Rule 15c2-11). | |
| issuer_name | No | Case-insensitive substring match on the issuer name -- the only handle on rows with no ticker. | |
| cited_reason | No | Why the SEC suspended trading: delinquent_filings, market_manipulation, accuracy_adequacy_of_information, or other. | |
| single_issuer | No | true = single-issuer orders only (the modern manipulation cases); false = bulk multi-issuer orders only. | |
| updated_since | No | YYYY-MM-DD, on last_updated -- rows touched by the resumption sweep since this date. | |
| release_number | No | Exchange Act release number, e.g. '34-92362' (a bare '92362' is normalized). One bulk order returns one row per named issuer. | |
| cursor_issuer_index | No | Pagination: 'issuer_index' from next_cursor. | |
| cursor_release_number | No | Pagination: 'release_number' from next_cursor. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes well beyond the readOnly/idempotent annotations: it discloses authentication requirements, the meaning of 403 errors, the post-2021 collapse in SEC output, that resumption is permission not evidence of quoting, that tickers are NULL in most pre-2022 rows, and that short date windows may legitimately be empty. This gives an agent accurate expectations for edge cases and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense yet every sentence adds value: scope, row semantics, bulk-order behavior, data quirks, authentication errors, and empty-result expectation. It is front-loaded with the core definition and then addresses operational caveats. No filler or redundant restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 18-parameter, no-output-schema tool, the description is remarkably complete. It tells the agent what each row represents, how to interpret resumption, how to handle bulk orders, when data may be missing, how API errors map to permission problems, and how recent data may lag. The schema covers parameter formats, and the description covers real-world behavior and interpretation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema coverage is 100%, so the baseline is 3. The description adds meaningful context beyond the schema: bulk orders share one release_number across many issuers, ticker NULL behavior, the normalized cited-reason taxonomy, and how issuer-level rows relate to order-level data. It still does not enumerate every parameter, but the schema already documents those thoroughly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description immediately identifies the resource: every SEC Section 12(k) trading suspension order from 1995 to today. It specifies the data scope, row granularity, and key fields (halts, resumption, reason taxonomy, order PDF URL), making it unmistakable what the tool retrieves. No sibling tool covers SEC suspensions, so the domain itself distinguishes it clearly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for when the tool is useful ('terminal-risk tape for dying OTC and small-cap names'), explains legitimate empty results, and tells the agent how to collapse bulk-order rows via issuer_count/issuer_index. It does not explicitly name an alternative or a when-not-to-use case, but no sibling tool competes with this dataset, so the omission is minor.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_shelf_registrationsShelf Registrations (S-3/F-3)ARead-onlyIdempotentInspect
Shelf registrations: every S-3/F-3 shelf registration statement, amendment and automatic (WKSI) shelf, normalized into a point-in-time capacity ledger -- the upstream signal behind every dilution screener. One row per filing: ticker, cik, company name, form, shelf_type (new|amendment|automatic), capacity_amount in USD (NULL means an indeterminate/automatic shelf -- never a guessed number), securities covered, WKSI flag, is_resale (selling-stockholder registrations), EFFECT date, days_to_effective, a 3-year expiry estimate, 424B5 takedown count, and market cap / shares outstanding at filing.
Authorization is not issuance: capacity_amount is what the shelf REGISTERS, not
what was sold. Screen date_gte over recent weeks for fresh shelf capacity, filter
shelf_type=new + is_resale=0 rows for primary dilution risk, or pull one ticker's
history. Pagination: results are capped at 50,000 rows per request; when the
response has has_more=true, pass next_cursor's date and accession_number back as
cursor_date and cursor_accession to fetch the next page.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| cik | No | SEC CIK number (digits only) to filter by issuer. | |
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| form | No | Exact form type: S-3, F-3, S-3/A, F-3/A, S-3ASR or F-3ASR. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| shelf_type | No | Shelf category: new, amendment, or automatic (WKSI ASR shelves). | |
| cursor_date | No | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. | |
| updated_since | No | Only rows whose last_updated is on/after this date (YYYY-MM-DD) -- catches EFFECT/takedown refreshes. | |
| cursor_accession | No | Accession number from next_cursor for keyset pagination (pass with cursor_date). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as read-only, idempotent, and non-destructive, and the description adds substantial behavioral context: row semantics, capacity_amount NULL meaning an indeterminate shelf, the 50,000-row pagination cap with next_cursor handling, and 403 error semantics. This goes well beyond what annotations alone convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Although long, the description is densely informative with no filler. It front-loads the core purpose and row semantics, then covers usage patterns, pagination, and error handling in a logical order. Every sentence adds operational value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema present, the description fully compensates by enumerating all returned fields, explaining NULL capacity semantics, describing pagination behavior, and covering authentication/error cases. An agent has enough context to call the tool correctly and interpret its response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful usage-level parameter semantics beyond the schema: using date_gte for recent shelf capacity, combining shelf_type=new with is_resale=0 for dilution risk, and passing next_cursor values back as cursor_date and cursor_accession. This materially helps an agent select and combine parameters correctly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly identifies the tool as exposing S-3/F-3 shelf registration filings normalized into a point-in-time capacity ledger, with a specific row-level schema. It distinguishes itself from downstream dilution screeners by stating it is the upstream signal, so an agent can differentiate it from sibling tools like get_dilution_filings without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives concrete usage patterns: screening date_gte for fresh shelf capacity, filtering shelf_type=new and is_resale=0 for primary dilution risk, or pulling a single ticker's history. It also explicitly warns that authorization is not issuance, preventing misuse, and provides pagination and error-handling instructions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_sp500_risk_regimeS&P 500 Risk RegimeARead-onlyIdempotentInspect
S&P 500 risk regime: a daily binary classification of whether the US equity tape is in a risk-on or risk-off state. One row per trading day: date and risk_regime label. Deliberately minimal -- it is designed to be the overlay/kill-switch input to other strategies (e.g. only run momentum or premium-selling in the favorable regime), not a dataset you mine on its own.
Query the latest date for the current regime, or a range to backtest a regime-filtered strategy.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld/idempotent annotations, the description discloses that a Pro API key is required and interprets 403 PRO_SUBSCRIPTION_REQUIRED/DATE_RANGE_RESTRICTED errors as plan limitations rather than missing data. This materially helps the agent diagnose failures, and the 'deliberately minimal' note sets expectations about the dataset.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences front-load the core definition and use case, then add auth/error context. No sentence is wasted, and the structural cue 'Deliberately minimal' prevents over-expectation.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite lacking an output schema, the description states the exact output shape (one row per trading day with date and risk_regime label) and resolves the main operational ambiguity (403 meaning). Given the simple, read-only nature and fully documented parameters, nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents all six parameters with 100% coverage, so the description need not repeat them. It adds only high-level guidance that the latest date or a range can be queried, which is context but not parameter-specific semantic detail beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description defines the tool as a daily binary risk-on/risk-off classification for the S&P 500, naming the exact resource and the row-level output (date and risk_regime label). The 'overlay/kill-switch input' framing clearly distinguishes its purpose from the sibling market-data tools, so an agent can select it without ambiguity.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly tells the agent when to call it: query the latest date for the current regime or a range to backtest a regime-filtered strategy. It also gives a when-not by saying it is not a dataset to mine on its own, though it does not name alternative sibling tools for exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_spx_0dte_strike_bandSPX 0-DTE Strike BandARead-onlyIdempotentInspect
SPX 0-DTE strike band: for each trading day, a model-derived intraday range (lower_strike, upper_strike) that same-day S&P 500 index options are expected to stay within, plus the instrument it applies to. One row per day.
Use it to structure 0-DTE trades -- e.g. sell iron condors with short strikes at or beyond the band, or fade band breaches -- and to backtest how often the band held over a date range.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, covering the safety profile. The description adds genuinely non-obvious behavioral context: the 403 error semantics ('PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing'), which prevents an agent from misinterpreting an auth failure as a data gap. It also discloses the row structure (one row per day, band plus instrument). This is more than the annotation layer alone provides.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three compact sentences, each earning its place: the data definition, the use cases, and the error-handling caveat. The essential definition is front-loaded in the first sentence, and the operational note about API keys/403s is a valuable addition rather than filler. No redundancy with the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description correctly carries the burden of conveying return shape, and it does: lower_strike, upper_strike, the instrument, and one row per day. Combined with 100% schema parameter coverage, safety annotations, and the 403 diagnostic note, an agent has nearly everything needed to select and invoke the tool correctly. The only minor gap is that the date column is implied ('one row per day') rather than explicitly listed as part of the response.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with all six parameters already documented in the schema (date formats, inclusive/exclusive semantics, max_rows cap). The description's mention of date-range backtesting aligns with the parameters but adds no syntax or meaning beyond what the schema provides. Per the rubric, baseline 3 is appropriate when the schema carries the documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states precisely what the tool returns: 'a model-derived intraday range (lower_strike, upper_strike) that same-day S&P 500 index options are expected to stay within, plus the instrument it applies to. One row per day.' This is a specific data product with a concrete resource, scope, and row semantics that clearly distinguishes it from sibling data tools like get_iv_rank or get_momentum_index without needing to open the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear, concrete use cases: 'structure 0-DTE trades -- e.g. sell iron condors with short strikes at or beyond the band, or fade band breaches -- and to backtest how often the band held over a date range.' This tells an agent when the tool is relevant. It does not explicitly name alternative tools or state when-not-to-use conditions, so it falls just short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_ticker_classificationSector & Industry ClassificationARead-onlyIdempotentInspect
Ticker sector/industry classification: maps every covered US ticker into Alphanume's own 11-sector / 25-industry scheme (derived from SIC codes, but normalized into groups actually useful for trading -- e.g. 'semiconductors' and 'software' are separate industries under 'technology'). One row per ticker: ticker, alphanume_sector, alphanume_industry.
Use it to group any other Alphanume dataset by sector, build sector-neutral
baskets, or pull all names in one industry. Look up one ticker, or filter by
sector/industry to enumerate a group. No date dimension and no tier
restriction -- the mapping is current-state.
| Name | Required | Description | Default |
|---|---|---|---|
| sector | No | Filter to one Alphanume sector. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| industry | No | Filter to one Alphanume industry. | |
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, and non-destructive behavior. The description adds valuable context beyond that: it is a current-state snapshot with no date dimension, one row per ticker, and no tier restriction. It also explains the taxonomy origin (SIC-derived but normalized for trading), which helps the agent reason about grouping semantics.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is well-structured: a definition sentence, a sentence clarifying the taxonomy, a use-case sentence, and a constraints sentence. Everything included earns its place, and the key output shape is front-loaded rather than buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool has no output schema, the description compensates by naming the exact output columns and row granularity. It covers filtering options, taxonomy design, use cases, and scope limitations. An agent has enough context to invoke it correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter already has a clear description. The tool description adds general usage framing ('Look up one ticker, or filter by sector/industry') but does not add new semantic detail beyond the schema. Baseline 3 is appropriate because the schema carries the parameter documentation burden.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb-resource pair: 'maps every covered US ticker into Alphanume's own 11-sector / 25-industry scheme.' It clearly distinguishes itself from the sibling event/risk tools by being a classification/universe tool, and names the output schema (ticker, sector, industry) so an agent immediately knows what it returns.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit use cases: group datasets by sector, build sector-neutral baskets, enumerate a group by industry. It also states scoping constraints: no date dimension, no tier restriction, current-state mapping. It does not explicitly name an alternative tool or say when not to use it, but the sibling set contains no directly comparable classification tool, so this is adequate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_vol_of_volVol-of-Vol RankingARead-onlyIdempotentInspect
Vol-of-Vol Index: answers "how unstable is this name's volatility itself?" For each US optionable equity, per trading day: the coefficient of variation of its ~30-day implied vol (iv_vov) and 20-day realized vol (hv_vov) over the trailing month (std/mean of the last 21 observations), the underlying trailing mean and std, and a daily cross-sectional ranking of the most vol-unstable names. Rows update intraday and settle after the close (is_final=1).
High vol-of-vol names are where vega risk is most treacherous (and where vol dislocations appear); low vol-of-vol names have sticky, well-behaved vol surfaces.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| max_hv_vov | No | Only rows with hv_vov <= this value. | |
| max_iv_vov | No | Only rows with iv_vov <= this value. | |
| min_hv_vov | No | Only rows with hv_vov >= this value (>= 0). | |
| min_iv_vov | No | Only rows with iv_vov >= this value (>= 0). | |
| only_final | No | If true, return only settled end-of-day rows (is_final=1). By default the latest value is returned, which intraday may be provisional. | |
| min_hv_vov_rank | No | Only rows whose realized vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1]. | |
| min_iv_vov_rank | No | Only rows whose implied vol-of-vol sits at or above this cross-sectional percentile for the day, in [0, 1]. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/destructive annotations, the description discloses intraday update behavior, settlement after close via is_final=1, authentication requirements (Pro API key), and interprets 403 errors as plan limitations rather than missing data. This is exactly the kind of behavioral context that structured annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but well-structured: definition and data shape first, then interpretive guidance, then auth/error caveats. Every sentence adds value, and the most important information is front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter, fully optional tool with no output schema, the description is remarkably complete. It explains the underlying computed fields, the ranking dimension, the intraday vs final distinction, and the error semantics. An agent can safely invoke and interpret this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema documents every parameter, so the baseline is 3. The description adds meaningful context by defining what iv_vov and hv_vov actually measure, tying those definitions to the filter parameters and to the cross-sectional rank fields. This helps the agent understand threshold meaning beyond the raw schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a precise resource (vol-of-vol for US optionable equities), defines the core metric (coefficient of variation of implied and realized vol over a trailing month), and clearly separates it from related concepts like iv_rank or iv_hv_premium. It is not tautological and gives the agent a concrete sense of the data shape and ranking.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear analytical guidance: high vol-of-vol names indicate treacherous vega risk and potential vol dislocations, while low vol-of-vol names have sticky surfaces. It does not explicitly name alternative tools or state when NOT to use this tool, but the use case is strongly implied.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_wikipedia_viewsWikipedia Page ViewsARead-onlyIdempotentInspect
Wikipedia attention tracker: daily page views of each covered company's Wikipedia article, with a 30-day rolling average and a relative 30-day z-score. Retail and media attention shows up in Wikipedia lookups before (and during) big price moves -- a z-score spike means the name is suddenly being researched far more than its own baseline. One row per ticker per day: ticker, company name, date, raw views, avg_30d, zscore_30d.
Screen zscore_30d_gte=3 over recent dates for fresh attention spikes, or pull one
ticker's history to line attention up against price. Pagination: results are capped at 50,000 rows
per request; when the response has has_more=true, pass next_cursor's date and
ticker back as cursor_date and cursor_ticker to fetch the next page.
Requires an Alphanume Pro API key. A 403 PRO_SUBSCRIPTION_REQUIRED or DATE_RANGE_RESTRICTED error means the key's plan does not cover the request -- it does not mean the data is missing.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Exact date, YYYY-MM-DD. Cannot be combined with the date range parameters. | |
| ticker | No | Ticker symbol filter, e.g. 'AAPL'. Case-insensitive. | |
| date_gt | No | Start of date range, exclusive (YYYY-MM-DD). | |
| date_lt | No | End of date range, exclusive (YYYY-MM-DD). | |
| date_gte | No | Start of date range, inclusive (YYYY-MM-DD). | |
| date_lte | No | End of date range, inclusive (YYYY-MM-DD). | |
| max_rows | No | Maximum data rows to return to the client (applied after the API responds). Default 500. Use 0 for no cap. Prefer narrowing with date/ticker filters over raising this. | |
| cursor_date | No | Pagination: the 'date' value from the previous response's next_cursor. Must be sent together with cursor_ticker. | |
| cursor_ticker | No | Pagination: the 'ticker' value from the previous response's next_cursor. Must be sent together with cursor_date. | |
| zscore_30d_eq | No | Exact 30-day z-score match. Cannot be combined with the z-score range parameters. | |
| zscore_30d_gt | No | Only rows with 30-day z-score > this value. | |
| zscore_30d_lt | No | Only rows with 30-day z-score < this value. | |
| zscore_30d_gte | No | Only rows with 30-day z-score >= this value. zscore_30d_gte=3 finds extreme attention spikes. | |
| zscore_30d_lte | No | Only rows with 30-day z-score <= this value. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent annotations, the description discloses pagination details (50,000-row cap, has_more, next_cursor and cursor parameters), requires an Alphanume Pro API key, and explains that 403 errors indicate plan coverage rather than missing data. It also describes the one-row-per-ticker-per-day shape since no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with purpose and output shape, and every later section earns its place: use-case guidance, pagination mechanics, and error interpretation. Despite covering 14 parameters, it stays compact and scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 14-parameter tool with no output schema, the description plus 100% schema coverage covers output fields, date/ticker filters, pagination, auth requirements, and error semantics. Nothing essential is missing for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description adds operational meaning by framing zscore_30d_gte=3 as an attention-spike screen and by explaining how cursor_date and cursor_ticker should be passed from next_cursor, which goes beyond the schema's standalone parameter descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific resource ('daily page views of each covered company's Wikipedia article') and a clear analytical output (30-day average and z-score). The phrase 'one row per ticker per day' and the listed fields make the return shape concrete, and this Wikipedia-specific tool is clearly distinguishable from all financial-data siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage patterns: screen zscore_30d_gte=3 for fresh attention spikes or pull one ticker's history to compare with price. It doesn't name alternative tools or state when-not-to-use, but no sibling appears to compete in this domain, so the context is sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_market_cap_tickersMarket Cap Coverage MapARead-onlyIdempotentInspect
Coverage map for the historical market cap dataset: every available ticker with its first available date. Use it to check whether (and since when) a name is covered before querying get_historical_market_cap, or to enumerate the full point-in-time universe. No parameters besides the row cap.
| Name | Required | Description | Default |
|---|---|---|---|
| max_rows | No | 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. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish read-only, idempotent, and non-destructive behavior. The description adds useful context beyond those annotations by revealing that the output is a coverage map with first-available dates and that the only parameter is the row cap. No contradiction with annotations is present.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences with zero filler. The core concept is front-loaded, followed by actionable usage guidance and a brief parameter note. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple zero-required-parameter listing tool, the description covers purpose, return content, use cases, and the single optional parameter. The explicit statement of what the tool returns compensates for the absence of an output schema, and the annotations cover safety semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The input schema already documents max_rows thoroughly, including the default, cap semantics, and guidance to prefer filters over raising the cap, so the schema carries the parameter meaning. The description only confirms that there are no other parameters, which is helpful but does not add substantial meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly defines the tool as a coverage map listing every available ticker with its first available date, which is a specific resource and deliverable. It distinguishes itself from sibling data tools by framing its role relative to get_historical_market_cap, so an agent can tell it apart without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use the tool: check whether a name is covered before querying get_historical_market_cap, or enumerate the full point-in-time universe. It names the alternative tool directly and provides a clear decision rule, leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.
27 tool updates
- First observed
check_api_status - First observed
get_advisory_committee_votes - First observed
get_corporate_default_events - First observed
get_crypto_enforcement - First observed
get_cyber_incidents - First observed
get_de_spac_events - First observed
get_dilution_filings - First observed
get_dividend_capture - First observed
get_earnings_move_history - First observed
get_fda_response_events - First observed
get_filing_intensity - First observed
get_historical_market_cap - First observed
get_iv_hv_premium - First observed
get_iv_rank - First observed
get_momentum_index - First observed
get_next_day_movers - First observed
get_optionable_tickers - First observed
get_premarket_drop_risk - First observed
get_reverse_splits - First observed
get_sec_trading_suspensions - First observed
get_shelf_registrations - First observed
get_sp500_risk_regime - First observed
get_spx_0dte_strike_band - First observed
get_ticker_classification - First observed
get_vol_of_vol - First observed
get_wikipedia_views - First observed
list_market_cap_tickers
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity — fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge — works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge — works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
SEC dilution data, live market data, and news for U.S. equities, with point-in-time as-of queries
SEC dilution data, live market data, and news for U.S. equities, with point-in-time as-of queries.
Institutional-grade financial data: earnings, estimates, guidance, stock prices, macro indicators.
Point-in-time, survivorship-free SEC EDGAR fundamentals + smart-money signals for AI agents.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceNormalizes and serves corporate events (earnings, dividends, splits, M\&A) from US, UK, Canada, and Australia via a programmatic MCP API.-

akyla-mcpofficial
AlicenseAqualityBmaintenanceProvides as-reported US equity fundamentals, live quotes, financial statements, valuation comps, and a screener from SEC filings, with per-cell filing provenance for citations.7MIT- AlicenseAqualityAmaintenanceProvides point-in-time financial data access and an honest backtesting engine via MCP, enabling users to research restated fundamentals, run backtests with deflated Sharpe metrics, and benchmark returns against published factors.8MIT
- FlicenseNot gradedqualityNot gradedmaintenanceProvides access to a comprehensive financial intelligence platform featuring real-time market data, quantitative models, and alternative data sources. It enables users to perform advanced financial analysis including options analytics, portfolio modeling, and SEC filing research.-
Glama MCP Gateway
Add one secure layer between your agents and this server.
TDQS
Each tool maps to a distinct dataset, and the descriptions are detailed enough to resolve most ambiguity. A few adjacent pairs (S-1 dilution vs. shelf registrations, IV-HV premium vs. IV rank, FDA votes vs. FDA adverse events) share thematic surface area and could be confused by name alone.
The overwhelming majority of tools follow a clean get_<noun_phrase> snake_case pattern. The two exceptions, check_api_status and list_market_cap_tickers, are semantically appropriate utility/companion tools but break the otherwise uniform verb prefix.
At 27 tools, the surface is heavy and spans many unrelated financial domains, making selection and prompt context more expensive. Each tool does earn its place as a distinct dataset, but the server would benefit from some consolidation or a higher-level catalog tool.
As a read-only datasets API, the surface is broadly complete: status checking, pagination, and one coverage-map companion exist where needed. Minor gaps include the absence of a global dataset catalog/coverage listing and the lack of companion list tools for most other datasets.