Shareholder Rights & Takeover Defenses Data API

The Shareholder Rights & Takeover Defenses Data API shows how much influence shareholders have in public companies and which provisions protect the board against takeovers or activist campaigns. The data covers the shareholder rights and takeover defenses of public companies from 1994 to the present. Each record covers one proxy statement. Search queries on any field return the matching records in JSON format through one API endpoint.

The API extracts the board election cycle, voting power per share class, director vote standards, rights to call special meetings and act by written consent, supermajority vote requirements, poison pills, the deadline window for shareholder nominations, and each ballot proposal that changes the charter or bylaws. Records for one company over several years show when it adds or removes a defense.

Data sample · Shareholder rights and takeover defenses
Filed atTickerCompanyMeetingMeeting typeFormatStateBoardDual classVote standardSpecial meeting (%)Written consentSupermajority (%)Poison pillProxy accessNotice window endGovernance proposalsCIKAccession no.Details
2026-10-07CPBCAMPBELL'S Co2026-11-17annualvirtualNew JerseyannualNomajority of votes cast–Yes–No–2027-09-180167320000016732-26-000031
2026-10-06CBRLCRACKER BARREL OLD COUNTRY STORE, INC2026-11-19annualvirtual–not statedNomajority of votes cast–––YesYes–110672940001104659-26-114062
2026-10-06SNDKSandisk Corp2026-11-17annualvirtual–annualNomajority of votes cast––––Yes2027-08-19020235540001308179-26-000423
2026-10-06LITELumentum Holdings Inc.2026-11-18annualvirtualDelawareannualNomajority of votes cast–––––2027-09-19016339780001308179-26-000420
2026-10-06AVTAVNET INC2026-11-20annualin personNew YorkannualNomajority of votes cast–––––2027-07-23288580001104659-26-114038
2026-10-06DCIDONALDSON Co INC2026-11-20annualvirtual–classifiedNomajority of votes cast–––No–2027-08-220296440000029644-26-000115
2026-10-05WDCWESTERN DIGITAL CORP2026-11-20annualvirtual–annualNomajority of votes cast––––Yes2027-08-2201060400001628280-26-064909
2026-10-05SENEASeneca Foods Corp2026-11-04specialin person–not statedYesnot stated––––––2889480001437749-26-031991
2026-10-05MSTRStrategy Inc2026-10-28specialvirtualDelawarenot statedYesnot stated––––––110504460001193125-26-413159
2026-10-02JKHYJACK HENRY & ASSOCIATES INC2026-11-19annualin personDelawareannualNomajority of votes cast––––Yes2027-08-2107791520000779152-26-000088
2026-09-30ELESTEE LAUDER COMPANIES INC2026-11-17annualvirtualDelawareclassifiedYesplurality with resignation policy–––––2027-08-01010012500001104659-26-112176
2026-09-21MBUUMALIBU BOATS, INC.2026-11-03annualin personDelawareclassifiedYesplurality––66.67––2027-08-05215909760001590976-26-000067
2026-09-17FOXFox Corp2026-11-04annualvirtual–annualYesmajority of votes cast20–65––2027-08-06117543010001628280-26-062480
2026-09-15CTASCINTAS CORP2026-10-27annualvirtualWashingtonannualNomajority of votes cast50No66.67No––27232540000723254-26-000040
2026-08-25RPMRPM INTERNATIONAL INC/DE/2026-10-08annualvirtualDelawareannualNoplurality with resignation policy––––Yes2027-07-1001106210001193125-26-365259
2026-08-10AMCAMC ENTERTAINMENT HOLDINGS, INC.2026-09-24annualin personDelawareclassifiedNoplurality–No––––314115790001104659-26-093412

The data comes from proxy statements filed on SEC Form DEF 14A. A company that requests proxies from its shareholders files a proxy statement before the shareholder meeting. The proxy statement describes share classes that vote, director election methods, shareholder rights under the charter and bylaws, and proposals that change these rules.

