stocks tool

Public

stocks_get_executive_compensation

SEC pay-versus-performance rows for one US public company, newest first.

Description

SEC pay-versus-performance rows for one US public company, newest first.

Use this for executive-pay questions — "what was Apple's CEO paid, and how does it track shareholder returns?" (e.g. stocks_get_executive_compensation(ticker="AAPL")). For operating fundamentals use stocks_get_financial_metrics or the statement tools instead. Data is the Item 402(v) pay-versus-performance table filers tag in DEF 14A proxy statements, normalized from SEC EDGAR XBRL.

The result is the shared envelope: data holds the company identity (ticker, cik, company_name) and the bounded rows list; meta holds source and as_of (freshest row-level timestamp on this page); pagination holds cursor paging state. To page, pass pagination.next_cursor back as cursor; when pagination.has_more is false you have reached the oldest year.

Each row is one PEO (principal executive officer) and fiscal year: fiscal_year, period_start/period_end, peo_member (the XBRL member naming the PEO when a year has more than one — a mid-year CEO transition renders one row per PEO; empty string when the filer tags none), peo_name, company_selected_measure_name, and a measures object keyed by canonical measure names: peo_total_compensation, peo_compensation_actually_paid, avg_non_peo_neo_total_compensation, avg_non_peo_neo_compensation_actually_paid, company_total_shareholder_return, peer_group_total_shareholder_return, net_income, and company_selected_measure. A missing key means the filer did not tag that fact — never zero. Both TSR measures are the fiscal-year-end value of a fixed $100 investment (SEC Item 402(v) definition), not a percentage. Each value carries value (exact decimal as a JSON string), unit, currency, as_of, and the source filing's accession_number.

A covered company with no PvP rows (not yet subject to the rule, or no proxy ingested) returns an empty rows list — that is honest coverage, not an error. Errors carry a machine code: unknown_entity for a well-formed symbol we hold no mapping for (with Did you mean: …? suggestions when close matches exist), bad_parameter for a non-ticker string or a malformed cursor.

Parameters

Input schema

NameTypeRequiredDefaultDescription
tickerstringYesTicker symbol, e.g. 'AAPL' or 'BRK.B' (class separators accepted).
limitintegerNo4Fiscal years to return, newest first (1–12). Counts years, not rows: a year with multiple PEOs returns one row per PEO, all on the same page.
cursorstring | nullNonullOpaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the newest fiscal year.

Provenance

Sources

Dataset registry: stocks_executive_compensation