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

drillr.ai
API keys →

Executives · US only

Executive roster

GET/api/v2/executivesUS only
Coverage
US
Billing
20 cr / thousand calls

One row = one position held by one executive at that company, with the filing provenance evidencing that position; start and end dates of the position are not provided: start_date / end_date are always null (the columns stay in the contract and will be populated once 10-K Part III / 8-K Item 5.02 evidence is wired in). A person who has held different positions in succession appears in multiple rows. Rows carry position information only, not personal attributes such as gender or year of birth.

  • The roster comes from the executives listed in the company's DEF 14A summary compensation table (the named executive officers, typically 3–5 people); it excludes non-employee directors and any other officers absent from that table.
  • The endpoint can only be queried by company; there is no person= cross-company person query.
  • By default the endpoint returns only currently serving executives; passing is_current=false returns departed executives alongside them.
  • All rows are returned in a single response; no pagination.
Shared executives conventions

Both endpoints in this group cover US-listed companies only, parsed from the original SEC filings: currently always DEF 14A / DEF 14A/A (10-K Part III and 8-K Item 5.02 evidence is not wired in yet; once it is, form_type will only gain values, never change them). A non-US ticker and a company that is not yet covered both return 404.

Query parameters

ParameterTypeRequiredDescription
tickerstringrequiredA single ticker.
is_currentbooloptionalWhen false, departed executives are returned alongside current ones. Default true.

Response fields

FieldTypeDescription
tickerstringCanonical ticker; this endpoint is US-only, so there is no market suffix (e.g. AAPL)
namestringName (as filed)
titlestringPosition (as filed, with the Former prefix stripped; is_current indicates whether the person has departed)
role_typestringNormalized role: ceo cfo coo chair director other; uses the same role_type enum as /events-executive-changes.
start_datedateRole start date; currently always null, see the first paragraph of this section
end_datedateRole end date; currently always null, see the first paragraph of this section; use is_current to tell whether the person is still serving
is_currentboolWhether the person is currently serving
accession_numberstringSEC accession number of the most recent filing evidencing this role; the form_type / filing_url / filing_date on the same row point at that same filing
form_typestringSEC form name, currently always DEF 14A / DEF 14A/A (once 10-K Part III / 8-K Item 5.02 evidence is wired in, values are only added, never changed)
filing_urlstringDeep link to the filing on SEC EDGAR; opens directly
filing_datedateFiling date: the date the filing became public on EDGAR

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.