---
title: "Returns Schedule 14A proxy filings — the document public companies send shareholders ahead of annual or special meetings"
method: GET
path: "/v1/proxy-filings"
---

# Returns Schedule 14A proxy filings — the document public companies send shareholders ahead of annual or special meetings

`GET /v1/proxy-filings`

## Request

- Base URL: `https://api.keyvex.com`
- URL: `https://api.keyvex.com/v1/proxy-filings`
- Auth: API key in header `x-api-key`

Returns Schedule 14A proxy filings — the document public companies send shareholders ahead of annual or special meetings. Each record is one filing carrying executive compensation tables, board nominations, shareholder proposals, auditor info, and voting matters.  Use this when the user asks about: executive compensation, board elections, shareholder proposals, M&A votes, proxy contests, auditor changes, say-on-pay outcomes, or upcoming annual meetings.  Coverage: the full DEF 14A family back to 2016 for the US public-company universe (sourced from EDGAR's complete quarterly full-index); a daily feed keeps it current. Rows are tagged with a company's PRIMARY common ticker — for dual-class issuers (e.g. GOOGL/GOOG, BRK-A/BRK-B) query by company_cik to retrieve every share class in one shot.  Filing types (the four-form DEF 14A family):   DEF 14A   — Definitive proxy (the annual-meeting filing)   DEFA14A   — Additional materials (supplements to a prior DEF 14A)   DEFM14A   — Merger-related proxy (filed when shareholders vote on M&A)   DEFR14A   — Revised definitive proxy (amendments to a prior DEF 14A)  Convenience flags derived from filing_type:   is_merger_related   — true for DEFM14A   is_amendment        — true for DEFR14A   is_additional_materials — true for DEFA14A  period_of_report population (IMPORTANT for filtering / sorting):   - Recent-window rows (filed ~2024-onward via the daily feed /     per-ticker pull): DEF 14A primaries ~100% populated (meeting/record     date); DEFA14A/DEFM14A/DEFR14A typically EMPTY (correct-as-filed —     SEC's submissions API leaves those reportDate fields blank).   - Historical backfilled rows (the bulk of 2016-2024 depth, sourced     from EDGAR's full-index): period_of_report is EMPTY for all form     types — the index carries no report date.   - Bottom line: filter/sort by filing_date for chronological queries;     period_of_report is not reliably present across the collection.  v1A is metadata-only: ticker, company name, CIK, filing type, dates, primary document URL. The proxy body is not extracted in v1. `primary_document_url` points agents at the source HTML for direct fetch when they need exec comp tables or proposal text.

## Query parameters

- `ticker` string
- `company_cik` string
- `filing_type` 'DEF 14A' | 'DEFA14A' | 'DEFM14A' | 'DEFR14A'
- `is_merger_related` boolean
- `is_amendment` boolean
- `since` string
- `until` string
- `sort_by` 'filing_date' | 'period_of_report'
- `sort_order` 'desc' | 'asc'
- `limit` integer

## Response `200`

JSON envelope: { results: [...], count, has_more }.

## Other responses

- `400`: Invalid parameter.
- `401`: Missing or invalid API key.
- `402`: This tool requires a higher plan (upgrade_required). Retrying will not help.
- `429`: Tier rate/quota limit reached (rate_limited). Retry-After points at the reset.

---

[API](https://skmtc.dev/keyvex/apis/keyvex-api.md) · [All operations](https://skmtc.dev/keyvex/apis/keyvex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/keyvex/apis/keyvex-api/revisions/01c0210c19cd?raw)
