Home / Developers / Auditor Change Feed
API reference

Auditor Change Feed

A feed of every 8-K that reports a change of auditor under Item 4.01, with the item text that says who resigned or was dismissed, who was engaged, and whether there were disagreements. Use it to monitor audit firm turnover across the market or for a list of companies. Product overview →

Endpoints

/v1/form-8k/auditor-changes

GEThttps://secfeedapi.com/v1/form-8k/auditor-changes

8-K Item 4.01 feed with the item text.

ParameterTypeDescriptionExample
cikintegerFiler CIK. Ticker is not accepted here; look it up first with /v1/mapping/ticker.1045810
startDatestringEarliest filing date, YYYY-MM-DD, inclusive.2026-09-01
endDatestringLatest filing date, YYYY-MM-DD, inclusive.2026-09-30
fromintegerOffset of the first row to return, for paging. Default 0.20
sizeintegerRows per page. Capped at 100. Default 20.10
textstringtrue adds the text of this item from the filing; false returns metadata only and is faster. Default true.false

/v1/form-8k

GEThttps://secfeedapi.com/v1/form-8k

8-K filings classified by item, with item text on request.

ParameterTypeDescriptionExample
itemstring8-K item number with a dot, for example 1.01, 2.02 or 5.07. Omit to get every 8-K.4.01
cikintegerFiler CIK.1045810
startDatestringEarliest filing date, YYYY-MM-DD.2026-09-01
endDatestringLatest filing date, YYYY-MM-DD.2026-09-30
fromintegerOffset of the first row to return, for paging. Default 0.20
sizeintegerRows per page. Capped at 100. Default 50.25
textstringtrue adds the item's text. Only applies when item is set. Default false.true

Request examples

Every response below is real output from the API, trimmed to the first records.

Latest auditor changes with their text

The two newest Item 4.01 filings. Read text for the outgoing and incoming firm names.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?size=2"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/form-8k/auditor-changes",
    params={'size': '2'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "total": 2967,
  "filings": [
    {
      "accession": "0001213900-26-108552",
      "cik": 1859807,
      "company": "Profusa, Inc.",
      "form": "8-K",
      "filed": "2026-10-09",
      "period": "2026-10-05",
      "items": [
        {
          "item": "4.01",
          "title": "Changes in Registrant's Certifying Accountant"
        },
        {
          "item": "9.01",
          "title": "Financial Statements and Exhibits"
        }
      ],
      "url": "https://www.sec.gov/Archives/edgar/data/1859807/000121390026108552/0001213900-26-108552-index.htm",
      "text": "Item 4.01. Change in Registrant’s Certifying Accountant.\n\n(a) Dismissal of Independent Registered Public Accounting Firm.\n\nOn October 5, 2026, Profusa, Inc. (the “Company)\ndismissed CBIZ CPAs P.C. (“CBIZ”) as its independent registered public accounting firm. The decision to chan..."
    },
    {
      "accession": "0001477932-26-006156",
      "cik": 1035422,
      "company": "CTT PHARMACEUTICAL HOLDINGS, INC.",
      "form": "8-K",
      "filed": "2026-10-09",
      "period": "2026-10-08",
      "items": [
        {
          "item": "4.01",
          "title": "Changes in Registrant's Certifying Accountant"
        },
        {
          "item": "9.01",
          "title": "Financial Statements and Exhibits"
        }
      ],
      "url": "https://www.sec.gov/Archives/edgar/data/1035422/000147793226006156/0001477932-26-006156-index.htm",
      "text": "Item 4.01 Changes in Registrant’s Certifying Accountant. \n\nCTT Pharmaceutical Holdings, Inc. (OTCQB:CTTH) is filing a response from the auditor of our last 8-K. The auditor agrees to what CTT Pharma previously filed."
    }
  ]
}

Auditor changes filed in September 2026, metadata only

A date window with text=false returns quickly; total tells you how many changes were filed that month.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?startDate=2026-09-01&endDate=2026-09-30&text=false&size=5"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/form-8k/auditor-changes",
    params={'startDate': '2026-09-01', 'endDate': '2026-09-30', 'text': 'false', 'size': '5'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "total": 42,
  "filings": [
    {
      "accession": "0001193125-26-409052",
      "cik": 1808898,
      "company": "Benitec Biopharma Inc.",
      "form": "8-K",
      "filed": "2026-09-30",
      "period": "2026-09-29",
      "items": [
        {
          "item": "4.01",
          "title": "Changes in Registrant's Certifying Accountant"
        }
      ],
      "url": "https://www.sec.gov/Archives/edgar/data/1808898/000119312526409052/0001193125-26-409052-index.htm"
    },
    {
      "accession": "0001493152-26-045097",
      "cik": 1973056,
      "company": "Bowen Acquisition Corp",
      "form": "8-K/A",
      "filed": "2026-09-30",
      "period": "2026-08-31",
      "items": [
        {
          "item": "4.01",
          "title": "Changes in Registrant's Certifying Accountant"
        },
        {
          "item": "9.01",
          "title": "Financial Statements and Exhibits"
        }
      ],
      "url": "https://www.sec.gov/Archives/edgar/data/1973056/000149315226045097/0001493152-26-045097-index.htm"
    }
  ]
}

The same filings through the general 8-K endpoint

/v1/form-8k with item=4.01 gives the same rows without text unless you add text=true.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k?item=4.01&startDate=2026-09-01&size=2"
import os, requests

r = requests.get(
    "https://secfeedapi.com/v1/form-8k",
    params={'item': '4.01', 'startDate': '2026-09-01', 'size': '2'},
    headers={"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"},
    timeout=60,
)
r.raise_for_status()
print(r.json())
{
  "total": 58,
  "filings": [
    {
      "accession": "0001213900-26-108552",
      "cik": 1859807,
      "company": "Profusa, Inc.",
      "form": "8-K",
      "filed": "2026-10-09",
      "period": "2026-10-05",
      "items": [
        {
          "item": "4.01",
          "title": "Changes in Registrant's Certifying Accountant"
        },
        {
          "item": "9.01",
          "title": "Financial Statements and Exhibits"
        }
      ],
      "url": "https://www.sec.gov/Archives/edgar/data/1859807/000121390026108552/0001213900-26-108552-index.htm"
    },
    {
      "accession": "0001477932-26-006156",
      "cik": 1035422,
      "company": "CTT PHARMACEUTICAL HOLDINGS, INC.",
      "form": "8-K",
      "filed": "2026-10-09",
      "period": "2026-10-08",
      "items": [
        {
          "item": "4.01",
          "title": "Changes in Registrant's Certifying Accountant"
        },
        {
          "item": "9.01",
          "title": "Financial Statements and Exhibits"
        }
      ],
      "url": "https://www.sec.gov/Archives/edgar/data/1035422/000147793226006156/0001477932-26-006156-index.htm"
    }
  ]
}

Response fields

FieldTypeMeaning
totalintegerNumber of 8-K filings that match, across all pages.
filings[]arrayOne object per 8-K filing, newest first.
filings[].accessionstringEDGAR accession number.
filings[].cikintegerFiler CIK.
filings[].companystringFiler name as it appears in the EDGAR index.
filings[].formstring8-K or 8-K/A.
filings[].filedstringDate EDGAR accepted the filing, YYYY-MM-DD.
filings[].periodstringDate of the earliest event reported, YYYY-MM-DD.
filings[].items[]arrayEvery item the filing reports, not only the one you filtered on.
filings[].items[].itemstringItem number, for example 9.01.
filings[].items[].titlestringOfficial item title.
filings[].urlstringURL of the filing index page on sec.gov.
filings[].textstringText of the requested item, when text=true. null if it could not be extracted.
filings[].textErrorstringPresent only when text extraction failed, with the reason.

8-K items you can filter on

ItemTitle
1.01Entry into a Material Definitive Agreement
1.02Termination of a Material Definitive Agreement
1.03Bankruptcy or Receivership
1.05Material Cybersecurity Incidents
2.01Completion of Acquisition or Disposition of Assets
2.02Results of Operations and Financial Condition
2.03Creation of a Direct Financial Obligation
2.05Costs Associated with Exit or Disposal Activities
2.06Material Impairments
3.01Notice of Delisting or Failure to Satisfy a Listing Rule
3.02Unregistered Sales of Equity Securities
4.01Changes in Registrant's Certifying Accountant
4.02Non-Reliance on Previously Issued Financial Statements
5.02Departure or Appointment of Directors or Officers
5.03Amendments to Articles or Bylaws
5.07Submission of Matters to a Vote of Security Holders
7.01Regulation FD Disclosure
8.01Other Events
9.01Financial Statements and Exhibits

How to

How do I list every auditor change this month without the text?

Set startDate to the first of the month and text=false. Metadata pages return in well under a second.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?startDate=2026-10-01&text=false&size=50"
How do I check one company for auditor changes?

Pass its CIK. Look the CIK up from a ticker with /v1/mapping/ticker first.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?cik=1859807&size=5"
How do I page through a long result?

Use from and size together. from=20&size=20 returns rows 21 to 40.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?text=false&size=20&from=20"
How do I find auditor changes that also report other items, such as a restatement?

Every row carries the full items list. Filter client side for rows whose items include 4.02, or query item=4.02 and compare accession numbers.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/restatements?text=false&size=20"
How do I get the text as part of the general 8-K endpoint?

Add text=true together with item.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k?item=4.01&text=true&size=2"
How do I count auditor changes per month?

Run one metadata query per month and read total; you do not need to download the rows.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?startDate=2026-08-01&endDate=2026-08-31&text=false&size=1"
Why is text null on some rows?

Some filings put Item 4.01 in a layout the extractor cannot split. textError explains why; the filing itself is linked in url.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?size=10"
How do I read the full filing behind a row?

Open url, or pass it to the Download API or the PDF Generator.

curl -H "Authorization: Bearer $SECFEED_KEY" \
  "https://secfeedapi.com/v1/form-8k/auditor-changes?size=1&text=false"

Errors

See also the error codes every endpoint shares.

Try it with your own key

500 free calls a month.

Get free API key →