Executives · US only
Executive roster
- Coverage
- US
- Billing
- 20 cr / thousand calls
Returns a company's executive roster: name, position, whether currently serving, and the filing that evidences the position, one row per person per position; a person who has held several positions in turn has several rows. Start and end dates 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 onboarded). Position information only, with no personal attributes such as gender or birth year.
- 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=falsereturns departed executives alongside them. - All rows are returned in a single response; no pagination.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| ticker | string | required | A single ticker. |
| is_current | bool | optional | When false, departed executives are returned alongside current ones. Default: true. |
Response fields
| Field | Type | Description |
|---|---|---|
| ticker | string | Canonical ticker; this endpoint is US-only, so there is no market suffix (e.g. AAPL) |
| name | string | Name (as filed) |
| title | string | Position (as filed, with the Former prefix stripped; is_current indicates whether the person has departed) |
| role_type | stringenum | Normalized role: ceo cfo coo chair director other; uses the same role_type enum as /events-executive-changes. |
| start_date | date | Role start date; currently always null, see the first paragraph of this section |
| end_date | date | Role end date; currently always null, see the first paragraph of this section; use is_current to tell whether the person is still serving |
| is_current | bool | Whether the person is currently serving |
| accession_number | string | SEC 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_type | stringenum | SEC 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_url | string | Deep link to the filing on SEC EDGAR; opens directly |
| filing_date | date | Filing 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.