Skip to main content
Glama

Alphanume Datasets

PIPE / Private Placement Deals

get_private_placements
Read-onlyIdempotent

PIPE / private-placement deal feed: US-listed issuers raising money through unregistered placements (PIPEs, registered directs with warrants, convertible notes and preferreds, equity lines / ELOCs, SEPA pre-paid advances), each deal graded 0-3 for how toxic -- how price-dependent and dilutive -- its terms are.

One row per 8-K private-placement deal event: an announcement (the securities purchase agreement is signed and disclosed), a closing (funds received), an amendment or price reset, or a termination; event_kind says which. announce_date is the 8-K filing date and is the feed's clock; event_date and closing_date are the dates the filing states. A deal announced and later closed is two rows sharing ticker and cik under different accession_no values. Deal economics served per row: gross_proceeds_usd (or committed_capacity_usd for an equity line), shares_sold, price_per_share_usd, discount_to_prior_close_pct, price_basis (fixed / variable_discount_to_market / lesser_of / unstated) with the variable discount, lookback window and floor, reset_provision, warrant_coverage_pct with exercise price and term, has_prefunded_warrants, original_issue_discount_pct, the stated investors / investor type / placement agent / exemption, the resale registration deadline and (once filed) the resale S-1 / S-3 form and dates, and market_cap_at_announce_usd with proceeds_pct_of_market_cap.

toxicity_score, the 0-3 scale, derived from the stated terms: 3 = variable-price conversion (priced off a discount to future VWAP / lowest close, or the lesser of a fixed price and market) or a VWAP-priced equity line -- dilution grows as the price falls; 2 = a ratchet / price-reset provision, or >= 100% warrant coverage at >= 15% discount to the prior close, or original issue discount >= 10%; 1 = any common warrants, or a >= 10% discount, or any OID, or an equity line without a stated pricing formula; 0 = fixed price at or above market with at most pre-funded warrants; NULL = the terms live in an exhibit v1 did not read. The grade summarizes structure, not the issuer's prospects: a 0 can still be a large raise by a struggling company, which is what proceeds_pct_of_market_cap is there to show.

Requires an Alphanume Pro API key. There is no date clamp on this route: a Pro key sees the full history.

Honest limits, stated plainly. v1 reads the 8-K body, not its exhibits, so a deal whose economics live only in the attached purchase agreement carries price_basis='unstated', terms_in_exhibit_flag=1 and a NULL toxicity_score -- filter min_toxicity to keep only graded rows, or read terms_in_exhibit_flag before treating a NULL as benign. Investor names are frequently undisclosed ("certain institutional investors"); investor_names_stated is what the filing says, nothing more. discount_to_prior_close_pct needs a Polygon daily bar for the prior session and is NULL for unlisted or brand-new tickers and for variable-priced deals. market_cap_at_announce_usd and proceeds_pct_of_market_cap are NULL when the cap history does not cover the ticker; resale_* columns are NULL until a resale registration is filed / effective. SPAC-related placements (a PIPE into a de-SPAC, trust-extension financing) are flagged with is_spac_related=1, not removed. Rows are never dropped for missing enrichment. confidence (0-1) is a per-row quality signal for the extracted terms. first_seen_at is when our pull first observed the 8-K (synthetic = filing time for rows backfilled before launch).

Default order: newest announce_date first, then ticker, so the first page is the most recent deals.

Pagination: results are capped at 50,000 rows per request; when the response has has_more=true, pass next_cursor's cursor_date, cursor_ticker and cursor_id back to fetch the next page.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoExact date, YYYY-MM-DD. Cannot be combined with the date range parameters.
spacNo'true' = only SPAC-related placements (PIPE into a de-SPAC, trust-extension financing); 'false' = operating-company deals only. Omit for both.
tickerNoTicker symbol filter, e.g. 'AAPL'. Case-insensitive.
date_gtNoStart of date range, exclusive (YYYY-MM-DD).
date_ltNoEnd of date range, exclusive (YYYY-MM-DD).
date_gteNoStart of date range, inclusive (YYYY-MM-DD).
date_lteNoEnd of date range, inclusive (YYYY-MM-DD).
max_rowsNoMaximum 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_idNoPagination: the 'cursor_id' value from the previous response's next_cursor.
structureNoDeal structure: 'common' = registered-direct-style common stock; 'units_with_warrants' = common (or pre-funded warrants) sold with common warrants; 'convertible_note' / 'convertible_preferred' = convertible instruments; 'equity_line' = an at-the-issuer's-option purchase facility (ELOC); 'sepa_prepaid_advance' = a standby equity purchase agreement with a pre-paid advance; 'other'.
event_kindNoWhich deal event the 8-K discloses: 'announcement' (purchase agreement signed), 'closing' (funds received), 'amendment_or_reset' (terms changed or conversion / exercise price reset), 'termination', or 'unstated'.
cursor_dateNoPagination: the 'cursor_date' value from the previous response's next_cursor. Send with cursor_ticker and cursor_id.
has_warrantsNo'true' = only deals with common-warrant coverage > 0%; 'false' = deals with no (or zero) common warrants. Pre-funded warrants do not count as coverage.
min_toxicityNoOnly rows with toxicity_score >= this value (integer 0-3). Rows with a NULL score (terms in an unread exhibit) are excluded whenever this is set.
cursor_tickerNoPagination: the 'cursor_ticker' value from the previous response's next_cursor (may be an empty string).
updated_sinceNoOnly rows updated at or after this date/datetime (YYYY-MM-DD or YYYY-MM-DD HH:MM:SS) -- for incremental syncs.
min_confidenceNoOnly rows with extraction confidence >= this value (0-1), the model's own estimate of how faithfully the served terms reflect the filing.
variable_priceNo'true' = only deals priced off a discount to future market price (variable_discount_to_market or lesser_of); 'false' = fixed-price deals only. Omit for both.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare read-only, idempotent, open-world, non-destructive behavior, but the description adds substantial operational context: API key requirement, no date clamp, exhibit-reading limitations causing NULL toxicity, enrichment NULLs, SPAC flagging, pagination cap, default ordering, and confidence/first_seen semantics. These are non-obvious behaviors beyond annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the purpose and essential limits, and each paragraph addresses a distinct concern (deal universe, event rows, economics, toxicity, limits, pagination). It is verbose for a description, but the complexity and absence of an output schema justify most of the length.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, so the description carries the return-value burden; it defines row semantics, column nullability, event granularity, default sort, and pagination. Given 18 parameters and rich domain complexity, it is complete enough to call correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

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 interpretive meaning for key filters (toxicity_score derivation, NULL exclusion under min_toxicity, variable_price and has_warrants definitions, event_kind distinctions), though much of this overlaps with schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('PIPE / private-placement deal feed') and scope (US-listed issuers raising through unregistered placements). It defines event granularity and toxicity grading, so an agent can identify the tool's domain even though it does not explicitly differentiate from every sibling.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear filtering context (min_toxicity for graded rows, terms_in_exhibit_flag for ungraded rows, variable_price, spac, date/ticker filters) and pagination instructions. However, it does not explicitly say when to choose this over sibling tools such as get_dilution_filings or get_shelf_registrations, so it stops 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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources