Form 8-K Item 5.02 Structured Data API
The Form 8-K Item 5.02 Structured Data API provides access to a database of changes in directors, officers and compensation plans, extracted from material event disclosures filed under Item 5.02 of Form 8-K: "Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers". Item 5.02 in Form 8-K filings discloses details regarding the appointment or departure of officers and directors, as well as material changes in their compensation arrangements. The database encompasses structured data from all 8-K filings that disclose Item 5.02, spanning from the present back to 2004, when Item 5.02 was first introduced, with over 250,000 change-of-personnel notices to date.
The data is extracted from the text section disclosed under Item 5.02 and is provided in a structured JSON format with key/value properties. The extracted information include:
- Key components of the disclosure, including details about personnel changes such as appointments, departures, nominations, and amendments
- Identification of the individuals involved, including name, age, prior and continued roles, and affiliations with other organizations
- Effective dates of changes, outlining when appointments or departures take effect
- Reasons for changes, including disclosed causes such as retirement, resignation, termination, or amendments to existing agreements, as well as the existence of any disagreements
- Details on compensation adjustments, including one-time payments, salary changes, equity awards, and stock vesting schedules
- Statements regarding continued consulting roles or advisory positions following departures
- Amendments to employment agreements, covering term extensions, reductions, or modifications to compensation structures
- Specifics of disclosed organizational changes, such as board restructuring, unit expansions, or dissolutions
- Information on disclosed bonus and incentive plans, including eligibility, conditions, and compensation details
- Additional reportable events under regulatory requirements, including unexpected circumstances affecting executive roles
- References to attachments and exhibits, such as press releases or official corporate filings
API Endpoint
Search and retrieve structured details about directors, officers, and compensation plan changes from Form 8-K filings 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 utilize 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/form-8k, 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/form-8k?token=YOUR_API_KEYinstead of the base endpoint.
Request Parameters
You can retrieve structured data extracted from Item 5.02 in Form 8-K filings 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 formatfield:valuedefining 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, setfromto 50 to skip the first 50 results. Default: 0. Maximum: 10,000, which is also the cap for the maximum number of results returned perquery. To retrieve all results in your search universe, incrementfromby the value of thesizeparameter (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 yourquerylocates 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 afiledAtdate range filter, e.g.,filedAt:[2023-01-01 TO 2023-01-31](all filings from January 2023), then paginate through the results by incrementingfrom, 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. The default sorting order is descending by thefiledAtdate, most recent filings first. The sorting order can be changed to ascending by settingordertoasc. The default sorting order can be overridden by specifying a different sorting field.
Request Examples
Find all change-of-personnel notices under Item 5.02 in Form 8-K filings disclosed in 2022, with the result sorted by the filing date, starting with the most recent filings. Increment the from parameter by 50 on each subsequent request to paginate through the results.
Retrieve a history of directors, officers and compensation plan changes for a specific company using its trading symbol (ticker). In this example, the API returns structured data of the 50 most recent Item 5.02 disclosures for the company with the ticker symbol "DXR".
Find structured data from Item 5.02 disclosures that indicate an appointment of a new officer, where the date of disclosure is between January 1st and December 31st, 2022, with the result sorted by the filing date, starting with the most recent filings.
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 representing the extracted data from a Item 5.02 disclosure with the following structure:
id(string) - System-internal unique identifier of the item.accessionNo(string) - Unique accession number of the Form 8-K filing, e.g.0001607062-24-000205.filedAt(date) - Date and time at which the filing was accepted by SEC EDGAR for processing, e.g.2024-05-15T16:17:15-04:00.periodOfReport(date) - The date of the occurrence of the event. Format:YYYY-MM-DD. For example, a company might dismiss its certifying accountant on May 1, 2024, and disclose the change in a Form 8-K filing on May 2, 2024. In this case, theperiodOfReportwould be2024-05-01.formType(string) - EDGAR form type. Possible values:8-K,8-K/A. For example, a company might file an amended Form 8-K (8-K/A) to provide additional information or clarification regarding a previously disclosed change in its certifying accountant.cik(string) - The Central Index Key (CIK) of the issuer, e.g.1862068. Leading zeros are removed.ticker(string) - The trading symbol of the issuer at the time of filing indexation, e.g.TSLAfor Tesla Inc.companyName(string) - The name of the issuer, e.g.Rubicon Technologies, Inc..items(array of strings) - List of items disclosed in the Form 8-K filing, e.g.["Item 4.01: ...", "Item 5.02: ...", "Item 9.01: ..."]. An 8-K filing may contain multiple items, each representing a different event disclosure.item5_02(object) - Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain OfficerskeyComponents(string) - A concise summary of the event disclosed, highlighting key aspects such as departures or appointments and their implications for corporate leadership.personnelChanges(array of object) - List of personnel changes disclosed in the filing.type(string) - Type of personnel change. Possible values:appointment,nomination,refusal,departure,amendment,bonus. Example:appointment.departureType(string) - Type of departure, if applicable. Possible values:resignation,retirement,termination,other. Example:resignation.effectiveDate(string) - The date when the change is effective. Example:2025-01-01.positions(array of string) - List of affected positions. Example:CEO,CFO.reason(string) - Reason for the change, if disclosed. Example:retirement.person(object) - Details of the person affected by the change.name(string) - Full name of the person. Example:John Doe.age(integer) - Age of the person, if disclosed. Example:55.continuedPositions(array of string) - Positions or roles the individual already holds or retains in the company. Example:Board Member.positionsAtOtherCompanies(array of string) - Current roles the individual holds at other organizations, if disclosed. Example:Board Member at XYZ Corp..academicAffiliations(array of string) - Academic affiliations the individual holds. Example:Professor at ABC University.background(string) - A summary of the individual's professional experience, qualifications, and expertise relevant to their new role. Example:20 years of experience in finance..previousPositions(array of string) - Roles the individual previously held, either within or outside the company, providing context for their appointment. Example:VP of Operations at XYZ Corp..familyRelationships(string) - Description of any family relationship between the person and any of the other officers or directors of the company, if applicable and explicitly disclosed. Example:The new CEO is the brother of the CFO..
compensation(object) - Details of compensation in case of appointment or amendment reflecting the new values, if applicable and explicitly stated in the text.onetime(string) - One-time payment in USD, if applicable. Example:50,000.annual(string) - Annual compensation in USD, if applicable. Example:200,000.equity(string) - Equity compensation details, if applicable. Example:5,000 stock options.equityVesting(string) - Equity vesting details, if applicable and explicitly stated in the text. Example:Vesting over 4 years.noCompensation(boolean) - Whether there is no compensation, if applicable and explicitly stated in the text. Example:false.
restitution(string) - Details of any restitution, if applicable and explicitly stated in the text. Example:Return of unvested stock options..continuedConsultingRole(boolean) - Whether the individual continues in a consulting role, if applicable and explicitly stated in the text. Example:true.consultingEndDate(string) - End date of the consulting role, if applicable. Example:2025-12-31.amendmentSummary(string) - Key components of the amendment, if applicable. Example:The employment agreement was amended, detailing compensation, termination conditions, and stock vesting terms..termExtended(boolean) - Whether the term was extended, if applicable. Example:false.termShortened(boolean) - Whether the term was shortened, if applicable. Example:false.oldTermEndDate(string) - Previous term end date (format YYYY-MM-DD), if applicable and explicitly stated in the text. Example:2024-12-31.termEndDate(string) - End date of the new term (format YYYY-MM-DD), if applicable and explicitly stated in the text. Example:2025-12-31.compensationIncreased(boolean) - Whether the compensation was increased, if applicable. Example:false.compensationDecreased(boolean) - Whether the compensation was decreased, if applicable. Example:false.disagreements(boolean) - Whether there were disagreements leading to or connected to the change, if applicable and explicitly stated in the text. Example:false.interim(boolean) - Whether the affected role is or was interim. Example:true.
bonusPlans(array of object) - Details of bonus plans disclosed in the filing.specificRoles(boolean) - Whether the bonus plan is for specific roles in general and not for specific individuals occupying the roles. Example:true.eligibleRoles(array of string) - List of roles eligible for the bonus plan. Example:CEO,CFO.generalEmployee(boolean) - Whether the bonus plan is for general employees. Example:false.specificIndividuals(boolean) - Whether the bonus plan is for specific individuals. Example:true.eligibleIndividuals(array of string) - List of specific individuals eligible for the bonus plan, if applicable. Example:John Doe,Alice Johnson.compensation(object) - Details of compensation included in the bonus plan.cash(string) - Cash bonus details. Example:$50,000.equity(string) - Equity bonus details. Example:10,000 stock options.equityDetails(string) - Details of equity bonus. Example:Vesting over 4 years.
conditional(boolean) - Whether the bonus is conditional. Example:true.conditions(string) - Conditions for receiving the bonus. Example:Achievement of performance targets.
organizationChanges(object) - Details of organizational changes disclosed in the filing.organ(string) - Affected organizational unit. Example:Board of Directors.details(string) - Details of the organizational change. Example:Expansion of the board.sizeIncrease(boolean) - Whether the size of the unit increased. Example:true.sizeDecrease(boolean) - Whether the size of the unit decreased. Example:false.created(boolean) - Whether the unit was created. Example:false.abolished(boolean) - Whether the unit was abolished. Example:false.affectedPersonnel(array of string) - List of affected persons. Example:John Doe,Alice Johnson,Marcus Lee.
additionalReportableEvents(array of strings) - Additional reportable events disclosed as required by Section 404 (a), (b), or (c) if explicitly stated in the text as changes to executive roles, compensatory agreements, or unforeseen circumstances affecting key personnel if not referring to departures, appointments, incentive plans or bonuses.attachments(array of string) - Name of any relevant documents or sources that are mentioned in the text. Example:Form 8-K,Company Press Release.
Response Example
1
{
2
"total": {
3
"value": 3281,
4
"relation": "eq"
5
},
6
"data": [
7
{
8
"id": "4d6acbd348792993d922357da92a9971",
9
"accessionNo": "0001000623-17-000047",
10
"formType": "8-K",
11
"filedAt": "2017-03-30T08:16:55-04:00",
12
"periodOfReport": "2017-03-30",
13
"cik": "1000623",
14
"ticker": "MATV",
15
"companyName": "SCHWEITZER MAUDUIT INTERNATIONAL INC",
16
"items": [
17
"Item 5.02: Departure of Directors or Certain Officers; Election of Directors; Appointment of Certain Officers: Compensatory Arrangements of Certain Officers",
18
"Item 9.01: Financial Statements and Exhibits"
19
],
20
"item5_02": {
21
"keyComponents": "Appointment of Jeffrey Kramer as the new Chief Executive Officer of Schweitzer-Mauduit International, Inc. and transition of Frédéric Villoutreix from his position as CEO to a consulting role.",
22
"personnelChanges": [
23
{
24
"type": "appointment",
25
"effectiveDate": "2017-04-21",
26
"positions": [
27
"Chief Executive Officer",
28
"Board Member"
29
],
30
"person": {
31
"name": "Jeffrey Kramer",
32
"age": 57,
33
"positionsAtOtherCompanies": [
34
"Vice President, Lubricants of Brenntag AG"
35
],
36
"previousPositions": [
37
"President and Chief Executive Officer of J.A.M. Distributing Company",
38
"Vice President and Chief Technology Officer at Air Products and Chemicals, Inc.",
39
"Vice President and General Manager, Packaged Gases at Air Products and Chemicals, Inc."
40
]
41
},
42
"compensation": {
43
"annual": "650,000",
44
"onetime": "290,000",
45
"equity": "4,500 shares of restricted stock",
46
"equityVesting": "2,250 shares vest on the one-year anniversary and 2,250 shares vest on the four-year anniversary of the Start Date"
47
}
48
},
49
{
50
"type": "departure",
51
"departureType": "resignation",
52
"effectiveDate": "2017-05-05",
53
"positions": [
54
"Chief Executive Officer",
55
"Board Member"
56
],
57
"person": {
58
"name": "Frédéric Villoutreix"
59
},
60
"continuedConsultingRole": true,
61
"consultingEndDate": "2018-02-28"
62
}
63
],
64
"bonusPlans": [
65
{
66
"specificIndividuals": true,
67
"eligibleIndividuals": [
68
"Jeffrey Kramer"
69
],
70
"compensation": {
71
"cash": "AIP payout opportunity equal to 100% of base salary at target level, maximum 200%",
72
"equity": "LTIP opportunity equal to 200% of base salary at target level, maximum 400%"
73
},
74
"conditional": true,
75
"conditions": "Achievement of performance targets"
76
}
77
],
78
"attachments": [
79
"Exhibit 10.1",
80
"Exhibit 10.2",
81
"Exhibit 10.3",
82
"Exhibit 99.1"
83
]
84
}
85
}
86
]
87
}
FAQ
Common questions about querying the Form 8-K Item 5.02 Structured Data API, the response shape, and the bulk archives.
How do I pull the full history of executive and director changes for a specific company using its ticker symbol?
Use the /form-8k endpoint, which serves structured Item 5.02 data on changes in directors, officers and compensation plans. To pull a company's leadership-change history, filter on the issuer's trading symbol at the time of indexation (ticker) and require that the Item 5.02 object is present (item5_02). For example, to retrieve disclosures for the company trading under DXR, ask for filings where ticker is DXR and item5_02 exists.
Results are returned newest-first by filing date (filedAt) unless you change the sort order. Each matching item carries the company name (companyName), the CIK (cik), and the structured personnel changes inside item5_02.personnelChanges. To walk the full history, page through results by advancing the from offset by the size value until no more results come back.
How can I look up leadership-change disclosures for a company when I only have its CIK number?
Use the /form-8k endpoint and filter on the issuer's Central Index Key (cik). The CIK is stored with leading zeros removed, so a company filed under 0000320187 is matched by the value 320187. Combine the CIK filter with a requirement that the Item 5.02 object exists (item5_02) so you only get filings that actually disclosed a director, officer, or compensation-plan change.
The CIK identifies the issuer unambiguously even when a company changes its ticker over time, so this is the most stable way to retrieve a single company's leadership-change history. Each result includes the company name (companyName) and the structured changes inside item5_02.
How do I retrieve a particular leadership-change disclosure when I already know its filing's accession number?
Use the /form-8k endpoint and filter on the filing's accession number (accessionNo), which uniquely identifies a single Form 8-K filing on SEC EDGAR, for example 0001000623-17-000047. Because the accession number is unique, this returns at most one item.
The matching item contains the full structured Item 5.02 data under item5_02, including the personnel changes (item5_02.personnelChanges), any bonus plans (item5_02.bonusPlans), organizational changes (item5_02.organizationChanges), and the filing metadata such as filedAt, periodOfReport, cik, and ticker.
How do I get all director and officer change announcements filed within a specific date range?
Use the /form-8k endpoint and filter on the date the filing was accepted by SEC EDGAR (filedAt). For a calendar-year window such as 2022, the value of filedAt should fall between 2022-01-01 and 2022-12-31. Combine this with a requirement that the Item 5.02 object exists (item5_02) so the results are limited to filings that disclosed a director, officer, or compensation-plan change.
Results are sorted newest-first by filedAt by default. If the date range matches more than the 10,000-result cap, narrow the window to shorter periods such as individual months and iterate over them. Within each window, page through results by advancing the from offset by the size value.
How do I find leadership-change disclosures based on the date the event actually occurred rather than the date it was reported?
Use the /form-8k endpoint and filter on the date the disclosed event occurred (periodOfReport) instead of the filing-acceptance date (filedAt). The periodOfReport field holds the date of the occurrence of the event in YYYY-MM-DD format. For example, a director may resign on one day and the company may file the Form 8-K a day or two later; the resignation date is reflected in periodOfReport while the submission date is in filedAt.
To find events that took place within a window, the value of periodOfReport should fall between your start and end dates. The effective date of an individual change is also available at a finer grain inside each personnel change (item5_02.personnelChanges.effectiveDate), which may differ from the overall period of report.
How do I find filings that announce the appointment of a new executive or director?
Use the /form-8k endpoint and filter on the type of each personnel change (item5_02.personnelChanges.type), which should be appointment to identify the appointment or election of a new officer or director. The type field is an enum with possible values appointment, nomination, refusal, departure, amendment, and bonus.
Each matching personnel change carries the appointed individual under item5_02.personnelChanges.person, the affected roles (item5_02.personnelChanges.positions), and the date the appointment takes effect (item5_02.personnelChanges.effectiveDate). Combine the type filter with a filedAt or periodOfReport date range to scope appointments to a particular period.
How do I find announcements of an executive or director leaving a company?
Use the /form-8k endpoint and filter on the type of each personnel change (item5_02.personnelChanges.type), which should be departure to identify an officer or director leaving the company. A departure entry records the person leaving under item5_02.personnelChanges.person, the roles they vacated (item5_02.personnelChanges.positions), and when the departure takes effect (item5_02.personnelChanges.effectiveDate).
For the nature of the exit, look at the departure type (item5_02.personnelChanges.departureType) and any disclosed reason (item5_02.personnelChanges.reason). Combine the type filter with a filedAt or periodOfReport date range to scope departures to a particular period.
How can I distinguish whether an executive's exit was a retirement, a resignation, or a termination?
Use the /form-8k endpoint and filter on the departure type of each personnel change (item5_02.personnelChanges.departureType). This field is an enum with possible values resignation, retirement, termination, and other, set on entries where the change type (item5_02.personnelChanges.type) is departure. To find retirements, the value of departureType should be retirement; for voluntary resignations it should be resignation; for involuntary exits it should be termination; and other covers exits that do not fit those categories.
The disclosed cause is often elaborated in plain text in the reason field (item5_02.personnelChanges.reason), for example an age limit in corporate governance guidelines, which provides additional context beyond the enum value.
How do I search for changes to existing employment agreements such as contract or pay modifications?
Use the /form-8k endpoint and filter on the type of each personnel change (item5_02.personnelChanges.type), which should be amendment to identify modifications to an existing employment or compensation agreement. An amendment entry includes a plain-text summary of what changed (item5_02.personnelChanges.amendmentSummary) and the affected individual (item5_02.personnelChanges.person).
Contract-term changes are flagged by whether the term was extended (item5_02.personnelChanges.termExtended) or shortened (item5_02.personnelChanges.termShortened), with the prior and new term end dates in item5_02.personnelChanges.oldTermEndDate and item5_02.personnelChanges.termEndDate. Pay modifications are captured by the increase and decrease flags (item5_02.personnelChanges.compensationIncreased, item5_02.personnelChanges.compensationDecreased) and the updated compensation values under item5_02.personnelChanges.compensation.
How do I find filings where someone was nominated for a board seat rather than already appointed?
Use the /form-8k endpoint and filter on the type of each personnel change (item5_02.personnelChanges.type), which should be nomination to identify cases where an individual was nominated for a position rather than already appointed. The type enum distinguishes nomination from appointment, so filtering on nomination excludes changes that have already taken effect.
Each nomination entry carries the nominated individual under item5_02.personnelChanges.person and the position being sought in item5_02.personnelChanges.positions.
How can I find all leadership changes that affected the CEO role specifically?
Use the /form-8k endpoint and filter on the affected positions of each personnel change (item5_02.personnelChanges.positions), which is an array of role names. To find changes affecting the chief executive role, the value of positions should contain a CEO descriptor such as CEO or Chief Executive Officer. Because companies phrase titles differently, it helps to allow for both spellings of the role.
Each matching entry indicates whether the change was an arrival or departure through the change type (item5_02.personnelChanges.type) and identifies the individual under item5_02.personnelChanges.person. The same positions array is also used to detect CEO entries within the bonus-plan eligibility list (item5_02.bonusPlans.eligibleRoles).
How do I find appointments or departures involving a named individual?
Use the /form-8k endpoint and filter on the name of the person affected by a change (item5_02.personnelChanges.person.name). The value should be the full name of the individual as disclosed, for example Jeffrey Kramer. This matches any filing where that person appears in an appointment, departure, nomination, or amendment entry.
Each matching personnel change indicates the nature of the event through the change type (item5_02.personnelChanges.type) and the affected roles (item5_02.personnelChanges.positions). Because the same name can appear at multiple companies, you can narrow the search by combining the name filter with a company identifier such as cik or ticker.
How do I identify cases where a departing executive stays on in a consulting or advisory capacity?
Use the /form-8k endpoint and filter on the consulting-role flag of each personnel change (item5_02.personnelChanges.continuedConsultingRole), which should be true to identify a departing officer or director who continues with the company in a consulting or advisory capacity. This flag is set on departure entries where the disclosure explicitly states a continued advisory arrangement.
The end date of that arrangement, when disclosed, is in item5_02.personnelChanges.consultingEndDate. Combine the consulting flag with a change type (item5_02.personnelChanges.type) of departure to limit results to genuine exits that transition into an advisory role.
How can I find leadership departures that involved a disclosed disagreement with the company?
Use the /form-8k endpoint and filter on the disagreements flag of each personnel change (item5_02.personnelChanges.disagreements), which should be true to identify a departure connected to a disclosed disagreement with the company. This boolean is set only when the filing text explicitly states that a disagreement led to or accompanied the change.
Combine the flag with a change type (item5_02.personnelChanges.type) of departure to focus on contested exits. The disclosed cause of the departure is often described further in the reason field (item5_02.personnelChanges.reason).
How do I find appointments of interim or acting officers?
Use the /form-8k endpoint and filter on the interim flag of each personnel change (item5_02.personnelChanges.interim), which should be true to identify a role held on an interim or acting basis. This flag is set when the disclosure describes the appointment as temporary, such as an interim chief financial officer.
Combine the interim flag with a change type (item5_02.personnelChanges.type) of appointment to focus on interim appointments, and read the affected roles in item5_02.personnelChanges.positions to see which office is being filled on a temporary basis.
How do I find executive appointments that came with a one-time signing bonus or upfront cash payment?
Use the /form-8k endpoint and filter on the one-time payment field inside a personnel change's compensation object (item5_02.personnelChanges.compensation.onetime), which holds a one-time payment amount in USD such as 290,000. Requiring that this field is present identifies appointments or amendments that disclosed an upfront cash payment.
Combine the filter with a change type (item5_02.personnelChanges.type) of appointment to focus on new hires. The recurring pay for the same role is recorded separately in the annual compensation field (item5_02.personnelChanges.compensation.annual).
How can I search for appointments where the new hire received equity awards like stock options or restricted stock?
Use the /form-8k endpoint and filter on the equity field inside a personnel change's compensation object (item5_02.personnelChanges.compensation.equity), which holds equity compensation details such as 4,500 shares of restricted stock or 500,000 shares of Common Stock. Requiring this field to be present identifies appointments or amendments that included an equity award.
The vesting terms of that award, when disclosed, are in item5_02.personnelChanges.compensation.equityVesting, for example a description of shares vesting over several anniversaries of the start date. Combine the equity filter with a change type (item5_02.personnelChanges.type) of appointment to focus on equity granted to new hires.
How do I find cases where an executive's compensation was increased or decreased as part of an agreement change?
Use the /form-8k endpoint and filter on the compensation-change flags of each personnel change (item5_02.personnelChanges.compensationIncreased and item5_02.personnelChanges.compensationDecreased). To find pay raises, the value of compensationIncreased should be true; to find pay reductions, the value of compensationDecreased should be true.
These flags are typically set on entries where the change type (item5_02.personnelChanges.type) is amendment, alongside a plain-text summary of what changed (item5_02.personnelChanges.amendmentSummary) and the updated figures under item5_02.personnelChanges.compensation, such as the new annual amount in item5_02.personnelChanges.compensation.annual.
How do I find filings that disclose a new bonus or incentive plan and who is eligible for it?
Use the /form-8k endpoint and require that the bonus-plans array is present (item5_02.bonusPlans), which holds the structured details of bonus and incentive plans disclosed in the filing. Each entry describes who is eligible: when the plan applies to particular roles in general, the eligible roles are listed in item5_02.bonusPlans.eligibleRoles and the role flag item5_02.bonusPlans.specificRoles is set; when it applies to named people, those names are in item5_02.bonusPlans.eligibleIndividuals and the individual flag item5_02.bonusPlans.specificIndividuals is set. A plan open to general employees is marked by item5_02.bonusPlans.generalEmployee.
The compensation offered by the plan is under item5_02.bonusPlans.compensation, including any cash component (item5_02.bonusPlans.compensation.cash) and equity component (item5_02.bonusPlans.compensation.equity).
How can I find bonus plans that are conditional on hitting performance targets?
Use the /form-8k endpoint and filter on the conditional flag of each bonus plan (item5_02.bonusPlans.conditional), which should be true to identify a bonus that depends on meeting stated requirements. The specific requirements are described in plain text in the conditions field (item5_02.bonusPlans.conditions), for example the achievement of performance targets.
The compensation tied to meeting those conditions is under item5_02.bonusPlans.compensation, and the eligible recipients are in item5_02.bonusPlans.eligibleRoles or item5_02.bonusPlans.eligibleIndividuals.
How do I find filings that report a change in the size of the board of directors?
Use the /form-8k endpoint and filter on the size-change flags inside the organization-changes object (item5_02.organizationChanges.sizeIncrease and item5_02.organizationChanges.sizeDecrease). To find board expansions, the value of sizeIncrease should be true; to find board reductions, the value of sizeDecrease should be true.
The affected unit is named in item5_02.organizationChanges.organ, such as Board of Directors, and a plain-text description of the change is in item5_02.organizationChanges.details, for example a decrease in the number of board members from seven to six. To restrict results to the board specifically, the value of organ should reference the board of directors.
How can I find disclosures where a board, committee, or organizational unit was newly created or dissolved?
Use the /form-8k endpoint and filter on the creation and dissolution flags inside the organization-changes object (item5_02.organizationChanges.created and item5_02.organizationChanges.abolished). To find newly formed units, the value of created should be true; to find dissolved units, the value of abolished should be true.
The unit affected is identified in item5_02.organizationChanges.organ, for example a board or committee, with a plain-text description in item5_02.organizationChanges.details and any affected people listed in item5_02.organizationChanges.affectedPersonnel.
How do I find new appointments that disclose the person's age and professional background?
Use the /form-8k endpoint and look at the person object inside each personnel change, where the appointee's age is in item5_02.personnelChanges.person.age and a summary of their professional experience and qualifications is in item5_02.personnelChanges.person.background. To find appointments that disclosed these details, require that those fields are present and filter the change type (item5_02.personnelChanges.type) to appointment.
The individual's prior roles are listed in item5_02.personnelChanges.person.previousPositions, providing additional context for the appointment alongside the affected positions in item5_02.personnelChanges.positions.
How can I find leadership changes that involve a family relationship between the person and another officer or director?
Use the /form-8k endpoint and filter on the family-relationships field inside a personnel change's person object (item5_02.personnelChanges.person.familyRelationships). This field holds a plain-text description of any disclosed family relationship between the affected individual and another officer or director of the company, for example a statement that a new CEO is the brother of the CFO. Requiring that this field is present identifies the filings that disclosed such a relationship.
The individual involved is identified by name in item5_02.personnelChanges.person.name, and the nature of the change is given by the type (item5_02.personnelChanges.type).
How do I find appointees who currently hold roles at other companies or have academic affiliations?
Use the /form-8k endpoint and look at the person object inside each personnel change, where current roles at other organizations are listed in item5_02.personnelChanges.person.positionsAtOtherCompanies and academic affiliations are listed in item5_02.personnelChanges.person.academicAffiliations. To find appointees with outside roles, require that positionsAtOtherCompanies is present; to find those with academic ties, require that academicAffiliations is present.
Combine these with a change type (item5_02.personnelChanges.type) of appointment to focus on new hires. These fields hold descriptive text such as a directorship at another corporation or a professorship at a university.
How do I find amended versions of these leadership-change filings?
Use the /form-8k endpoint and filter on the EDGAR form type (formType), which should be 8-K/A to identify an amended Form 8-K. The formType field has two possible values: 8-K for the original filing and 8-K/A for an amendment that provides additional information or clarification regarding a previously disclosed change.
Filtering formType to 8-K/A returns only the amended filings. Combine this with a company identifier such as cik or ticker, or with a filedAt date range, to scope the amendments to a particular company or period.
How can I find leadership-change filings that also reported quarterly earnings results in the same document?
Use the /form-8k endpoint and filter on the list of items disclosed in the filing (items), which is an array of the item headings present in the Form 8-K. To find filings that combine a leadership change with earnings, the value of items should contain both an Item 5.02 heading (departure or appointment of directors and officers) and an Item 2.02 heading (Results of Operations and Financial Condition).
A single Form 8-K can disclose multiple events, so requiring both items in the same items array identifies documents where the company announced a personnel change alongside its quarterly results. The structured personnel data for those filings is still available under item5_02.
How do I retrieve more than 50 leadership-change disclosures for a broad search?
Use the /form-8k endpoint with pagination. A single response returns at most 50 items, controlled by the size parameter, so to gather more you advance the from offset by the page size on each subsequent request, using 0, 50, 100, and so on, until no further results come back. The from offset can reach up to 10,000, which is also the maximum number of results retrievable for any one query.
If a broad search matches more than 10,000 results, narrow it with a filedAt date-range filter, for example iterating one month at a time, and paginate through each month separately. You can check the total match count for a query in the response field total.value to decide whether the result set needs to be split.
How can I identify which press releases or exhibits were attached to a leadership-change announcement?
Use the /form-8k endpoint and look at the attachments array inside the Item 5.02 object (item5_02.attachments). This field lists the names of documents or sources mentioned in the disclosure text, such as Company Press Release, Separation Agreement, or numbered exhibits like Exhibit 99.1 and Exhibit 10.1.
You can filter on this field to find filings that referenced a particular kind of attachment, for example requiring that item5_02.attachments contains a press release. The array is descriptive of what the disclosure cited rather than a set of downloadable links.
How do I count the total number of executive-departure announcements across all companies in a given year?
Use the /form-8k endpoint and read the total match count from the response field total.value, which reports the total number of results matching the query regardless of how many items are returned in the current page. To count departures across all companies for a year, query for personnel changes whose type (item5_02.personnelChanges.type) is departure with the filing date (filedAt) falling between January 1 and December 31 of that year.
You do not need to page through every result to get the count: a single request returns total.value for the whole query. Keep in mind that one filing can contain multiple departure entries, so total.value counts matching filings rather than individual people.