The data is extracted from the text of the proxy statement: the meeting notice, voting information, director elections, corporate governance section, charter or bylaw amendment proposals with appendices, and the section on next annual meeting proposals. The data is provided in a structured JSON format. The extracted information includes:

  • Meeting format: in person, virtual or hybrid
  • State of incorporation and proposals to move the company to another state
  • Board election cycle: classified (staggered) board, declassification in progress, or annual election of all directors
  • Share classes that vote, votes per share and shares outstanding, dual-class structures, controlling holders and controlled company status
  • Vote standard for directors, the resignation policy after a failed vote, and cumulative voting
  • Shareholder rights: special meeting right and threshold, action by written consent, supermajority vote requirements, shareholder rights plan (poison pill), exclusive forum and proxy access
  • Advance notice window for director nominations and other business at the next annual meeting
  • Proposals to change the charter or the bylaws, such as board declassification, removal of supermajority requirements, officer exculpation or reincorporation, with the vote required and the board recommendation
  • Short quotes from the proxy statement that support key values

API Endpoint

Search and retrieve shareholder rights data from proxy statements by sending POST HTTP requests with search parameters as JSON-formatted payload to the following API endpoint:

https://api.sec-api.io/shareholder-rights

Supported HTTP methods: POST

Request and response content type: JSON

Authentication

To authenticate your API requests, use the API key available in your user profile. You can use your API key in one of two ways. Choose the method that best fits your implementation:

  • Authorization Header: Include your API key as an Authorization header in your POST requests. For instance, before sending a POST request to https://api.sec-api.io/shareholder-rights, ensure the header is set as follows: Authorization: YOUR_API_KEY.
  • Query Parameter: Alternatively, append your API key directly to the URL as a query parameter. For example, when making POST requests, use the URL https://api.sec-api.io/shareholder-rights?token=YOUR_API_KEY instead of the base endpoint.

Request Parameters

Search shareholder rights data from proxy statements by sending a search query to the API. All fields of the extracted data are searchable. For a complete list of searchable fields, refer to the Response Structure section below. Send a search query as a JSON-formatted payload to the API using the structure explained below.

Request parameters:

query: string

Your search criteria in the format field:value defining the fields to search in and the values to search for in those fields. The query is written in Lucene syntax and supports boolean operators (AND, OR, NOT), range queries across date and number fields using square brackets ([, ]), wildcards (*) and search expression grouping with normal brackets ((, )). More information on Lucene is available here. Query examples are available below.

from: integer

Specifies the starting position of your results, allowing for pagination. For instance, set from to 50 to skip the first 50 results. Default: 0. Maximum: 10,000, which is also the cap for the maximum number of results returned per query. To retrieve all results in your search universe, increment from by the value of the size parameter (e.g., 50) until no more results are returned or the 10,000 limit is reached. For example, use 0, 50, 100, and so on. If your query locates more than 10,000 results, consider narrowing your search by refining your filter criteria, such as using a date range filter to iterate over months or years. One approach would be to search for items with a filedAt date range filter, e.g., filedAt:[2025-01-01 TO 2025-01-31] (all filings from January 2025), then paginate through the results by incrementing from, and once completed, repeat the process for the next month, and so on.

size: integer

The number of results to be returned per request. Default: 50. Maximum: 50.

sort: array

An array of objects that specify how the returned results are sorted. For example, [{ "filedAt": { "order": "desc" } }] sorts the results by the filing date, most recent filings first. Set order to asc to sort in ascending order.

Request Examples

Find all proxy statements filed in 2026 by companies with a dual-class structure, with the result sorted by the filing date, starting with the most recent filings. In a dual-class structure, one class of common stock carries more votes per share than another, so that founders or a family can control the vote with a small part of the shares. Increment the from parameter by 50 on each subsequent request to paginate through the results.

Find all proxy statements with a proposal to declassify the board or to remove supermajority vote requirements. The result includes proposals of the board and proposals of shareholders. The proposedBy field shows which party submitted each proposal.

Response Structure

Response type: JSON

The API response represents a JSON object with two fields: total (object) and data (array). The total.value field indicates the total number of results matching your search query. The data array holds up to 50 items per request. Each item represents the extracted data from one proxy statement filed on Form DEF 14A.

The data contains only facts that the proxy statement states. A value of null or not_stated, or an empty array, means that the proxy statement does not state the fact. A boolean field is false only when the proxy statement states that the right or provision does not exist. The shareholderRights fields describe the provisions in effect when the proxy statement is filed; a proposal to change them is in governanceProposals. Percentages are numbers from 0 to 100. Dates use the format YYYY-MM-DD, or YYYY-MM and YYYY when the text gives only the month or the year. Each item has the following structure:

