Research · 2026-10-18

SEC's bulk filing history has timestamps off by four to five hours for a third of companies

EDGAR records the second each filing is accepted, and for earnings releases that second decides whether the news hit before the open, during the session or after the close. SEC's bulk history file gets it wrong for about a third of companies: every timestamp in their file is shifted by the US Eastern offset from UTC, four hours in summer and five in winter.

≈ 1 in 3
company files in SEC's bulk submissions history with every acceptance time shifted by 4 or 5 hours
43%–62%
of earnings releases would land in the wrong market session after such a shift
99.998%
of our corrected times match SEC's live API on a held-out check
0
guessed times: anything we cannot verify is published as a date only

How we found it

We were checking earnings release times against EDGAR's filing index pages, which show the acceptance time in Eastern time. Apple's July 2026 earnings 8-K is a clean example:

Apple's July 2026 earnings 8-K: one filing, three timestamps

EDGAR's index page and the live submissions API agree. The bulk file does not.

pre-marketmarket hoursafter close00:0003:0006:0009:0012:0015:0018:0021:0024:0016:30 ETaccepted (EDGAR index)12:30 ETif shifted −4h: market hours20:30 ETbulk file for Apple: +4h
SourceSaysIn Eastern time
EDGAR filing index page16:30:28 ET16:30, after the close
Live submissions API (data.sec.gov)20:30:28Z16:30, after the close
Bulk submissions.zip00:30:28Z, next day20:30, four hours late

Across 17 filings where the bulk file and the live API disagreed, the API matched EDGAR's own index page every time. The error is consistent within each company's file, and its direction varies: some files are four or five hours late, others four or five hours early. An early shift is the dangerous one. It moves a 16:30 release to 12:30, in the middle of the trading day, and an event study then measures the reaction on the wrong day.

What a 4–5 hour shift does to earnings timing

Share of earnings releases that move to a different session when shifted

Verified earnings releases since 2004; sessions are pre-market (before 09:30 ET), market hours, after close (16:00 on).

0%20%40%60%80%4 hours later43%4 hours later: 43%5 hours later46%5 hours later: 46%4 hours earlier60%4 hours earlier: 60%5 hours earlier62%5 hours earlier: 62%

Most companies release earnings just before the open or just after the close, which is exactly where a few hours' error does the most damage.

The fix, and what we refuse to do

The live API is correct, but it means hundreds of thousands of requests at SEC's rate limit. So we also use a second independent source: SEC's XBRL financial-statement data sets record an acceptance time, correct to the minute, for every 10-K and 10-Q. Where a company's bulk-file times overlap with those, the offset and its sign can be measured for that company and the whole file corrected. On a held-out set checked against the live API, the corrected times are exact in 99.998% of cases.

Where neither the API nor an overlap can confirm the time, we don't guess. The row keeps its date, the time is left empty, and accepted_verified is false. Today that leaves 77% of earnings releases since 2015 with a verified time to the second (and 54% since 2004, when far fewer companies filed XBRL). New filings, read from EDGAR every night, are exact.

Earnings release times you can trust to the second

Varve Events records every EDGAR event with its verified acceptance time and market session.

See Varve EventsGet the free sample