Skip to content

VULCAN MATERIALS COMPANY: filings

Every VULCAN MATERIALS COMPANY annual and quarterly report in the SEC record with the published financial measures it tagged, 68 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-04-29fiscal Q1 2026451110001628280-26-028318
10-K2026-02-19fiscal FY 2025521390001628280-26-009546
10-Q2025-10-30fiscal Q3 2025471490001396009-25-000031
10-Q2025-07-31fiscal Q2 2025471490001396009-25-000021
10-Q2025-04-30fiscal Q1 2025471170001396009-25-000008
10-K2025-02-20fiscal FY 2024521390001396009-25-000005
10-Q2024-10-30fiscal Q3 2024471490001396009-24-000023
10-Q2024-08-07fiscal Q2 2024471490001396009-24-000017
10-Q2024-05-02fiscal Q1 2024461150001396009-24-000009
10-K2024-02-22fiscal FY 2023551450001396009-24-000006
10-Q2023-10-27fiscal Q3 2023461480001396009-23-000042
10-Q2023-08-04fiscal Q2 2023461480001396009-23-000035
10-Q2023-05-05fiscal Q1 2023451140001396009-23-000013
10-K2023-02-24fiscal FY 2022561470001396009-23-000007
10-Q2022-11-03fiscal Q3 2022451460001396009-22-000049
10-Q2022-08-05fiscal Q2 2022451460001396009-22-000036
10-Q2022-05-05fiscal Q1 2022451140001396009-22-000017
10-K2022-02-25fiscal FY 2021561470001396009-22-000010
10-Q2021-11-05fiscal Q3 2021461480001396009-21-000050
10-Q2021-08-05fiscal Q2 2021431370001396009-21-000044
10-Q2021-05-05fiscal Q1 2021431090001396009-21-000019
10-K2021-02-25fiscal FY 2020531880001396009-21-000009
10-Q2020-11-06fiscal Q3 2020441400001396009-20-000053
10-Q2020-08-05fiscal Q2 2020441400001396009-20-000040
10-Q2020-05-06fiscal Q1 2020441120001396009-20-000015
10-K2020-02-26fiscal FY 2019541880001396009-20-000006
10-Q2019-11-07fiscal Q3 2019431340001396009-19-000065
10-Q2019-07-29fiscal Q2 2019431340001396009-19-000052
10-Q2019-05-03fiscal Q1 2019431060001396009-19-000033
10-K2019-02-26fiscal FY 2018491810001396009-19-000021
10-Q2018-10-31fiscal Q3 2018401290001396009-18-000045
10-Q2018-08-01fiscal Q2 2018401270001396009-18-000036
10-Q2018-05-04fiscal Q1 2018401010001396009-18-000020
10-K2018-02-27fiscal FY 2017481700001396009-18-000011
10-Q2017-11-03fiscal Q3 2017381200001396009-17-000042
10-Q2017-08-04fiscal Q2 2017381200001396009-17-000033
10-Q2017-05-10fiscal Q1 201738970001396009-17-000011
10-K2017-02-24fiscal FY 2016481710001396009-17-000005
10-Q2016-11-02fiscal Q3 2016381200001396009-16-000076
10-Q2016-08-03fiscal Q2 2016381200001396009-16-000071
10-Q2016-05-04fiscal Q1 201638950001396009-16-000053
10-K2016-02-25fiscal FY 2015491740001396009-16-000044
10-Q2015-11-04fiscal Q3 2015381190001396009-15-000036
10-Q2015-08-05fiscal Q2 2015371160001396009-15-000030
10-Q2015-05-06fiscal Q1 201537920001396009-15-000014
10-K2015-02-27fiscal FY 2014471690001396009-15-000005
10-Q2014-11-05fiscal Q3 2014371160001396009-14-000037
10-Q2014-08-06fiscal Q2 2014371160001396009-14-000031
10-Q2014-05-12fiscal Q1 201437920001396009-14-000012
10-K2014-02-26fiscal FY 2013481710001396009-14-000006
10-Q2013-11-05fiscal Q3 2013361140001396009-13-000009
10-Q2013-08-06fiscal Q2 2013361140001396009-13-000006
10-Q2013-05-07fiscal Q1 201336910001193125-13-203394
10-K2013-02-28fiscal FY 2012481700001193125-13-084128
10-Q2012-11-08fiscal Q3 2012391230001193125-12-460335
10-Q2012-08-08fiscal Q2 2012391230001193125-12-343684
10-Q2012-05-02fiscal Q1 201239970001193125-12-203722
10-K2012-02-29fiscal FY 2011481700001193125-12-089430
10-Q2011-11-04fiscal Q3 2011411260000950123-11-095159
10-Q2011-08-04fiscal Q2 2011411260000950123-11-072749
10-Q2011-05-06fiscal Q1 201140990000950123-11-046260
10-K2011-02-28fiscal FY 2010461650000950123-11-019699
10-Q2010-11-03fiscal Q3 2010401260000950123-10-100046
10-Q2010-08-04fiscal Q2 2010391260000950123-10-072467
10-Q2010-05-04fiscal Q1 201035880000950123-10-043169
10-K2010-02-26fiscal FY 2009371010000950123-10-018400
10-Q2009-11-06fiscal Q3 200938780000950123-09-058668
10-Q2009-08-05fiscal Q2 2009381110000950123-09-030370

Inspect the source

Entity
VULCAN MATERIALS COMPANY / CIK 0001396009
Captured
SEC response SHA-256
de76d44410d152213a10eacbbe63ef8cd32c330665614a88fe25ce432e1d4d01

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