Shareholder Meetings Calendar Data API
The Shareholder Meetings Calendar Data API shows when, where and how shareholders can attend a shareholder meeting, vote their shares and get the proxy materials. The data covers the shareholder meetings of public companies and investment funds from 1994 to the present, and the upcoming meetings that proxy statements announce. 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 date, time and place of the meeting, the record date, and how to vote, how to attend and how the company delivers the materials. Financial advisors and investors can use the data to plan votes before the record date and the voting deadlines, to find the address or the web link of a meeting, and to see which documents a shareholder needs to attend. The records of many companies show which companies hold virtual, hybrid or in-person meetings and which use notice and access delivery. Notice and access delivery starts in 2007, when the SEC first allowed it.
| Filed at | Ticker | Company | Meeting type | Meeting | Time | Format | Location | Virtual meeting URL | Record date | Share classes | Voting methods | Remote voting deadline | Delivery | Mailing date | Photo ID | Registration | Adjournment proposal | Funds | CIK | Accession no. | Details |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026-10-07 | HLSQ | Tessera Defense & Homeland Security Inc. | special | 2026-10-20 | 9:00 a.m. Eastern Time | virtual | – | https://www.cstproxy.com/tessera/2026 | 2026-10-05 | 1 | internet; mail; at_meeting | 2026-10-19 | full set | 2026-10-06 | – | – | Yes | 0 | 1739174 | 0001213900-26-107281 | |
| 2026-10-07 | CPB | CAMPBELL'S Co | annual | 2026-11-17 | 9:00 a.m. Eastern Time | virtual | – | https://meetnow.global/CPB2026 | 2026-09-23 | 1 | internet; telephone; mail; at_meeting | – | notice and access | 2026-10-07 | – | – | – | 0 | 16732 | 0000016732-26-000031 | |
| 2026-10-06 | – | Franklin Templeton ETF Trust | special | 2026-11-18 | 11:00 a.m. Eastern time | virtual | – | – | 2026-09-24 | 1 | internet; telephone; mail; at_meeting | – | full set | 2026-10-07 | – | Yes | – | 1 | 1655589 | 0002071844-26-001347 | |
| 2026-10-05 | – | Elevation Series Trust | special | 2026-11-20 | 11:00 a.m. Mountain Time | virtual | – | – | 2026-10-01 | 1 | internet; telephone; mail; at_meeting | 2026-11-19 | full set | 2026-10-08 | – | – | – | 1 | 1936157 | 0001999371-26-022157 | |
| 2026-10-05 | WDC | WESTERN DIGITAL CORP | annual | 2026-11-20 | 8:00 a.m. Pacific Time | virtual | – | www.virtualshareholdermeeting.com/WDC2026 | 2026-09-22 | 1 | internet; telephone; mail; at_meeting | 2026-11-19 | both | 2026-10-05 | – | – | – | 0 | 106040 | 0001628280-26-064909 | |
| 2026-10-05 | GYRO | Gyrodyne, LLC | annual | 2026-11-05 | 11:00 a.m. Eastern Time | in person | Flowerfield Celebrations, Mills Pond Road, Saint James, New York 11780 | – | 2026-09-15 | 1 | internet; mail; at_meeting | 2026-11-04 | full set | 2026-10-02 | – | – | – | 0 | 1589061 | 0001437749-26-032011 | |
| 2026-10-05 | SENEA | Seneca Foods Corp | special | 2026-11-04 | 1:00 PM Eastern Time | in person | Woodcliff Hotel & Spa, 199 Woodcliff Drive, Fairport, New York, 14450 | – | 2026-09-14 | 4 | mail; at_meeting | – | full set | 2026-10-05 | – | – | – | 0 | 88948 | 0001437749-26-031991 | |
| 2026-10-05 | FLEX | FLEX LTD. | special | 2026-11-02 | 2:00 p.m. Central time | in person | Flex Ltd. offices, 12515-8 Research Blvd, Suite 300, Austin, TX 78759 U.S.A. | – | 2026-09-24 | 1 | internet; mail; at_meeting | – | full set | 2026-10-05 | Yes | – | – | 0 | 866374 | 0001193125-26-413189 | |
| 2026-10-05 | MSTR | Strategy Inc | special | 2026-10-28 | 10:00 a.m. Eastern Time | virtual | – | www.virtualshareholdermeeting.com/MSTR2026SM | 2026-09-25 | 2 | internet; telephone; mail; at_meeting | 2026-10-27 | full set | 2026-10-05 | – | – | Yes | 0 | 1050446 | 0001193125-26-413159 | |
| 2026-10-02 | – | Tax-Free Fixed Income Fund II for Puerto Rico Residents, Inc. | special | 2026-11-12 | 10:00 AM Eastern Time | hybrid | law offices of Ferraiuoli LLC, 250 Muñoz Rivera Avenue, 6th Floor, San Juan, PR 00918 | – | 2026-09-15 | 2 | internet; telephone; mail; at_meeting | – | full set | 2026-10-05 | Yes | Yes | – | 2 | 1847302 | 0000902664-26-004038 | |
| 2026-09-18 | PH | Parker-Hannifin Corp | annual | 2026-10-28 | 9:00 a.m. EDT | in person | Parker-Hannifin Corporation headquarters, 6035 Parkland Boulevard, Cleveland, Ohio 44124 | – | 2026-09-04 | 1 | internet; telephone; mail; at_meeting | – | full set | 2026-09-18 | Yes | Yes | – | 0 | 76334 | 0001308179-26-000394 | |
| 2026-09-14 | HYI | Western Asset High Yield Opportunity Fund Inc. | annual | 2026-10-16 | 10:00 a.m. New York time | in person | One Madison Avenue, 17th Floor, New York, New York 10010 | – | 2026-08-28 | 1 | internet; telephone; mail; at_meeting | – | not stated | 2026-09-14 | – | – | – | 1 | 1497186 | 0001193125-26-390204 | |
| 2026-09-04 | PAYX | PAYCHEX INC | annual | 2026-10-15 | 9:30 a.m. Eastern Time | virtual | – | www.virtualshareholdermeeting.com/PAYX2026 | 2026-08-17 | 1 | internet; telephone; mail; qr_code; at_meeting | 2026-10-14 | notice and access | 2026-09-04 | – | – | – | 0 | 723531 | 0001193125-26-382805 | |
| 2026-08-07 | CGC | Canopy Growth Corp | annual and special | 2026-09-25 | 1:00 p.m. Toronto time | virtual | – | www.virtualshareholdermeeting.com/WEED2026 | 2026-07-31 | 1 | internet; telephone; mail; at_meeting | 2026-09-23 | notice and access | 2026-08-10 | – | – | – | 0 | 1737927 | 0001104659-26-092759 | |
| 2026-04-29 | INSW | International Seaways, Inc. | annual | 2026-06-08 | 2:00 p.m. Eastern time | hybrid | Club 101, Kenilworth Room, 101 Park Avenue, New York, New York | www.virtualshareholdermeeting.com/INSW2026 | 2026-04-09 | 1 | internet; telephone; mail; at_meeting | – | full set | 2026-04-29 | – | – | – | 0 | 1679049 | 0001140361-26-017661 |
The data comes from proxy statements filed on SEC Form DEF 14A. A company or fund files a proxy statement when it requests proxies from shareholders before a shareholder meeting. This applies to the annual meeting and to a special meeting called for a specific matter, such as a merger, a stock split or a new advisory contract of a fund. The notice of the meeting at the start of the proxy statement gives the date, time and place of the meeting and the record date. Other sections explain how to vote, how to attend and how the company delivers the materials.
The data is extracted from the text of the proxy statement: the notice of the meeting, the general information or questions and answers section about the meeting and voting, the section on attending the meeting, the Important Notice Regarding the Availability of Proxy Materials, the proxy card and the householding section. The data is provided in a structured JSON format. The extracted information includes:
- Meeting type: annual, special, or annual and special
- Meeting date, start time and time zone
- Meeting format: in person, virtual or hybrid, with the place, the street address and the web address of the virtual meeting
- Record date and the number of shares that can vote, per class of shares and per fund, with the votes per share
- Ways to vote: internet, telephone, mail, QR code or at the meeting, and the need for a control number
- Last date and time to vote by internet or telephone, and the earlier deadline for shares in employee benefit plans
- Delivery of the proxy materials: notice and access, full set or both, the web address of the materials, the mailing date and householding
- Admission rules: photo ID, proof of ownership, advance registration and the registration deadline
- Rules for questions before and during the meeting
- Adjournment proposals and statements on adjournment, postponement or a change of the place or format
- Funds that ask for proxies with a fund proxy statement
- Short quotes from the proxy statement that support key values
API Endpoint
Search and retrieve the shareholder meeting data of proxy statements by sending POST HTTP requests with search parameters as JSON-formatted payload to the following API endpoint:
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
Authorizationheader in yourPOSTrequests. For instance, before sending aPOSTrequest tohttps://api.sec-api.io/shareholder-meetings-calendar, 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
POSTrequests, use the URLhttps://api.sec-api.io/shareholder-meetings-calendar?token=YOUR_API_KEYinstead of the base endpoint.
Request Parameters
Search the shareholder meeting data of 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 virtual meetings that take place from October 15, 2026 to December 31, 2026, with the result sorted by the meeting date, starting with the earliest meeting. A virtual meeting has no physical location. Shareholders attend online or by telephone. Increment the from parameter by 50 on each subsequent request to paginate through the results.
Find all proxy statements for a special meeting in which shareholders also vote on a proposal to adjourn the meeting. A company adds such a proposal so that it can continue to collect proxies when there are not enough votes to approve the main proposal at the meeting.
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. Times, time zones and web addresses are given as printed. Dates use the format YYYY-MM-DD. A proxy statement filed jointly by several funds has one item per fund in entities, votingShares.classes and fundsCovered. Each item has the following structure:
accessionNo: string
Accession number of the filing, e.g. 0001193125-26-413159.
formType: string
EDGAR form type. Possible values: DEF 14A.
filedAt: date
Date and time at which SEC EDGAR accepted the filing, e.g. 2026-10-05T07:55:17-04:00.
periodOfReport: date
Period of report as stated in the EDGAR header of the filing, e.g. 2026-10-28. For a proxy statement on Form DEF 14A, 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 and funds named in the EDGAR header of the filing. The company or fund that holds the meeting is the first entity. A proxy statement filed jointly by several funds lists one entity per fund, marked (Filer).
cik: string
Central Index Key (CIK) of the entity, without leading zeros, e.g. 1050446.
ticker: string
Trading symbol of the common stock of the entity, or the exchange symbol of a listed closed-end fund, e.g. MSTR. This field is null when the entity has no symbol, for example a fund trust whose funds have their own symbols.
companyName: string
Name of the entity as in EDGAR, with its role in the filing in brackets, for example (Filer), e.g. Strategy Inc (Filer).
irsNo: string
Employer identification number of the entity, assigned by the Internal Revenue Service (IRS), e.g. 510323571.
fiscalYearEnd: string
Last day of the fiscal year of the entity, in the format MMDD, e.g. 1231.
stateOfIncorporation: string
Code of the state or country in which the entity is incorporated, e.g. DE.
sic: string
Standard Industrial Classification (SIC) code and industry title of the entity, as in EDGAR, e.g. 6199 Finance Services.
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. 001-42509.
filmNo: string
Film number that SEC EDGAR assigned to the filing document of the entity, e.g. 261438797.
meetingDate: date
Date of the shareholder meeting, as stated in the notice of the meeting, e.g. 2026-10-28.
meetingType: string
Type of the shareholder meeting as the proxy statement names it. annual is the yearly meeting at which shareholders elect directors. special is a meeting called for specific matters, for example a merger, a reverse stock split or a new advisory contract of a fund; an extraordinary general meeting is special. annual_and_special is one meeting that combines both, as some Canadian companies hold. Possible values: annual, special, annual_and_special, not_stated.
url: string
URL of the main filing document on SEC EDGAR.
meeting: object
Time, place and format of the meeting.
startTime: string
Start time of the meeting as printed, without the time zone, e.g. 10:00 a.m.
timeZone: string
Time zone of the start time as printed, for example Eastern Time or local time, e.g. Eastern Time.
format: string
How shareholders attend the meeting. in_person is a meeting at a physical location only. virtual is a meeting held only online or by telephone, without a physical location. hybrid is a meeting at a physical location that shareholders can also attend online. Possible values: in_person, virtual, hybrid, not_stated.
venue: string
Name of the place of an in-person or hybrid meeting, as printed, for example a hotel or the office of the company, e.g. Flowerfield Celebrations.
address: string
Street address of the place of an in-person or hybrid meeting, as printed, e.g. Mills Pond Road, Saint James, New York 11780.
virtualMeetingUrl: string
Web address at which shareholders attend a virtual or hybrid meeting, as printed, e.g. www.virtualshareholdermeeting.com/MSTR2026SM.
votingShares: object
Record date and the shares that can vote at the meeting.
recordDate: date
Record date, e.g. 2026-09-25. Only the holders of shares at the close of business on this date can vote at the meeting.
classes: array of objects
Shares outstanding and entitled to vote on the record date. One item per class of shares, and per fund or series when one proxy statement covers several funds.
fundOrSeries: string
Name of the fund or series, as printed, e.g. Franklin Focused Dynamic Growth ETF. This field is null for an operating company.
shareClass: string
Name of the class of shares, as printed, e.g. Class A Stock.
sharesOutstanding: number
Number of shares outstanding and entitled to vote on the record date, as printed, e.g. 402337658.
votesPerShare: number
Number of votes for each share, as stated, e.g. 1.
voting: object
Ways to vote and the deadlines for votes that are not cast at the meeting.
methods: array of strings
Ways in which shareholders of record can vote, as stated. at_meeting is a vote in person or online during the meeting. Possible values: internet, telephone, mail, qr_code, at_meeting.
remoteVotingDeadlineDate: date
Last date to vote by internet or telephone before the meeting, e.g. 2026-10-27.
remoteVotingDeadlineTime: string
Last time to vote by internet or telephone on the deadline date, as printed, with the time zone, e.g. 11:59 p.m., ET.
planVotingDeadlineDate: date
Last date for voting instructions on shares held in an employee benefit plan, such as a 401(k) plan, as stated, e.g. 2026-11-10. This deadline is often earlier than the deadline for other shareholders.
controlNumberRequired: boolean
true when shareholders need the control number printed on their notice or proxy card to vote online or to attend a virtual meeting.
proxyMaterials: object
Delivery of the proxy statement and the annual report to shareholders.
deliveryMethod: string
How the company delivers the proxy materials. notice_and_access means that shareholders receive only a Notice of Internet Availability of Proxy Materials and find the documents online. full_set means that shareholders receive printed copies of all documents. both means that some shareholders receive the notice and others the full set. Possible values: notice_and_access, full_set, both, not_stated.
materialsUrl: string
Web address at which the proxy statement and the annual report are available, as printed, e.g. www.proxyvote.com.
mailingDate: date
Date on or about which the proxy materials or the Notice of Internet Availability are first sent or made available to shareholders, as stated, e.g. 2026-10-05.
householding: boolean
true when the proxy statement states that shareholders who share an address receive only one copy of the materials unless they ask for more copies.
attendance: object
Rules for shareholders who attend the meeting.
admissionRequirements: string
Short summary of the documents and steps that a shareholder needs to attend the meeting, as stated, for example a photo ID, proof of ownership or a legal proxy.
photoIdRequired: boolean
true when shareholders must show a photo ID to attend.
proofOfOwnershipRequired: boolean
true when shareholders who hold shares through a broker or bank must show proof of ownership, such as a brokerage statement or a legal proxy, to attend.
advanceRegistrationRequired: boolean
true when shareholders must register before the meeting to attend.
registrationDeadline: date
Last date to register for the meeting, as stated, e.g. 2026-11-17.
questionsBeforeMeeting: boolean
true when shareholders can submit questions before the meeting.
questionsDuringMeeting: boolean
true when shareholders can ask questions during the meeting.
questionRules: string
Short summary of the rules for questions, as stated, for example a limit on the number of questions or the topics that the meeting will not answer.
adjournment: object
Adjournment or postponement of the meeting.
hasAdjournmentProposal: boolean
true when shareholders vote on a proposal to adjourn the meeting, for example to collect more proxies when there are not enough votes to approve another proposal.
isRescheduled: boolean
true when the proxy statement states that the meeting was adjourned or postponed from an earlier date.
originalMeetingDate: date
Earlier date of a meeting that was adjourned or postponed.
statement: string
Short summary of the statements on adjournment, postponement or a change of the place or format of the meeting, as stated.
fundsCovered: array of objects
Funds that ask for proxies with this proxy statement. One item per fund. This array is empty for an operating company.
name: string
Name of the fund, as printed, e.g. Franklin Focused Dynamic Growth ETF.
ticker: string
Exchange symbol of the fund, as printed, e.g. SOVF.
evidence: object
Short quotes from the proxy statement that support key values. Each key is the path of a field, e.g. meeting.format, and each value is the quote.
Response Example
1
{
2
"total": {
3
"value": 1,
4
"relation": "eq"
5
},
6
"data": [
7
{
8
"accessionNo": "0001193125-26-413159",
9
"formType": "DEF 14A",
10
"filedAt": "2026-10-05T07:55:17-04:00",
11
"periodOfReport": "2026-10-28",
12
"entities": [
13
{
14
"cik": "1050446",
15
"ticker": "MSTR",
16
"companyName": "Strategy Inc (Filer)",
17
"irsNo": "510323571",
18
"fiscalYearEnd": "1231",
19
"stateOfIncorporation": "DE",
20
"sic": "6199 Finance Services",
21
"act": "34",
22
"fileNo": "001-42509",
23
"filmNo": "261438797"
24
}
25
],
26
"meetingDate": "2026-10-28",
27
"meetingType": "special",
28
"url": "https://www.sec.gov/Archives/edgar/data/1050446/000119312526413159/d503578ddef14a.htm",
29
"meeting": {
30
"startTime": "10:00 a.m.",
31
"timeZone": "Eastern Time",
32
"format": "virtual",
33
"venue": null,
34
"address": null,
35
"virtualMeetingUrl": "www.virtualshareholdermeeting.com/MSTR2026SM"
36
},
37
"votingShares": {
38
"recordDate": "2026-09-25",
39
"classes": [
40
{
41
"fundOrSeries": null,
42
"shareClass": "Class A Stock",
43
"sharesOutstanding": 402337658,
44
"votesPerShare": 1
45
},
46
{
47
"fundOrSeries": null,
48
"shareClass": "Class B Stock",
49
"sharesOutstanding": 19640250,
50
"votesPerShare": 10
51
}
52
]
53
},
54
"voting": {
55
"methods": [
56
"internet",
57
"telephone",
58
"mail",
59
"at_meeting"
60
],
61
"remoteVotingDeadlineDate": "2026-10-27",
62
"remoteVotingDeadlineTime": "11:59 p.m., ET",
63
"planVotingDeadlineDate": null,
64
"controlNumberRequired": true
65
},
66
"proxyMaterials": {
67
"deliveryMethod": "full_set",
68
"materialsUrl": "www.proxyvote.com",
69
"mailingDate": "2026-10-05",
70
"householding": true
71
},
72
"attendance": {
73
"admissionRequirements": "The meeting is held only online. Stockholders of record or holders of a valid proxy attend with the 16-digit control number. Beneficial owners need a valid proxy from the record holder and can be asked for proof of beneficial ownership, such as a recent account statement or the voting instruction form.",
74
"photoIdRequired": null,
75
"proofOfOwnershipRequired": true,
76
"advanceRegistrationRequired": null,
77
"registrationDeadline": null,
78
"questionsBeforeMeeting": true,
79
"questionsDuringMeeting": true,
80
"questionRules": "Questions before the meeting are submitted at www.proxyvote.com by 5:00 p.m. ET on October 27, 2026. Questions must comply with the rules of conduct; questions not pertinent to the meeting matters are excluded and similar questions are grouped. No business update is given at the meeting."
81
},
82
"adjournment": {
83
"hasAdjournmentProposal": true,
84
"isRescheduled": null,
85
"originalMeetingDate": null,
86
"statement": "Proposal 2 asks stockholders to approve one or more adjournments of the Special Meeting if necessary to solicit additional proxies if there are insufficient votes at the time of the meeting to approve Proposal 1."
87
},
88
"fundsCovered": [],
89
"evidence": {
90
"meeting.format": "we have determined to hold the Special Meeting in virtual format only, with no physical in-person meeting.",
91
"votingShares.classes": "On the record date, there were an aggregate of 402,337,658 shares of our Class A Stock and 19,640,250 shares of our Class B Stock outstanding and entitled to vote.",
92
"proxyMaterials.deliveryMethod": "We have elected to utilize the “full set delivery” option of providing paper copies of the proxy materials by mail.",
93
"attendance.questionsBeforeMeeting": "To submit a question before the Special Meeting, it must be received by 5:00 p.m., ET, on October 27, 2026.",
94
"adjournment.hasAdjournmentProposal": "approve one or more adjournments of the Special Meeting from time to time if necessary to solicit additional proxies if there are insufficient votes at the time of the Special Meeting to approve Proposal 1 (“Proposal 2”).",
95
"voting.remoteVotingDeadlineTime": "Your proxy must be received by 11:59 p.m., ET, on October 27, 2026, to be counted."
96
}
97
}
98
]
99
}