Vote Standards API: ballot items, quorum and voting thresholds from proxies
Every item on the proxy ballot and how it passes: record date, voting classes, quorum, director election standard, per item thresholds and broker rules.
curl -H "Authorization: Bearer $SECFEED_KEY" \ "https://secfeedapi.com/v1/vote-standards?ticker=AAPL"
import os, requests
r = requests.get(
"https://secfeedapi.com/v1/vote-standards",
params={'ticker': 'AAPL'},
headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
)
print(r.json())Overview
Each proxy explains how the vote works: the record date, which classes vote, what counts toward a quorum, how directors are elected, and for every proposal the vote needed, whether it is advisory, and how abstentions and broker non votes count.
The Vote Standards API returns each ballot item with its category, proposer, board recommendation and vote standard, plus the meeting level rules and the prior say on pay result. Fund proxies add the Investment Company Act majority definition when stated.
What you get
Built for developers who would rather not parse EDGAR.
Number, title, category, proposer and board recommendation.
Vote standard, supermajority percent, broker discretion and the effect of abstentions.
Quorum standard, what counts toward it, and shares and votes per class.
Prior say on pay support and the say on frequency schedule.
Endpoints
Authenticate with Authorization: Bearer YOUR_KEY. Responses are JSON.
What is on the ballot and how each item passes: record date, voting classes, quorum, election standard, per-item thresholds and say-on-pay history.
Parameters: ticker | cik, accessionNo, startDate, endDate, data.<path>=value, from, size (max 50)
Response fields
The main fields in every result. The raw filing data is always one level down.
| Field | Meaning |
|---|---|
accessionNo, filedAt, entities | The proxy statement and the company. |
meetingDate, meetingType, recordDate | The meeting. |
votingSecurities[].className, sharesOutstanding, votesPerShare | Who votes. |
quorum.standard, abstentionsCounted, brokerNonVotesCounted | Quorum rules. |
directorElection.standard, seatsUpForElection | How directors are elected. |
ballotItems[].title, category, boardRecommendation | What is on the ballot. |
ballotItems[].voteStandard, abstentionEffect, brokerNonVoteEffect | What it takes to pass. |
priorSayOnPay.supportPct, sayOnFrequency.currentFrequency | Say on pay history and schedule. |
Use cases
- Build a ballot calendar with vote thresholds
- Find proposals that need a supermajority
- Model how broker non votes affect outcomes
- Compare say on pay support across peers
Datasets behind this API
The SEC forms this API reads, with live filing counts.
FAQ
How far back does it go?
These datasets launched in October 2026 and are being filled newest first, starting with filings from 2020 onward. The live counter on this page shows what is loaded today. Older years are added after that.
How is the data produced?
Each record is extracted from the filing text by an AI model and validated against a fixed schema before it is published; see our AI Disclosure. A value the filing does not state is returned as null, never guessed.
Does it include the vote results?
No. The proxy is filed before the meeting. Results are reported later on 8-K Item 5.07, available in the Vote Results Feed.
Try the Vote Standards API free
125 free API calls to start. No sales call.