EDGAR filing trends since 1995
Measure how EDGAR filing volume and the mix of form types changed from 1995 to 2025, with exact counts from the daily ingestion log.
How much does EDGAR publish, and what? /v1/ingestion-log answers the question for one day: the number of index entries filed that day, counted by form type. Summing days gives exact counts for any period. This tutorial compares October of every fifth year from 1995 to 2025.
Why the ingestion log
Search totals from /v1/filings are exact only up to 10,000 matches; above that the API returns {"value": 10000, "relation": "gte"}, so a broad query cannot count a month of EDGAR. The ingestion log counts every entry for a day, with no cap.
One detail to know: counts are index entries. A filing with two filers, such as a Form 4 listed under both the insider and the company, appears once per filer, as it does in EDGAR's own daily and quarterly index files.
The code
import calendar
import os
from collections import Counter
import requests
BASE = "https://secfeedapi.com"
HEADERS = {"Authorization": f"Bearer {os.environ['SECFEED_KEY']}"}
def month(year, m):
"""Sum the daily ingestion log over one calendar month: total index entries and entries per form type."""
total, forms = 0, Counter()
for day in range(1, calendar.monthrange(year, m)[1] + 1):
r = requests.get(f"{BASE}/v1/ingestion-log", params={"date": f"{year}-{m:02d}-{day:02d}"}, headers=HEADERS, timeout=120)
r.raise_for_status()
log = r.json()
total += log["total"]
forms.update(log["byForm"])
return total, forms
years = list(range(1995, 2026, 5))
print("EDGAR index entries filed in October, every fifth year")
print(f"{'Year':6}{'Entries':>9} Top five form types")
results = {}
for y in years:
total, forms = month(y, 10)
results[y] = (total, forms)
top = ", ".join(f"{f} {n:,}" for f, n in forms.most_common(5))
print(f"{y:<6}{total:>9,} {top}")
print("\nShare of the month's entries:")
watch = ["4", "8-K", "10-Q", "424B2", "D", "SC 13G/A"]
print(f"{'Year':6}" + "".join(f"{f:>10}" for f in watch))
for y in years:
total, forms = results[y]
print(f"{y:<6}" + "".join(f"{forms.get(f, 0) / total:>10.1%}" for f in watch))
The script makes one call per calendar day (weekends return zero), so seven months take a few minutes.
Output
Run on 2026-10-13.
EDGAR index entries filed in October, every fifth year
Year Entries Top five form types
1995 8,525 24F-2NT 1,120, 497 949, 8-K 750, 485BPOS 569, 10-Q 448
2000 19,489 8-K 2,753, 4 1,670, 497 1,214, SC 13D/A 836, 10-Q 638
2005 69,271 4 31,485, 8-K 10,187, 3 3,187, 6-K 2,101, REGDEX 1,533
2010 62,898 4 25,557, 8-K 6,440, 3 2,831, 6-K 1,487, D 1,476
2015 63,272 4 23,413, 8-K 6,224, 3 2,476, D 1,964, 497K 1,617
2020 70,198 4 21,714, 8-K 5,698, 424B2 5,543, 3 4,262, D 2,621
2025 87,114 4 19,614, 424B2 16,591, 8-K 5,522, 144 4,038, D 3,477
Share of the month's entries:
Year 4 8-K 10-Q 424B2 D SC 13G/A
1995 0.0% 8.8% 5.3% 1.4% 0.0% 2.6%
2000 8.6% 14.1% 3.3% 0.5% 0.0% 1.9%
2005 45.5% 14.7% 0.9% 0.2% 0.0% 0.6%
2010 40.6% 10.2% 1.7% 1.0% 2.3% 0.9%
2015 37.0% 9.8% 1.9% 1.8% 3.1% 0.8%
2020 30.9% 8.1% 1.5% 7.9% 3.7% 0.7%
2025 22.5% 6.3% 1.3% 19.0% 4.0% 0.0%
What changed
- Volume grew tenfold. 1995 was early in EDGAR's phase in; electronic filing became mandatory for most filers in 1996. October 2025 had 87,114 entries.
- Form 4 went electronic in 2003. After the Sarbanes-Oxley Act cut the Form 4 deadline to two business days in 2002, the SEC made electronic filing of Forms 3, 4 and 5 mandatory in June 2003, which is why Form 4 jumps from 8.6% of entries in 2000 to 45.5% in 2005. Its share has fallen since, as other forms grew.
- Structured notes took over. 424B2 pricing supplements, filed by banks for every structured note they issue, went from 1% of entries in 2010 to 19% in 2025.
- Form D went electronic in 2009. Before that, Regulation D notices were paper (the REGDEX entries in 2005). Since then Form D has grown steadily.
- Schedule 13G was renamed. The 0.0% for
SC 13G/Ain 2025 is not a drop in filings: since December 2024 these are filed asSCHEDULE 13G/A.
Variations
- Any form over time: call the log for every day of a year and sum
byForm[form]. - Day of week patterns: group daily totals by weekday.
- Filing seasons: sum 10-K entries per month to see the March peak.