Open data
The record, as data
Every verified move on the record and every seat on the roster, one row each, with the filing URL and the filing's own words. The files are rebuilt with every publication, from the same verified records the pages show.
456 moves, filed June 1, 2026 to November 6, 2026 · 831 seats, 10-Ks filed September 26, 2025 to October 26, 2026
Downloads
moves.csv
456 verified moves, one row each, for spreadsheets.
moves.json
The same moves with a metadata envelope and the column definitions, for programmatic use.
roster.csv
831 CFO seats from 10-K signature pages, 739 with a named officer.
roster.json
The same seats with a metadata envelope and the column definitions.
disclosures.csv
471 verified Form 8-K Item 4.01 (auditor change) and 4.02 (non-reliance) records, with firms, dates and periods as the filing prints them.
disclosures.json
The same disclosures with a metadata envelope, for programmatic use.
Cite and reuse
Free to use with attribution to CFO Tribune and a link to https://cfotribune.com, under the site's terms. Cite CFO Tribune and link the record: each row carries its own record_url.
CFO Tribune, https://cfotribune.com/data, accessed November 9, 2026
Data dictionary
One line per column, in file order. Empty means the record does not carry the value. Nothing is filled in by inference: what a filing does not establish stays unknown. See the methodology.
| company | Company name as the filing prints it. |
| ticker | Exchange ticker, when the filing or EDGAR gives one. |
| cik | SEC Central Index Key of the filer, 10 digits. |
| event | appointment, departure, interim or transition (one officer succeeding another). |
| person_in | The incoming officer, named in full as the filing prints the name. Empty for a departure. |
| person_out | The departing officer, named in full. Empty when the filing names none. |
| effective | Effective date as printed (YYYY-MM-DD), or documented-unknown when the filing does not state one. |
| datePrecision | Precision of effective: day, week or month. A hedged date ("on or around") is month. |
| filed | Day the filing was made with the SEC (YYYY-MM-DD). |
| internal_promotion | true if the incoming officer already worked at the company, false if hired from outside, unknown if the filing does not establish it. Empty for a departure. |
| filing_language | The filing's own words about the change, verbatim. |
| source_url | The filing on sec.gov. |
| source_kind | Kind of the primary source: filing for a document on sec.gov. |
| record_url | This record on the site, with its sources and any corrections. |
| title | The incoming officer's title as the filing prints it. |
| first_time_cfo | true or false only where the filing establishes it; unknown otherwise. An assistant or deputy CFO role does not count as a CFO seat. Empty for a departure. |
| prior_role | The incoming officer's previous role as the filing states it. Empty when it does not. |
| prior_company | The company of that previous role. |
| announced | Day the company announced the change, when the record carries one. |
| company | Company name as the 10-K prints it. |
| ticker | Exchange ticker. |
| cik | SEC Central Index Key of the filer, 10 digits. |
| sector | The filer's industry as EDGAR describes its SIC code. |
| cfo | The officer who signed the 10-K with a chief financial officer title, or documented-unknown when the signature page does not tie one. |
| title | That officer's title, as conformed on the signature page. |
| as_of | Day the 10-K was filed (YYYY-MM-DD). The seat is established as of this day only; a later move on the moves file supersedes it. |
| since | Day the officer took the seat, only when a filing states it. |
| first_time_cfo | true or false only where a filing establishes it; unknown otherwise. |
| source_url | The 10-K on sec.gov. |
| source_excerpt | The signature line, verbatim. |
| record_url | The company's page on the site. |
Also computed from these records: monthly and weekly reports · Feeds: RSS, moves, analysis