Skip to content

NORTHERN TRUST CORP: filings

Every NORTHERN TRUST CORP annual and quarterly report in the SEC record with the published financial measures it tagged, 69 filings, each linked to its SEC index.

Filings with published measures

Each page shows what one filing reported, as tagged in that filing, with the periods it covered. Later filings can restate a value; the company overview shows the latest-filed value per period.

FormFiledFiscal periodMeasuresFactsSEC accession
10-Q2026-07-30fiscal Q2 202625740000073124-26-000047
10-Q2026-04-30fiscal Q1 202627580000073124-26-000035
10-K2026-02-24fiscal FY 2025361000000073124-26-000016
10-Q2025-10-30fiscal Q3 202526840000073124-25-000247
10-Q2025-07-30fiscal Q2 202526800000073124-25-000235
10-Q2025-04-30fiscal Q1 202526560000073124-25-000187
10-K2025-02-24fiscal FY 202435970000073124-25-000105
10-Q2024-10-29fiscal Q3 202425820000073124-24-000257
10-Q2024-08-01fiscal Q2 202425780000073124-24-000206
10-Q2024-04-23fiscal Q1 202426560000073124-24-000159
10-K2024-02-27fiscal FY 2023361000000073124-24-000073
10-Q2023-10-31fiscal Q3 202326860000073124-23-000196
10-Q2023-07-25fiscal Q2 202326820000073124-23-000159
10-Q2023-05-02fiscal Q1 202326560000073124-23-000130
10-K2023-02-28fiscal FY 2022371040000073124-23-000049
10-Q2022-10-25fiscal Q3 202227900000073124-22-000208
10-Q2022-07-26fiscal Q2 202227860000073124-22-000181
10-Q2022-05-03fiscal Q1 202227580000073124-22-000148
10-K2022-02-28fiscal FY 2021371040000073124-22-000071
10-Q2021-10-26fiscal Q3 202129940000073124-21-000272
10-Q2021-07-27fiscal Q2 202129900000073124-21-000239
10-Q2021-04-27fiscal Q1 202129620000073124-21-000185
10-K2021-02-23fiscal FY 2020371040000073124-21-000071
10-Q2020-10-27fiscal Q3 202029920000073124-20-000244
10-Q2020-07-28fiscal Q2 202029880000073124-20-000212
10-Q2020-04-27fiscal Q1 202029620000073124-20-000179
10-K2020-02-25fiscal FY 2019381020000073124-20-000101
10-Q2019-10-28fiscal Q3 201932960000073124-19-000237
10-Q2019-07-30fiscal Q2 201931830000073124-19-000197
10-Q2019-04-29fiscal Q1 201930580000073124-19-000166
10-K2019-02-26fiscal FY 201833890000073124-19-000088
10-Q2018-10-29fiscal Q3 201826730000073124-18-000297
10-Q2018-07-30fiscal Q2 201825710000073124-18-000259
10-Q2018-05-04fiscal Q1 201825510000073124-18-000206
10-K2018-02-27fiscal FY 201732870000073124-18-000141
10-Q2017-10-26fiscal Q3 201725710000073124-17-000310
10-Q2017-07-27fiscal Q2 201725710000073124-17-000251
10-Q2017-05-02fiscal Q1 201725510000073124-17-000190
10-K2017-02-28fiscal FY 201632870000073124-17-000117
10-Q2016-10-26fiscal Q3 201625710000073124-16-000473
10-Q2016-07-27fiscal Q2 201625710000073124-16-000415
10-Q2016-04-28fiscal Q1 201625530000073124-16-000378
10-K2016-02-29fiscal FY 201532890000073124-16-000324
10-Q2015-10-28fiscal Q3 201525730000073124-15-000217
10-Q2015-07-29fiscal Q2 201525730001193125-15-268306
10-Q2015-04-28fiscal Q1 201525530001193125-15-152967
10-K2015-02-26fiscal FY 201431860001193125-15-065963
10-Q2014-10-31fiscal Q3 201425730001193125-14-391869
10-Q2014-07-28fiscal Q2 201424710001193125-14-282591
10-Q2014-04-28fiscal Q1 201424510001193125-14-163062
10-K2014-02-26fiscal FY 201330840001193125-14-069870
10-Q2013-10-25fiscal Q3 201324710001193125-13-411354
10-Q2013-08-02fiscal Q2 201324710001193125-13-316901
10-Q2013-04-30fiscal Q1 201324510001193125-13-186607
10-K2013-02-26fiscal FY 201231860001193125-13-076407
10-Q2012-10-26fiscal Q3 201224710001193125-12-437249
10-Q2012-07-27fiscal Q2 201224710001193125-12-319119
10-Q2012-04-30fiscal Q1 201225530001193125-12-195882
10-K2012-02-24fiscal FY 201133880001193125-12-078391
10-Q2011-10-28fiscal Q3 201126810001193125-11-286394
10-Q2011-07-29fiscal Q2 201126800001193125-11-202586
10-Q2011-04-29fiscal Q1 201127570001193125-11-118294
10-K2011-02-25fiscal FY 201033910001193125-11-047592
10-Q2010-10-27fiscal Q3 201028890001193125-10-237984
10-Q/A2010-08-26fiscal Q2 201028890001193125-10-198108
10-Q2010-04-30fiscal Q1 201026620001193125-10-101428
10-K2010-02-26fiscal FY 200927720001193125-10-042685
10-Q2009-10-30fiscal Q3 200926800001193125-09-218667
10-Q/A2009-08-03fiscal Q2 200926800001193125-09-162276

Inspect the source

Entity
NORTHERN TRUST CORP / CIK 0000073124
Captured
2026-09-19T14:50:35.998Z
SEC response SHA-256
a75bf4bf01a4b55fd14db8ba0c6e0a84db06e7317748e4b7422058a5fdcdb598

Current SEC company facts · Download the original response snapshot (gzip) · Download the selected JSON

Every published concept a filing tagged, with the periods it covered, as reported in that filing at capture time. Forms 10-K, 10-K/A, 10-Q, 10-Q/A, 20-F, 20-F/A, 40-F, 40-F/A. A filing page needs at least 8 published concepts. Later filings can restate these values; the company history pages show the latest-filed value per period.

Public company accounting reference, not market prices, returns, an investment recommendation, or ALPHAC performance. Validate a separately constructed return series with the validation API; accounting values are not returns.

Use this in research

A financial period ends before its results become public. Use the filing date as a minimum availability boundary, inspect amendments, and retain the original filing vintage when testing historical signals. This latest-filed selection can contain information unavailable at the time.

These pages do not supply prices, total-return histories, corporate-action adjustments or a tradable universe. Build those inputs separately before evaluating a strategy. A profitable backtest can still reflect selection bias or costs that were left out.

Research methodology · Execution and cost assumptions · Check backtest overfitting

Build with the open-source tools

Use these accounting records as inspectable inputs. When you have constructed a return series, the validation tools can help test its statistical evidence and preserve the result with its limitations.

Read the published dataset with Python
import json
from urllib.request import urlopen

with urlopen("https://canlicapital.com/company-data/0000073124.json") as response:
    record = json.load(response)
print(record["fetched_at"])
print(record["policy"])
for concept in record["concepts"]:
    print(concept["tag"], next(iter(concept["observations"])))