accessionNo: string

Accession number of the filing, e.g. 0000723254-26-000040.

formType: string

EDGAR form type. Possible values: DEF 14A.

filedAt: date

Date and time at which SEC EDGAR accepted the filing, e.g. 2026-09-15T16:10:36-04:00.

periodOfReport: date

Period of report as stated in the EDGAR header of the filing, e.g. 2026-10-27. For a proxy statement, this is usually the date of the shareholder meeting. This field is null when the EDGAR header gives no period.

entities: array of objects

Companies named in the EDGAR header of the filing. A proxy statement filed by the company has one entity, marked (Filer). The company that holds the meeting is always the first entity.

cik: string

Central Index Key (CIK) of the entity, without leading zeros, e.g. 723254.

ticker: string

Trading symbol of the common stock of the entity, e.g. CTAS. For a company with two listed share classes, the symbol of the class that votes at the meeting. This field is null when the entity has no symbol.

companyName: string

Name of the entity as in EDGAR, with its role in the filing in brackets, for example (Filer), e.g. CINTAS CORP (Filer).

irsNo: string

Employer identification number of the entity, assigned by the Internal Revenue Service (IRS), e.g. 311188630.

fiscalYearEnd: string

Last day of the fiscal year of the entity, in the format MMDD, e.g. 0531.

stateOfIncorporation: string

Code of the state or country in which the entity is incorporated, e.g. WA.

sic: string

Standard Industrial Classification (SIC) code and industry title of the entity, as in EDGAR, e.g. 2000 Food and Kindred Products.

act: string

Securities law under which the entity files, as in EDGAR, e.g. 34. 34 is the Securities Exchange Act of 1934.

fileNo: string

SEC file number of the entity, e.g. 000-11399.

filmNo: string

Film number that SEC EDGAR assigned to the filing document of the entity, e.g. 261380897.

meetingDate: date

Date of the shareholder meeting, e.g. 2026-10-27.

meetingType: string

Type of the shareholder meeting as the proxy statement names it. Possible values: annual, special, annual_and_special, not_stated.

meetingFormat: string

Format of the meeting: in_person (at a physical location only), virtual (online only, by live webcast), hybrid (at a physical location and online). A virtual meeting can limit the direct contact between shareholders and the board. Possible values: in_person, virtual, hybrid, not_stated.

url: string

URL of the main filing document on SEC EDGAR.

incorporation: object

State or country of incorporation. The corporate law of this state sets the default shareholder rights and takeover rules.

state: string

State or country of incorporation as stated in the proxy statement, e.g. Washington. This field is null when the proxy statement does not state it. The EDGAR value is in entities[].stateOfIncorporation.

reincorporationProposed: boolean

true when a proposal on the ballot moves the company to another state or country. false in all other cases.

proposedState: string

State or country to which the proposal moves the company, e.g. Delaware.

boardStructure: object

Election cycle of the board. On a classified (staggered) board, directors serve multi-year terms and only one class is elected each year. A classified board delays a change of board control, because an acquirer or activist needs at least two annual meetings to win a majority of the seats.

classifiedBoard: string

Board election cycle: classified (directors elected in classes for multi-year terms), declassifying (the company phases out the classes; some directors still serve multi-year terms), annual (all directors elected each year). Possible values: classified, declassifying, annual, not_stated.

numberOfClasses: integer

Number of director classes on a classified or declassifying board, as stated, e.g. 3.

termYears: integer

Length of the term of a director, in years, as stated, e.g. 1.

fullyDeclassifiedYear: integer

Year of the annual meeting from which all directors stand for election each year, as stated for a board that is being declassified or for a proposal to declassify the board, e.g. 2026.

directorsUpForElection: integer

Number of director candidates up for election at this meeting, e.g. 8.

votingStructure: object

Share classes that vote at the meeting. In a dual-class structure, one class carries more votes per share than another. Founders or a family can then control the votes with a small share of the economic ownership.

dualClass: boolean

