Stocks tool

PublicView as Markdown

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 advertised to MCP clients and mirrored by the REST query string.

NameTypeRequiredDefaultConstraintsDescription
tickerstringYes——Ticker symbol, e.g. 'AAPL' or 'BRK.B' (class separators accepted).
limitintegerNo4min 1, max 12Fiscal 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 | nullNonull—Opaque pagination cursor from a previous response's `pagination.next_cursor`; omit to start from the newest fiscal year.

Provenance

Sources behind every value this tool returns.

Dataset registry: stocks_executive_compensation