# Voting Records - Form N-PX API Reference | SEC API > Complete API reference for the SEC EDGAR Form N-PX Voting Records API. The accession number path parameter and every response attribute of the filing and its proxy voting records, with types, constraints and a live example response. Source: https://sec-api.io/api-reference/form-npx-voting-records Investment companies GET`https://api.sec-api.io/form-npx/{accessionNo}` Download the proxy voting records of one Form N-PX filing by its accession number. The response holds the cover page, the header data and the proxyVotingRecords array, which lists every vote the fund or institutional manager cast. Records can exceed 200 MB and 420,000 rows, which is why they are served separately from the Form N-PX Search API. [Read the guide for this API →](https://sec-api.io/docs/form-npx-proxy-voting-records-api) ## Authentication Send the API key either as a header or as a query parameter. The header is preferred; the query parameter exists for cases where a header cannot be set, such as opening a URL directly in a browser. Authorization: required header The API key on its own. Do not prefix it with Bearer or any other word. Example `Authorization: YOUR_API_KEY` token: optional query parameter The API key, appended to the URL. Use this only when a header is not possible. ## Path parameters Supplied as part of the URL. accessionNo: required string Accession number of the N-PX filing. Both the dashed form 0001021408-25-003152 and the 18-digit form 000102140825003152 are accepted. Any other form is rejected with 400. Example `0001021408-25-003152` ## Response A JSON object. Nested attributes are collapsed; expand one to see its fields. id: string System-internal unique identifier of the filing record. accessionNo: string Accession number of the Form N-PX filing, for example 0001021408-25-003152. formType: string Form type of the filing. Either N-PX, the annual report of proxy voting record, or N-PX/A, an amendment to a previously filed Form N-PX. filedAt: string Timestamp EDGAR accepted the filing, ISO 8601 in Eastern Time, for example 2025-08-25T14:01:44-04:00. periodOfReport: string Reporting period covered by the submission, normally the 12 months ending on 30 June of the filing year. Format YYYY-MM-DD, for example 2025-06-30. cik: string Central Index Key of the reporting entity, leading zeros removed. ticker: optional string Stock ticker of the filer at the time of filing, when the filer is a publicly traded company. An empty string otherwise. companyName: string Name of the filer of this proxy voting record. proxyVotingRecordsAttached: boolean True when the filing includes proxy voting records. headerData: object EDGAR submission header of the filing. submissionType: string Type of submission. Either N-PX or N-PX/A. filerInfo: object Identification of the filer as sent to EDGAR. registrantType: string Classification of the filer. Either RMIC for a registered management investment company, or IM for an institutional manager. filer: object Credentials and file number of the filer. issuerCredentials: object EDGAR credentials of the filer. cik: string Central Index Key of the filer, leading zeros kept. fileNumber: optional string SEC-assigned file number associated with this filing. flags: object Flags indicating specific processing instructions for the submission. overrideInternetFlag: boolean True when the filer chose to override the default internet submission rules. This is used where manual or alternative submission processing is needed. confirmingCopyFlag: boolean True when this submission is a confirming copy, meaning an additional copy of a filing already submitted. investmentCompanyType: optional string SEC registration form of the investment company, which sets its structure and regulatory framework. Values are N-1A for an open-end mutual fund, N-2 for a closed-end fund, N-3, N-4 and N-6 for variable annuities or insurance-related funds, and S-1, S-3 or S-6 for statutory investment companies. periodOfReport: string Reporting period as reported in the header. The original date string from the XML file, normally MM/DD/YYYY, for example 06/30/2025. seriesClass: optional object Series and class identifiers the filing reports on. Absent when the filer is an institutional manager. reportSeriesClass: object Series covered by the report. rptIncludeAllSeriesFlag: boolean True when the filing covers all series of the investment company, in which case individual series details may not be reported. rptSeriesClassInfo: array of object The specific series and their class details included in the report. Maximum length 1000. seriesId: string Unique identifier of the investment series within the fund. includeAllClassesFlag: boolean True when all classes of the series are included, in which case individual class details may not be reported. classInfo: array of object The classes reported under the series. classId: string Unique identifier of the class within the series. reportClass: array of object Details of individual classes reported in the filing, independent of the series structure. rptIncludeAllClassesFlag: boolean True when the filing covers all classes of the fund, in which case individual class details may not be reported. classInfo: array of object The individual classes included in the report. classId: string Unique identifier of the reported class. formData: object The cover page, summary page, series page and signature page of the filing. coverPage: object Cover page of the Form N-PX filing. yearOrQuarter: string Whether the report covers a full year or a single quarter. Either YEAR or QUARTER. reportCalendarYear: string Calendar year the report covers. reportQuarterYear: optional string The quarter being reported, where applicable. amendmentInfo: optional object Details of the amendment, on N-PX/A filings. isAmendment: boolean True when the filing amends a previously filed report. amendmentNo: integer Number assigned to this amendment. amendmentType: string Type of amendment. Either RESTATEMENT or NEW PROXY. confDeniedExpired: boolean True when a request for confidential treatment of proxy voting information was denied, or when confidentiality already granted has expired. The information is then publicly accessible. dateExpiredDenied: string Date the request for confidential treatment was denied or expired. The original date string from the XML file, normally MM/DD/YYYY. dateReported: string Date the proxy voting information was reported in the filing, which is when the data became part of the public record. The original date string from the XML file, normally MM/DD/YYYY. reasonForNonConfidentiality: string Why confidentiality was not granted, or why the information is no longer confidential. Either Denied or Confidential Treatment Expired. reportingPerson: object The entity responsible for the filing. name: string Name of the entity responsible for this filing. phoneNumber: string Phone number of the reporting entity. address: object Address of the reporting entity. street1: string Street address line 1. street2: optional string Street address line 2. city: string City of the reporting entity. stateOrCountry: string US state or country of the reporting entity. This field supersedes the fields state and country from previous versions of form N-PX. zipCode: string Postal code of the reporting entity. agentForService: object The designated agent who receives legal and administrative correspondence for the filer. Empty when none is reported. name: string Full name of the agent for service. address: object Mailing address of the agent for service. street1: string Primary street address line. street2: optional string Additional street address information. city: string City where the agent is located. state: optional string State or province where the agent is located. country: optional string Country where the agent is located. stateOrCountry: string US state or country of the agent. This field supersedes the fields state and country from previous versions of form N-PX. zipCode: string Postal or ZIP code of the agent address. reportInfo: object Type of report being filed. reportType: string Type of report. FUND VOTING REPORT is a full proxy voting record filed by an investment company. FUND NOTICE REPORT means no securities were held for voting. INSTITUTIONAL MANAGER VOTING REPORT is a full proxy voting report filed by an institutional manager. INSTITUTIONAL MANAGER NOTICE REPORT means no votes were cast. INSTITUTIONAL MANAGER COMBINATION REPORT is a partial report where some votes are reported elsewhere. noticeExplanation: optional string Why a notice report is filed instead of a full voting record. Either ALL VOTES BY OTHER PERSONS, REPORTING PERSON DID NOT EXERCISE VOTING, or REPORTING PERSON HAS POLICY TO NOT VOTE. confidentialTreatment: boolean True when the SEC granted confidential treatment to part of the filing, in which case certain proxy votes are omitted from public disclosure. fileNumber: string SEC-assigned file number of the registrant or institutional manager, used for identification in regulatory filings. reportingCrdNumber: optional string Central Registration Depository number assigned by FINRA or by the Investment Adviser Registration Depository. reportingSecFileNumber: optional string SEC file number assigned to the reporting entity, such as an investment company or investment adviser. leiNumber: optional string Legal Entity Identifier assigned to the reporting entity by a globally accredited LEI issuer. otherManagersInfo: optional object Other managers whose votes are included in this report. otherManager: array of object The additional managers whose proxy votes are reported. Maximum length 999. icaOr13FFileNumber: string Investment Company Act or Form 13F file number of the manager. crdNumber: string Central Registration Depository number of the manager. otherFileNumber: string Alternative file number assigned by the SEC. leiNumberOM: string Legal Entity Identifier of the manager. managerName: string Name of the other investment manager. explanatoryInformation: object Additional details the filer provided about the submission. explanatoryChoice: boolean True when the filing includes additional explanatory notes. explanatoryNotes: optional string Detailed explanation or comments about the filing. summaryPage: object Summary of included managers and their votes. otherIncludedManagersCount: integer Number of additional managers whose votes are included in the report. otherManagers2: optional object Details of the included investment managers. investmentManagers: array of object The investment managers included in the filing. Maximum length 999. serialNo: integer Sequential number identifying the manager. Referenced by proxyVotingRecords.voteManager.otherManagers.otherManager. form13FFileNumber: string SEC Form 13F file number assigned to the manager. crdNumber: string Central Registration Depository number of the investment manager. secFileNumber: string SEC file number assigned to the manager. leiNumber: string Legal Entity Identifier of the manager. name: string Name of the investment manager. seriesPage: optional object Information about the series of an investment company, including how many series the report covers and the details of each one. seriesCount: integer Total number of investment series reported in this filing. seriesDetails: object Details of each investment series included in the report, such as its identifier, name and Legal Entity Identifier. seriesReports: array of object The series included in the report, each one a distinct investment series within the investment company. Maximum length 999. idOfSeries: string Unique identifier of the series, normally an SEC-assigned number used to track the series within an investment company. nameOfSeries: string Official name of the investment series as registered with the SEC. leiOfSeries: string Legal Entity Identifier assigned to the investment series. signaturePage: object The authorised signatory of the filing, with name, signature, title and date of signing. reportingPerson: string Name of the person or entity responsible for signing the filing on behalf of the reporting entity. txSignature: string Signature of the person authorised to sign the filing on behalf of the reporting entity. txPrintedSignature: string Printed or typed name of the authorised signatory, shown below the signature for verification. txTitle: string Official title or position of the signatory within the reporting entity, for example Chief Compliance Officer. txAsOfDate: string Date the filing was signed. The original date string from the XML file, normally MM/DD/YYYY. secondaryRecords: optional object Additional signature records, present when the filing needs several signatories or secondary authorisations. secondaryRecord: array of object The additional authorised signatories of the filing. txSignature: string Signature of a secondary authorised individual. printedSign: string Printed or typed name of the secondary signatory. txTitle: string Title or role of the secondary signatory within the organisation. txAsOfDate: string Date the secondary signatory signed the filing. The original date string from the XML file, normally MM/DD/YYYY. proxyVotingRecords: array of object The individual proxy votes of the filing, one object per proposal voted on. Maximum length 500,000. This array is the reason to call this endpoint: the Form N-PX Search API returns every other field but not this one. issuerName: string Name of the company or entity that issued the security being voted on. cusip: string CUSIP identifier of the security being voted on. CUSIPs identify financial instruments in North America. isin: optional string International Securities Identification Number of the security. ISINs identify securities globally. figi: optional string Financial Instrument Global Identifier of the security. FIGI is an open and universal identifier for financial instruments. meetingDate: string Date of the shareholder meeting where the proxy vote took place. The original date string from the XML file, normally MM/DD/YYYY. Around 2% of filings use another format, and the API returns the string as filed. voteDescription: string Text description of the proposal being voted on. voteCategories: object Categorisation of the proposal against the predefined SEC vote categories. voteCategory: array of object The categories the vote falls under. Maximum length 14. categoryType: string One category. Values are DIRECTOR ELECTIONS, SECTION 14A SAY-ON-PAY VOTES, AUDIT-RELATED, INVESTMENT COMPANY MATTERS, SHAREHOLDER RIGHTS AND DEFENSES, EXTRAORDINARY TRANSACTIONS, CAPITAL STRUCTURE, COMPENSATION, CORPORATE GOVERNANCE, ENVIRONMENT OR CLIMATE, HUMAN RIGHTS OR HUMAN CAPITAL/WORKFORCE, DIVERSITY, EQUITY, AND INCLUSION, OTHER SOCIAL ISSUES, and OTHER. otherVoteDescription: optional string Additional description of the proposal, used when it does not fall into a predefined category or needs further explanation. voteSource: string Origin of the proposal. ISSUER means the company proposed it, SECURITY HOLDER means shareholders proposed it. sharesVoted: number Total number of shares voted on the proposal. sharesOnLoan: number Number of shares that were on loan and not recalled for voting. vote: object How the votes were cast on the proposal. voteRecord: array of object How the shares were voted for the proposal. Maximum length 999. howVoted: string Direction of the vote. Values are FOR, AGAINST, ABSTAIN, and WITHHOLD, the last used in director elections when votes are withheld. sharesVoted: number Number of shares voted in the way given by howVoted. managementRecommendation: string Recommendation the company management made on the proposal. Values are FOR, AGAINST, and NONE. voteManager: optional object The investment managers responsible for casting the vote. otherManagers: array of object The other managers that took part in the voting decision. Maximum length 25. otherManager: integer Identifier of another investment manager who contributed to the voting decision. Matches formData.summaryPage.otherManagers2.investmentManagers.serialNo. voteSeries: optional string Unique identifier of the series of the fund that cast the vote. voteOtherInfo: optional string Additional explanatory text or remarks about the voting decision. ## Status codes | | | | --- | --- | | `200` | Success. The response is the full filing object, including proxyVotingRecords. | | `400` | The accession number is malformed. It must be either 0001021408-25-003152 or 000102140825003152. | | `403` | The API key is missing, or it is not valid. | | `404` | No voting records file exists for this accession number. | | `429` | Too many requests. Slow the request rate and retry. | | `500` | Server error. Retry, and report it if it persists. | ## Request example GET https://api.sec-api.io/form-npx/{accessionNo} ```bash https://api.sec-api.io/form-npx/0001021408-25-003152 https://api.sec-api.io/form-npx/000102140825003152 https://api.sec-api.io/form-npx/0001021408-25-003152?token=YOUR_API_KEY ``` ```python from sec_api import FormNPXApi formNpxApi = FormNPXApi("YOUR_API_KEY") records = formNpxApi.get_voting_records("0001021408-25-003152") ``` ```javascript import { formNpxApi } from "sec-api"; formNpxApi.setApiKey("YOUR_API_KEY"); const records = await formNpxApi.getVotingRecords("0001021408-25-003152"); ``` ```bash curl -X GET "https://api.sec-api.io/form-npx/0001021408-25-003152" \ -H "Authorization: YOUR_API_KEY" ``` ## Response example 200 OK · application/json ```json { "id": "723cc6d725f186bd4436136332d7fc98", "accessionNo": "0001021408-25-003152", "formType": "N-PX", "filedAt": "2025-08-25T14:01:44-04:00", "periodOfReport": "2025-06-30", "cik": "884546", "ticker": "", "companyName": "CHARLES SCHWAB INVESTMENT MANAGEMENT INC", "proxyVotingRecordsAttached": true, "headerData": { "submissionType": "N-PX", "filerInfo": { "registrantType": "IM", "filer": { "issuerCredentials": { "cik": "0000884546" } }, "flags": { "overrideInternetFlag": false, "confirmingCopyFlag": false }, "periodOfReport": "06/30/2025" } }, "formData": { "coverPage": { "yearOrQuarter": "YEAR", "reportCalendarYear": "2025", "reportingPerson": { "name": "Charles Schwab Investment Management Inc", "phoneNumber": "4156677000", "address": { "street1": "211 Main Street", "city": "San Francisco", "stateOrCountry": "CA", "zipCode": "94105" } }, "agentForService": {}, "reportInfo": { "reportType": "INSTITUTIONAL MANAGER VOTING REPORT", "confidentialTreatment": false }, "fileNumber": "028-03128", "explanatoryInformation": { "explanatoryChoice": false } }, "summaryPage": { "otherIncludedManagersCount": 0 }, "signaturePage": { "reportingPerson": "Charles Schwab Investment Management Inc", "txSignature": "Omar Aguilar", "txPrintedSignature": "Omar Aguilar", "txTitle": "Chief Executive Officer", "txAsOfDate": "08/20/2025" } }, "proxyVotingRecords": [ { "issuerName": "10x Genomics, Inc.", "cusip": "88025U109", "meetingDate": "06/03/2025", "voteDescription": "To approve, on a non-binding, advisory basis, the compensation of our named executive officers.", "voteCategories": { "voteCategory": [ { "categoryType": "SECTION 14A SAY-ON-PAY VOTES" } ] }, "voteSource": "ISSUER", "sharesVoted": 653315, "sharesOnLoan": 0, "vote": { "voteRecord": [ { "howVoted": "AGAINST", "sharesVoted": 653315, "managementRecommendation": "AGAINST" } ] } } ] } ```