true when the company has two or more classes of common stock with different voting rights per share, for example 10 votes per Class B share and 1 vote per Class A share, or a class without votes. false when the company states one class of common stock or equal votes per share. Voting preferred stock alone does not make a dual-class structure.

classes: array of objects

One item per class of shares that is entitled to vote at the meeting, or that the proxy statement describes as having different voting rights.

className: string

Name of the share class as printed, e.g. common stock.

votesPerShare: number

Number of votes per share, as stated, e.g. 1.

sharesOutstanding: number

Number of shares of the class outstanding on the record date, as stated, e.g. 400701115.

votingPowerPct: number

Percentage of the total voting power that the class holds, as stated.

entitledToVote: boolean

true when the class votes at this meeting. false when the proxy statement states that the class does not vote on the matters of this meeting.

controllingHolder: string

Name of the person, family or group that the proxy statement names as holding control of the voting power, as printed, e.g. Lauder family.

controllingHolderVotingPct: number

Percentage of the total voting power that the controlling holder holds, as stated, e.g. 82.

controlledCompany: boolean

true when the proxy statement states that the company is a "controlled company" under the listing rules of the stock exchange, and so can use exemptions from some board independence rules. false when the proxy statement states that it is not.

directorElection: object

Rules for the election of directors. Under a majority standard, a vote campaign against a director (a "withhold" or "against" campaign) can defeat the director. Under a plurality standard, a director in an uncontested election is elected with any number of votes for.

voteStandard: string

Vote standard for directors in an uncontested election: majority_of_votes_cast (more votes for than against), majority_of_shares_present (majority of the shares present and entitled to vote), plurality (the candidates with the most votes win), plurality_with_resignation_policy (plurality, but a director with more withheld votes than votes for must offer to resign), other. Possible values: majority_of_votes_cast, majority_of_shares_present, plurality, plurality_with_resignation_policy, other, not_stated.

pluralityInContestedElections: boolean

true when the proxy statement states that a plurality standard applies when there are more candidates than seats.

resignationPolicy: boolean

true when a director who does not receive the required vote must offer to resign, as stated. false when the proxy statement states that there is no such policy.

cumulativeVoting: boolean

true when shareholders can cumulate their votes in director elections (multiply their votes by the number of seats and give all votes to one candidate). Cumulative voting lets minority holders elect a director. false when the proxy statement states that cumulative voting is not available.

shareholderRights: object

Charter and bylaw provisions that give shareholders rights or that protect the board against takeovers, as the proxy statement describes them.

specialMeetingRight: boolean

true when shareholders can call a special meeting. false when the proxy statement states that they cannot.

specialMeetingThresholdPct: number

Minimum percentage of the outstanding shares that shareholders must own to call a special meeting, e.g. 50.

writtenConsentRight: boolean

true when shareholders can act by written consent without a meeting. false when the proxy statement states that they cannot.

supermajorityProvisions: boolean

true when the charter or bylaws require a vote above a simple majority for some actions, for example to amend the bylaws or to remove a director. false when the proxy statement states that no such provisions exist.

supermajorityThresholdPct: number

Highest supermajority vote requirement stated, as a percentage of the outstanding shares or of the votes, e.g. 66.67. A two-thirds vote is 66.67.

rightsPlan: boolean

true when the company has a shareholder rights plan (poison pill) in effect. A rights plan dilutes a holder who buys more than a set percentage of the shares without board approval. false when the proxy statement states that the company has none.

rightsPlanTriggerPct: number

Ownership percentage at which the rights plan applies.

rightsPlanExpiration: date

Date on which the rights plan expires.

exclusiveForum: boolean

true when the charter or bylaws name one court as the exclusive forum for shareholder lawsuits. false when the proxy statement states that they do not.

exclusiveForumCourt: string

Court named as the exclusive forum, as printed.

proxyAccess: boolean

true when the bylaws let shareholders put their own director candidates in the company's proxy statement (proxy access). The Shareholder Proposals and Proxy Contests API has the full proxy access terms. false when the proxy statement states that the bylaws do not provide it.

proxyAccessOwnershipPct: number

Minimum percentage of the outstanding shares for a proxy access nomination, e.g. 3.

proxyAccessHoldingYears: number

Minimum number of years for which the shares must be held for a proxy access nomination, e.g. 3.

