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.

Data sample · Shareholder meetings
Filed atTickerCompanyMeeting typeMeetingTimeFormatLocationVirtual meeting URLRecord dateShare classesVoting methodsRemote voting deadlineDeliveryMailing datePhoto IDRegistrationAdjournment proposalFundsCIKAccession no.Details
2026-10-07HLSQTessera Defense & Homeland Security Inc.special2026-10-209:00 a.m. Eastern Timevirtual–https://www.cstproxy.com/tessera/20262026-10-051internet; mail; at_meeting2026-10-19full set2026-10-06––Yes017391740001213900-26-107281
2026-10-07CPBCAMPBELL'S Coannual2026-11-179:00 a.m. Eastern Timevirtual–https://meetnow.global/CPB20262026-09-231internet; telephone; mail; at_meeting–notice and access2026-10-07–––0167320000016732-26-000031
2026-10-06–Franklin Templeton ETF Trustspecial2026-11-1811:00 a.m. Eastern timevirtual––2026-09-241internet; telephone; mail; at_meeting–full set2026-10-07–Yes–116555890002071844-26-001347
2026-10-05–Elevation Series Trustspecial2026-11-2011:00 a.m. Mountain Timevirtual––2026-10-011internet; telephone; mail; at_meeting2026-11-19full set2026-10-08–––119361570001999371-26-022157
2026-10-05WDCWESTERN DIGITAL CORPannual2026-11-208:00 a.m. Pacific Timevirtual–www.virtualshareholdermeeting.com/WDC20262026-09-221internet; telephone; mail; at_meeting2026-11-19both2026-10-05–––01060400001628280-26-064909
2026-10-05GYROGyrodyne, LLCannual2026-11-0511:00 a.m. Eastern Timein personFlowerfield Celebrations, Mills Pond Road, Saint James, New York 11780–2026-09-151internet; mail; at_meeting2026-11-04full set2026-10-02–––015890610001437749-26-032011
2026-10-05SENEASeneca Foods Corpspecial2026-11-041:00 PM Eastern Timein personWoodcliff Hotel & Spa, 199 Woodcliff Drive, Fairport, New York, 14450–2026-09-144mail; at_meeting–full set2026-10-05–––0889480001437749-26-031991
2026-10-05FLEXFLEX LTD.special2026-11-022:00 p.m. Central timein personFlex Ltd. offices, 12515-8 Research Blvd, Suite 300, Austin, TX 78759 U.S.A.–2026-09-241internet; mail; at_meeting–full set2026-10-05Yes––08663740001193125-26-413189
2026-10-05MSTRStrategy Incspecial2026-10-2810:00 a.m. Eastern Timevirtual–www.virtualshareholdermeeting.com/MSTR2026SM2026-09-252internet; telephone; mail; at_meeting2026-10-27full set2026-10-05––Yes010504460001193125-26-413159
2026-10-02–Tax-Free Fixed Income Fund II for Puerto Rico Residents, Inc.special2026-11-1210:00 AM Eastern Timehybridlaw offices of Ferraiuoli LLC, 250 Muñoz Rivera Avenue, 6th Floor, San Juan, PR 00918–2026-09-152internet; telephone; mail; at_meeting–full set2026-10-05YesYes–218473020000902664-26-004038
2026-09-18PHParker-Hannifin Corpannual2026-10-289:00 a.m. EDTin personParker-Hannifin Corporation headquarters, 6035 Parkland Boulevard, Cleveland, Ohio 44124–2026-09-041internet; telephone; mail; at_meeting–full set2026-09-18YesYes–0763340001308179-26-000394
2026-09-14HYIWestern Asset High Yield Opportunity Fund Inc.annual2026-10-1610:00 a.m. New York timein personOne Madison Avenue, 17th Floor, New York, New York 10010–2026-08-281internet; telephone; mail; at_meeting–not stated2026-09-14–––114971860001193125-26-390204
2026-09-04PAYXPAYCHEX INCannual2026-10-159:30 a.m. Eastern Timevirtual–www.virtualshareholdermeeting.com/PAYX20262026-08-171internet; telephone; mail; qr_code; at_meeting2026-10-14notice and access2026-09-04–––07235310001193125-26-382805
2026-08-07CGCCanopy Growth Corpannual and special2026-09-251:00 p.m. Toronto timevirtual–www.virtualshareholdermeeting.com/WEED20262026-07-311internet; telephone; mail; at_meeting2026-09-23notice and access2026-08-10–––017379270001104659-26-092759
2026-04-29INSWInternational Seaways, Inc.annual2026-06-082:00 p.m. Eastern timehybridClub 101, Kenilworth Room, 101 Park Avenue, New York, New Yorkwww.virtualshareholdermeeting.com/INSW20262026-04-091internet; telephone; mail; at_meeting–full set2026-04-29–––016790490001140361-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:

https://api.sec-api.io/shareholder-meetings-calendar

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-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 POST requests, use the URL https://api.sec-api.io/shareholder-meetings-calendar?token=YOUR_API_KEY instead 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

JSON
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 }