drillr.ai
API keys →

Ownership · US only

Insider holdings and transactions

GET/api/v2/insider-tradesUS only
Coverage
US
Billing
20 cr / thousand calls

Query insiders' initial holdings and transactions for a company. Each row represents one Form 3 initial holding or one Form 4 / Form 5 transaction, including amended filings.

US only, covering ingested filings from the last 5 years. from / to filter the filing date, filing_date, rather than the transaction date; omit the dates to retrieve records within this coverage window.

Quick example

Request
curl -H "X-API-KEY: $DRILLR_API_KEY" \
  "https://gateway.drillr.ai/api/v2/insider-trades?ticker=AAPL&from=2026-07-01&to=2026-08-31&transaction_type=sell&is_amendment=false"

Query parameters

ParameterTypeRequiredDescription
tickerstringrequiredA single ticker.
fromdateoptionalStart of the filing date (filing_date) range in YYYY-MM-DD format, inclusive; set from = to for a single day.
todateoptionalEnd of the filing date range in YYYY-MM-DD format, inclusive.
record_typestringenumoptionalinitial_holding | transaction, comma-separated multi-select. Default: all.
form_typestringenumoptional3 | 3/A | 4 | 4/A | 5 | 5/A, comma-separated multi-select. Default: all.
transaction_typestringenumoptionalbuy | sell | award | exercise | tax_withholding | other, multiple values allowed, comma-separated. Default: all.
is_amendmentbooloptionaltrue returns amended filings only; false returns original filings only; omit it to return both. Default: all.
limitintoptionalMaximum 500. Default: 50.
pageintoptionalStarts at 1. Default: 1.

Sort order: filing_date desc, accession_number desc; row order within one filing is not guaranteed. Paged with limit and page (pages start at 1); fewer rows than limit means the last page.

Response fields

FieldTypeDescription
tickerstringCanonical ticker
insider_namestringName of the reporting person (uppercase, as in the as-filed document)
insider_titlestringReporting person’s title, as filed; null when not disclosed
is_directorboolDirector status as checked on the filed form
is_officerboolOfficer status as checked on the filed form
record_typestringenuminitial_holding (Form 3 initial holding) | transaction (Form 4 or Form 5 transaction)
transaction_typestringenumNormalized enum: buy (P, open-market or private purchase) / sell (S, open-market or private sale) / award (A, award) / exercise (M, shares acquired on the exercise or conversion of options or derivative securities) / tax_withholding (F, shares disposed of for tax withholding at vesting, a reduction in holdings) / other (G gift, C conversion, D returned to the issuer, J other, and so on)
transaction_codestringOriginal SEC transaction code; null for an initial-holding row
transaction_datedateTransaction date; null for an initial-holding row
security_titlestringSecurity name (Common Stock / RSU / Option, and so on)
ownership_typestringenumdirect | indirect
sharesnumberInitial holding quantity or transaction quantity, distinguished by record_type; sales also use non-negative quantities
price_per_sharenumberTransaction price; null for initial holdings and transactions with no reported price
total_valuenumbershares × price_per_share; null when price_per_share is null
shares_owned_afternumberInitial holding quantity or shares owned after the transaction
form_typestringenumSEC form name: 3 / 3/A / 4 / 4/A / 5 / 5/A
is_amendmentboolWhether this is an amended filing; amendments remain separate rows and do not overwrite the original filing
original_filing_datedateOriginal filing date stated on the amendment; null for original filings or when the date is not supplied
accession_numberstringSEC accession number (e.g. 0000320193-25-000123) identifying this filing
filing_urlstringDeep link to the filing on SEC EDGAR; opens directly
filing_datedateFiling date: the date the filing became public on EDGAR

Common queries

  • Purchases and sales from original filings: ticker=AAPL&transaction_type=buy,sell&is_amendment=false. Includes open-market and private transactions; excluding amendments does not produce a corrected final transaction list.
  • Initial holdings: ticker=AAPL&record_type=initial_holding. Returns record_type=initial_holding, with transaction_type, transaction_code, transaction_date, price_per_share and total_value set to null; shares is the initial holding quantity.
  • Amendments: ticker=AAPL&is_amendment=true. form_type is 3/A, 4/A or 5/A; original_filing_date is returned when the form supplies that date, otherwise null.

Data notes

  • Dates use YYYY-MM-DD; from / to are inclusive. Set from = to for a single day. filing_date is the public disclosure date and transaction_date is the transaction date; they can differ.
  • Original and amended filings retain separate accession_number values and are not automatically replaced or merged. Review corrections before totaling transactions; do not add originals and amendments together. original_filing_date is not a unique linking key.
  • Quantities are returned as reported; sales do not use negative quantities. Use transaction_type and transaction_code to interpret the activity; summing all shares does not give net purchases.
  • The response example illustrates field structure, not a verified transaction. Its abbreviated filing link is a placeholder; use the actual returned filing_url to check the SEC document. The endpoint restates disclosed facts without profiling or assessing the reporting person.

Pagination

  • Start with limit=50&page=1, then request limit=50&page=2 with the same filters. Stop when data contains fewer than 50 rows; exactly 50 rows still requires another request.
  • New filings may change results while paging. accession_number identifies a filing, not a row; a filing can contain multiple rows, so do not deduplicate by this field alone.

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.