advanceNotice: object

Advance notice bylaw for the next annual meeting. The bylaw sets the time window in which a shareholder must give notice of a director candidate or other business that is not in the company's proxy statement. A short window limits the time for an activist campaign.

windowStart: date

First date to give notice under the advance notice bylaw, e.g. 2027-08-19.

windowEnd: date

Last date to give notice under the advance notice bylaw, e.g. 2027-09-18.

noticeDaysStart: integer

Start of the window as a number of days before the reference date, as stated, e.g. 150.

noticeDaysEnd: integer

End of the window as a number of days before the reference date, as stated, e.g. 120.

referenceDate: string

Date from which the bylaw counts the days: prior_meeting_anniversary (first anniversary of the last annual meeting), proxy_mailing_anniversary (anniversary of the date of the last proxy statement or its mailing), meeting_date (date of the next meeting). Possible values: prior_meeting_anniversary, proxy_mailing_anniversary, meeting_date, not_stated.

governanceProposals: array of objects

Proposals on the ballot that change the charter or bylaws or ask the board to change shareholder rights or takeover defenses. Includes proposals of the board and of shareholders. Proposals on other topics, such as pay or the auditor, are not included.

proposalNumber: string

Number of the proposal as printed, e.g. 4.

title: string

Title of the proposal as printed.

proposedBy: string

Party that submits the proposal: board or shareholder. Possible values: board, shareholder, not_stated.

category: string

Topic of the proposal: declassify_board, classify_board, eliminate_supermajority, majority_voting, special_meeting_right, written_consent, proxy_access, officer_exculpation (limit the personal liability of officers), reincorporation, authorized_shares, exclusive_forum, rights_plan, dual_class (create, change or remove a dual-class structure), other. Possible values: declassify_board, classify_board, eliminate_supermajority, majority_voting, special_meeting_right, written_consent, proxy_access, officer_exculpation, reincorporation, authorized_shares, exclusive_forum, rights_plan, dual_class, other.

documentAmended: string

Document that the proposal changes: charter (certificate or articles of incorporation), bylaws, both, or none for a request to the board that changes no document by itself (a precatory proposal). Possible values: charter, bylaws, both, none, not_stated.

effect: string

Effect of the proposal in neutral words, at most 400 characters.

voteRequired: string

Vote required to approve the proposal, as printed.

voteRequiredPct: number

Vote required as a percentage, when the proxy statement states a percentage or a fraction, e.g. 66.67. A two-thirds vote is 66.67. A majority vote without a stated percentage is null.

boardRecommendation: string

Recommendation of the board: for, against or no_recommendation. Possible values: for, against, no_recommendation, not_stated.

evidence: object

Short quotes from the proxy statement that support key values. Each key is the path of a field, e.g. boardStructure.classifiedBoard, and each value is the quote.

Response Example

