Financial data is informational and may be inaccurate. See Disclaimer.

drillr.ai
API keys →

Events · US only

Deals and agreements

GET/api/v2/events-dealsUS only
Coverage
US (classification enums unified across markets)
Billing
20 cr / thousand calls

One row = one transaction or agreement with a counterparty (event_class = transaction or agreement), with the filing company as the subject: direction / filer_role state whether the company is the buyer or the seller, the licensor or the licensee; the counterparty is in counterparty_names / counterparty_tickers.

  • The event_type values of the two domains do not overlap, so type alone is enough to restrict the domain; 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 by default; for the full lifecycle, use /events?event_group_id=.
Shared events conventions

Ad hoc corporate disclosure events: financings, deals and agreements, executive changes, corporate actions, changes in major shareholder holdings, and more. Classification is not broken out by each market's regulatory forms; it is defined by "what about the company changed": the source category code is preserved as-is in source_category, and the public contract uses one canonical set of event_class / event_type (9 classes / 42 types; see OpenAPI for the full enums and each type's fields). Onboarding a new market only adds mappings; the endpoints are unchanged.

The data covers only US-listed companies: a non-US ticker returns 404; when ticker is omitted, the endpoint scans all companies on record. The six endpoints share one parameter set and one set of common envelope fields. /events is the unified timeline that carries only the common envelope; each of the five typed endpoints serves one group of event types (the last column of the table) and adds that group's own fields on top of the envelope.

Query parameters

ParameterTypeRequiredDescription
tickerstringoptionalUp to 10 values, comma-separated; when omitted, the endpoint scans across companies (for example "all CFO departures in the last 90 days"); combine with from / to. The market is carried by the canonical ticker itself, so there is no market parameter. Default Entire market.
event_typestringoptionalThe enums for the two domains, transaction / agreement (acquisition disposal merger spin_off joint_venture strategic_investment restructuring control_change / license supply partnership major_contract settlement); multiple values allowed, comma-separated. Default All.
fromdateoptionalStart of the event date (event_date) range, inclusive; for a single day, set from = to.
todateoptionalEnd of the event date range, inclusive.
limitintoptionalMaximum 500. Default 50.
pageintoptionalStarts at 1. Default 1.

Sorted event_date desc, accession_number desc, then row order within one filing. 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
marketstringCanonical market code
event_classstringCanonical enum from the table above (9 classes)
event_typestringCanonical enum from the table above (42 types)
axisobjectKey-value object holding the secondary axis of that type (for example a profit warning, {"direction":"down"}, or a revolving credit facility, {"instrument":"revolver","action":"new"}); for a type with no axis, the value is {}. See OpenAPI for the full set of keys and value domains. Typed endpoints flatten the common axes into top-level fields (instrument / action / subtype…), with the same values as axis; on the timeline, classification detail such as the direction of a profit warning or a trading halt and resumption action is only in this field
source_categorystringThe market's native category code, preserved as-is: for US, the 8-K item (8-K:2.03; when several items are triggered, they are joined with commas) or the 13D/G form name (SC 13D / SC 13G)
event_datedateEvent date (signing / resolution / closing); the only date axis in this group
titlestringOne-sentence title
stagestringLifecycle stage: announced approved amended completed terminated; the multi-stage filings of every market (proposal → shareholder meeting → approval → completion, and so on) all map onto this set
event_group_idstringThe successive filings of the same deal / financing / executive change share one id
is_currentboolWhether the row is the latest version within the same event_group_id
accession_numberstringNative document number from the official source (US: SEC accession; JP: EDINET docID; CN: cninfo announcement id), or the equivalent filing number
form_typestringOne of the four provenance fields: the source filing type
filing_urlstringOne of the four provenance fields: deep link to the official document
filing_datedateOne of the four provenance fields: the filing date
deal_domainstringtransaction (asset boundaries and control) | agreement (operating commitments to outside parties); same value as event_class
directionstringinbound (the filer is the buyer / licensee) | outbound | bilateral
filer_rolestringThe 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[]Counterparty canonical tickers; an empty array when the counterparty is unlisted / not identified
deal_namestringDeal name (project code name or the title as filed)
deal_valuenumberDeal consideration, denominated in currency
currencystringISO 4217
consideration_typestringall_cash / all_stock / mixed / debt_assumption / nil (no consideration: transfers, succession, etc.)
structurestringshare_deal / asset_deal / tender_offer / scheme_of_arrangement
stake_pctnumberStake in the target acquired / disposed of / invested in (%)
price_per_sharenumberConsideration per share
premium_pctnumberPremium to the market price (%)
termination_feenumberBreak-up fee
expected_close_datedateExpected closing date
conditionsstring[]Closing conditions (including prefixed forms such as regulatory:HSR); may be an empty array
termination_reasonstringPopulated 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.