drillr.ai
API keys →

Events · US only

Deals and agreements

GET/api/v2/events-dealsUS only
Coverage
US
Billing
20 cr / thousand calls

Returns a company's deals and agreements with counterparties: M&A, divestitures, joint ventures, licensing, material contracts and settlements, one row per deal (event_class = transaction or agreement), with the filing company as the subject: direction / filer_role state whether it is buyer or seller, licensor or licensee, and the counterparty is in counterparty_names / counterparty_tickers.

Response enums list only values allowed by this endpoint; each row returns one string for event_class and one for event_type. Nullable fields return null when undisclosed or inapplicable; empty arrays return [].

  • This endpoint spans two classes: transaction (M&A, divestitures, joint ventures, restructurings and other changes to assets and control) and agreement (licensing, supply, partnerships, material contracts and settlements). Filter a whole domain with event_class, a single type with event_type; the event_type values of the two domains do not overlap, and giving both parameters intersects them. deal_domain has the same value as event_class.
  • Direction, counterparty and amount are response fields only, with no server-side filtering; reverse lookup by counterparty ticker is not offered.
  • The successive filings of one deal, from signing to closing / termination, share one event_group_id, and only the latest version is returned; earlier versions are not exposed, and event_group_id is used to group the rows of one deal within a window.

Query parameters

ParameterTypeRequiredDescription
tickerstringoptionalUp to 10 values, comma-separated; when omitted, the endpoint scans across companies; use it with from / to. The market is carried by the canonical ticker itself, so there is no market parameter. Default: all companies.
fromdateoptionalStart of the event date (event_date) range, inclusive; for a single day, set from = to.
todateoptionalEnd of the event date range, inclusive.
event_classstringenumoptionaltransaction | agreement, comma-separated multi-select; filters a whole domain, shorter than listing each event_type. Default: all.
event_typestringenumoptionalThe enums for the two domains, transaction / agreement (acquisition disposal merger spin_off joint_venture strategic_investment restructuring / license supply partnership major_contract settlement); multiple values allowed, comma-separated. Default: all.
limitintoptionalMaximum 500. Default: 50.
pageintoptionalStarts at 1. Default: 1.

Sort order: event_date desc, accession_number desc, event_id asc. Paged with limit and page (pages start at 1); fewer rows than limit means the last page.

Response fields

FieldTypeDescription
event_idstringId of a single event; the same value on the typed endpoints and on the timeline
tickerstringCanonical ticker
marketstringenumFixed value: US
event_classstringenumtransaction | agreement
event_typestringenumacquisition | disposal | merger | spin_off | joint_venture | strategic_investment | restructuring | license | supply | partnership | major_contract | settlement
axisobjectDeal or agreement classifications: consideration_type, structure or subtype, depending on the type; returns {} when none apply. Identified consideration_type / structure values match the top-level fields
source_categorystringSEC 8-K item, preserved as filed; multiple triggering items are comma-separated, for example 8-K:1.01,2.03
event_datedateEvent date for the current deal stage, such as signing or closing. The from / to filters use this field, not expected_close_date
titlestringOne-sentence title
stagestringenumLifecycle stage: announced / approved / amended / completed / terminated; describes this event row, not a required sequence for every event type
event_group_idstringThe successive filings of the same deal / financing / executive change share one id
is_currentboolAlways true; historical filing versions are not returned by this endpoint
accession_numberstringSEC accession number
form_typestringSource filing type
filing_urlstringDeep link to the official document
filing_datedateFiling date
deal_domainstringenumtransaction (asset boundaries and control) | agreement (operating commitments to outside parties); same value as event_class
directionstring | nullenuminbound (the filer is the buyer / licensee) | outbound | bilateral
filer_rolestring | nullenumThe filer's role in the deal; closed vocabulary: acquirer target seller merging_party jv_partner investor investee licensor licensee supplier customer partner guarantor beneficiary
counterparty_namesstring[]Counterparty names; may be an empty array
counterparty_tickersstring[]Identified counterparty canonical tickers; returns [] when no valid codes are available. Positions are not guaranteed to align with counterparty_names
deal_namestring | nullDeal name (project code name or the title as filed)
deal_valuenumber | nullDeal consideration, denominated in currency
currencystring | nullISO 4217
consideration_typestring | nullenumall_cash / all_stock / mixed / debt_assumption / nil (no consideration: transfers, succession, etc.)
structurestring | nullenumshare_deal / asset_deal / tender_offer / scheme_of_arrangement
stake_pctnumber | nullStake in the target acquired / disposed of / invested in (%)
price_per_sharenumber | nullConsideration per share
premium_pctnumber | nullPremium to the market price (%)
termination_feenumber | nullBreak-up fee
expected_close_datedate | nullExpected closing date
conditionsstring[]Closing conditions (including prefixed forms such as regulatory:HSR); may be an empty array
termination_reasonstring | nullPopulated only when stage=terminated

No key yet? Create one under API Keys — it is shown once, so store it where your shell can read it. Connecting an agent over MCP instead? That signs in through the browser and needs no key at all.

Authentication, conventions, rate limits and error shapes are the same for every endpoint — they live on REST API.