JSON
1 {
2 "total": {
3 "value": 1,
4 "relation": "eq"
5 },
6 "data": [
7 {
8 "accessionNo": "0000723254-26-000040",
9 "formType": "DEF 14A",
10 "filedAt": "2026-09-15T16:10:36-04:00",
11 "periodOfReport": "2026-10-27",
12 "entities": [
13 {
14 "cik": "723254",
15 "ticker": "CTAS",
16 "companyName": "CINTAS CORP (Filer)",
17 "irsNo": "311188630",
18 "fiscalYearEnd": "0531",
19 "stateOfIncorporation": "WA",
20 "sic": "2320 Men's & Boys' Furnishgs, Work Clothg, & Allied Garments",
21 "act": "34",
22 "fileNo": "000-11399",
23 "filmNo": "261380897"
24 }
25 ],
26 "meetingDate": "2026-10-27",
27 "meetingType": "annual",
28 "meetingFormat": "virtual",
29 "url": "https://www.sec.gov/Archives/edgar/data/723254/000072325426000040/ctas-20260915.htm",
30 "incorporation": {
31 "state": "Washington",
32 "reincorporationProposed": true,
33 "proposedState": "Delaware"
34 },
35 "boardStructure": {
36 "classifiedBoard": "annual",
37 "numberOfClasses": null,
38 "termYears": 1,
39 "fullyDeclassifiedYear": null,
40 "directorsUpForElection": 8
41 },
42 "votingStructure": {
43 "dualClass": false,
44 "classes": [
45 {
46 "className": "common stock",
47 "votesPerShare": 1,
48 "sharesOutstanding": 400701115,
49 "votingPowerPct": null,
50 "entitledToVote": true
51 }
52 ],
53 "controllingHolder": null,
54 "controllingHolderVotingPct": null,
55 "controlledCompany": null
56 },
57 "directorElection": {
58 "voteStandard": "majority_of_votes_cast",
59 "pluralityInContestedElections": true,
60 "resignationPolicy": true,
61 "cumulativeVoting": null
62 },
63 "shareholderRights": {
64 "specialMeetingRight": true,
65 "specialMeetingThresholdPct": 50,
66 "writtenConsentRight": false,
67 "supermajorityProvisions": true,
68 "supermajorityThresholdPct": 66.67,
69 "rightsPlan": false,
70 "rightsPlanTriggerPct": null,
71 "rightsPlanExpiration": null,
72 "exclusiveForum": false,
73 "exclusiveForumCourt": null,
74 "proxyAccess": null,
75 "proxyAccessOwnershipPct": null,
76 "proxyAccessHoldingYears": null
77 },
78 "advanceNotice": {
79 "windowStart": null,
80 "windowEnd": null,
81 "noticeDaysStart": 150,
82 "noticeDaysEnd": 120,
83 "referenceDate": "meeting_date"
84 },
85 "governanceProposals": [
86 {
87 "proposalNumber": "4",
88 "title": "To approve the reincorporation of the Company from the State of Washington to the State of Delaware",
89 "proposedBy": "board",
90 "category": "reincorporation",
91 "documentAmended": "both",
92 "effect": "Converts the company from a Washington corporation into a Delaware corporation under a Plan of Conversion, with a new Delaware charter and bylaws. The Delaware charter bars action by written consent and adds an exclusive forum bylaw; special meetings stay at a 50% request threshold.",
93 "voteRequired": null,
94 "voteRequiredPct": null,
95 "boardRecommendation": "for"
96 },
97 {
98 "proposalNumber": "5",
99 "title": "Shareholder proposal regarding support for governance by majority voting",
100 "proposedBy": "shareholder",
101 "category": "eliminate_supermajority",
102 "documentAmended": "none",
103 "effect": "Asks the board to replace each charter and bylaw voting requirement above a simple majority, including state law defaults, with a majority of the votes cast for and against. The same proposal received 68% of the for and against votes at the 2022 annual meeting.",
104 "voteRequired": null,
105 "voteRequiredPct": null,
106 "boardRecommendation": "against"
107 }
108 ],
109 "evidence": {
110 "incorporation.reincorporationProposed": "our Board unanimously approved, and recommended that our shareholders approve, the conversion of the Company from a corporation organized under the laws of the State of Washington to a corporation organized under the laws of the State of Delaware, pursuant to a Plan of Conversion",
111 "shareholderRights.specialMeetingThresholdPct": "The Washington Charter provides that special meetings of the shareholders may be called by holders of 50% or more of the shares of all classes of the Company’s outstanding stock entitled to vote at such meetings.",
112 "shareholderRights.writtenConsentRight": "The Washington Charter does not expressly authorize shareholder actions by written consent and thus shareholder actions by written consent are only permitted if approval by all shareholders entitled to vote as provided in the default provisions of the WBCA.",
113 "shareholderRights.supermajorityThresholdPct": "unless approved by the affirmative vote of the holders of outstanding voting securities entitled to exercise two-thirds of the combined voting power and by the affirmative vote of two-thirds of the voting securities beneficially owned by “disinterested shareholders.”",
114 "shareholderRights.exclusiveForum": "The Washington Charter and the Washington Bylaws do not provide for an exclusive forum for the adjudication of shareholder disputes.",
115 "governanceProposals[1].effect": "Shareholders request that the Board of Directors take each step necessary so that each voting requirement in our charter and bylaws (that is explicit or implicit due to default to state law) that calls for a greater than simple majority vote be replaced by a requirement for a majority of the votes cast for and against applicable proposals"
116 }
117 }
118 ]
119 }