# Executive Compensation API

Get named-executive fiscal-year compensation rows from public company filings.

## Endpoint

```http
GET https://rentseek.ing/api/executive-compensation?ticker=AAPL&period=annual&limit=4
X-API-KEY: <api-key>
```

## Authentication

Generate an API key from https://rentseek.ing/developers and send it in the `X-API-KEY` header.

## Query Parameters

- `ticker`: Ticker symbol. Required if `cik` is not provided.
- `cik`: SEC Central Index Key. Required if `ticker` is not provided.
- `period`: `annual`. Defaults to `annual`.
- `limit`: Maximum fiscal years to return. Defaults to `4`, max `100`. All executive rows for each included fiscal year are returned.
- `fiscal_year`, `fiscal_year_gte`, `fiscal_year_lte`, `fiscal_year_gt`, `fiscal_year_lt`: Fiscal-year filters.

## Response

```json
{
  "executive_compensation": [
    {
      "ticker": "AAPL",
      "cik": "0000320193",
      "company_name": "Apple Inc.",
      "fiscal_year": 2024,
      "reported_year": 2024,
      "period": "annual",
      "executive_id": "timcook",
      "executive_name": "Tim Cook",
      "executive_role": "Chief Executive Officer",
      "is_peo": true,
      "is_pfo": false,
      "reporting_currency": "USD",
      "salary": 3000000,
      "bonus": 0,
      "stock_awards": 60000000,
      "option_awards": 0,
      "non_equity_incentive": 12000000,
      "pension_change": 0,
      "other_comp": 1400000,
      "unknown_component": 0,
      "total_compensation": 76400000,
      "source": {
        "form": "DEF 14A",
        "accession": "0000320193-25-000008",
        "filing_date": "2025-01-10",
        "filing_url": "https://www.sec.gov/Archives/..."
      }
    }
  ]
}
```

This endpoint does not return pay ratio, pay-versus-performance/CAP adjustments, director compensation, or insider trades.

## Error Responses

Public developer/provider API errors use the Financial Datasets-style flat envelope
`{ "error": string, "message": string }`. App-internal RentSeek APIs may use a
different nested error envelope.

## Available Tickers

```http
GET https://rentseek.ing/api/executive-compensation/tickers
X-API-KEY: <api-key>
```

## MCP

The same executive compensation dataset is available through the remote MCP server at `https://mcp.rentseek.ing/mcp`.

- [MCP Server Docs](https://rentseek.ing/api/mcp.md)
- Authentication: OAuth 2.1 with dynamic client registration, or `X-API-KEY`
- Tools: `get_executive_compensation`, `list_available_tickers`

## OpenAPI Fragment

```yaml
openapi: 3.0.1
security:
  - X-API-KEY: []
paths:
  /api/executive-compensation:
    get:
      operationId: getExecutiveCompensation
      parameters:
        - name: ticker
          in: query
          schema:
            type: string
        - name: cik
          in: query
          schema:
            type: string
        - name: period
          in: query
          schema:
            type: string
            enum: [annual]
        - name: limit
          in: query
          schema:
            type: integer
            default: 4
            maximum: 100
      responses:
        "200":
          description: Executive compensation response
        "400":
          $ref: "#/components/responses/BadRequestError"
        "401":
          $ref: "#/components/responses/UnauthorizedError"
        "402":
          $ref: "#/components/responses/PaymentRequiredError"
        "404":
          $ref: "#/components/responses/NotFoundError"
components:
  securitySchemes:
    X-API-KEY:
      type: apiKey
      name: X-API-KEY
      description: API key for authentication.
      in: header
  responses:
    UnauthorizedError:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: "#/components/schemas/ErrorResponse"
  schemas:
    ErrorResponse:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
```
