Skip to content

MDU RESOURCES GROUP INC: filings

Every MDU RESOURCES GROUP INC 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-08-06fiscal Q2 2026441440000067716-26-000072
10-Q2026-05-07fiscal Q1 2026441080000067716-26-000050
10-K2026-02-20fiscal FY 2025481310000067716-26-000014
10-Q2025-11-10fiscal Q3 2025441480000067716-25-000090
10-Q2025-08-07fiscal Q2 2025441440000067716-25-000074
10-Q2025-05-08fiscal Q1 2025441080000067716-25-000042
10-K2025-02-20fiscal FY 2024481310000067716-25-000016
10-Q2024-11-07fiscal Q3 2024481580000067716-24-000107
10-Q2024-08-08fiscal Q2 2024481540000067716-24-000082
10-Q2024-05-02fiscal Q1 2024481180000067716-24-000055
10-K2024-02-22fiscal FY 2023521390000067716-24-000017
10-Q2023-11-02fiscal Q3 2023481580000067716-23-000112
10-Q2023-08-03fiscal Q2 2023481540000067716-23-000096
10-Q2023-05-04fiscal Q1 2023471160000067716-23-000066
10-K2023-02-24fiscal FY 2022511390000067716-23-000017
10-Q2022-11-03fiscal Q3 2022471560000067716-22-000062
10-Q2022-08-05fiscal Q2 2022471520000067716-22-000052
10-Q2022-05-05fiscal Q1 2022471160000067716-22-000029
10-K2022-02-23fiscal FY 2021511380000067716-22-000012
10-Q2021-11-04fiscal Q3 2021461540000067716-21-000055
10-Q2021-08-05fiscal Q2 2021461500000067716-21-000043
10-Q2021-05-06fiscal Q1 2021461140000067716-21-000026
10-K2021-02-19fiscal FY 2020501990000067716-21-000007
10-Q2020-11-05fiscal Q3 2020451520000067716-20-000053
10-Q2020-08-06fiscal Q2 2020451480000067716-20-000044
10-Q2020-05-08fiscal Q1 2020451120000067716-20-000027
10-K2020-02-21fiscal FY 2019512000000067716-20-000010
10-Q2019-11-01fiscal Q3 2019481530000067716-19-000076
10-Q2019-08-02fiscal Q2 2019481510000067716-19-000060
10-Q2019-05-03fiscal Q1 2019481150000067716-19-000041
10-K2019-02-22fiscal FY 2018481930000067716-19-000019
10-Q2018-11-02fiscal Q3 2018451450000067716-18-000070
10-Q2018-08-03fiscal Q2 2018441410000067716-18-000052
10-Q2018-05-04fiscal Q1 2018441090000067716-18-000034
10-K2018-02-23fiscal FY 2017471910000067716-18-000013
10-Q2017-11-03fiscal Q3 2017431370000067716-17-000087
10-Q2017-08-04fiscal Q2 2017431390000067716-17-000063
10-Q2017-05-08fiscal Q1 2017421040000067716-17-000042
10-K2017-02-24fiscal FY 2016451860000067716-17-000017
10-Q2016-11-07fiscal Q3 2016421360000067716-16-000190
10-Q2016-08-05fiscal Q2 2016421360000067716-16-000179
10-Q2016-05-06fiscal Q1 2016421040000067716-16-000148
10-K2016-02-19fiscal FY 2015441840000067716-16-000116
10-Q2015-11-06fiscal Q3 2015421360000067716-15-000096
10-Q2015-08-04fiscal Q2 2015421390000067716-15-000089
10-Q2015-05-08fiscal Q1 2015421050000067716-15-000059
10-K2015-02-20fiscal FY 2014441850000067716-15-000027
10-Q2014-11-07fiscal Q3 2014421390000067716-14-000123
10-Q2014-08-08fiscal Q2 2014421390000067716-14-000101
10-Q2014-05-07fiscal Q1 2014421050000067716-14-000043
10-K2014-02-21fiscal FY 2013441850000067716-14-000029
10-Q2013-11-07fiscal Q3 2013421350000067716-13-000125
10-Q2013-08-07fiscal Q2 2013421350000067716-13-000101
10-Q2013-05-07fiscal Q1 2013421030000067716-13-000050
10-K2013-02-28fiscal FY 2012421810000067716-13-000021
10-Q2012-11-07fiscal Q3 2012401290000067716-12-000088
10-Q2012-08-07fiscal Q2 2012381200000067716-12-000071
10-Q2012-05-04fiscal Q1 201239970000067716-12-000049
10-K2012-02-24fiscal FY 2011401580000067716-12-000031
10-Q2011-11-04fiscal Q3 2011371160000067716-11-000099
10-Q2011-08-05fiscal Q2 2011371160000067716-11-000073
10-Q2011-05-05fiscal Q1 201133830000067716-11-000040
10-K2011-02-23fiscal FY 201034880000067716-11-000021
10-Q2010-11-03fiscal Q3 2010331030000067716-10-000097
10-Q2010-08-06fiscal Q2 2010331030000067716-10-000068
10-Q2010-05-05fiscal Q1 201033830000067716-10-000047
10-K2010-02-17fiscal FY 200934880000067716-10-000030
10-Q2009-11-05fiscal Q3 2009331030000067716-09-000130
10-Q2009-08-07fiscal Q2 2009331030000067716-09-000112

Inspect the source

Entity
MDU RESOURCES GROUP INC / CIK 0000067716
Captured
2026-09-19T14:49:52.662Z
SEC response SHA-256
aba90de43a563560fa7dd3138b4ba431568f14cd80b128a0899972a991311c67

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/0000067716.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"])))