Skip to content

BIOGEN INC.: filings

Every BIOGEN INC. 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 202643900000875045-26-000045
10-K2026-02-06fiscal FY 2025551440000875045-26-000013
10-Q2025-10-30fiscal Q3 2025441230000875045-25-000049
10-Q2025-07-31fiscal Q2 2025441230000875045-25-000033
10-Q2025-05-01fiscal Q1 202543900000875045-25-000018
10-K2025-02-12fiscal FY 2024551440000875045-25-000009
10-Q2024-10-30fiscal Q3 2024431240000875045-24-000032
10-Q2024-08-01fiscal Q2 2024431240000875045-24-000025
10-Q2024-04-24fiscal Q1 202443920000875045-24-000016
10-K2024-02-14fiscal FY 2023561460000875045-24-000009
10-Q2023-11-08fiscal Q3 2023431200000875045-23-000038
10-Q2023-07-25fiscal Q2 2023431200000875045-23-000030
10-Q2023-04-25fiscal Q1 202344940000875045-23-000016
10-K2023-02-15fiscal FY 2022551450000875045-23-000009
10-Q2022-10-25fiscal Q3 2022451240000875045-22-000031
10-Q2022-07-20fiscal Q1 2022451240000875045-22-000025
10-Q2022-05-03fiscal Q1 2022471000000875045-22-000016
10-K2022-02-03fiscal FY 2021571490000875045-22-000007
10-Q2021-10-20fiscal Q3 2021471320000875045-21-000052
10-Q2021-07-22fiscal Q2 2021471320000875045-21-000044
10-Q2021-04-22fiscal Q1 2021471000000875045-21-000028
10-K2021-02-03fiscal FY 2020582150000875045-21-000010
10-Q2020-10-21fiscal Q3 2020481360000875045-20-000036
10-Q2020-07-22fiscal Q2 2020481360000875045-20-000022
10-Q2020-04-23fiscal Q1 2020481020000875045-20-000011
10-K2020-02-06fiscal FY 2019572160000875045-20-000005
10-Q2019-10-22fiscal Q3 2019491420000875045-19-000041
10-Q2019-07-24fiscal Q2 2019491420000875045-19-000029
10-Q2019-04-24fiscal Q1 2019491050000875045-19-000017
10-K2019-02-06fiscal FY 2018532100000875045-19-000006
10-Q2018-10-23fiscal Q3 2018451250000875045-18-000032
10-Q2018-07-24fiscal Q2 2018451250000875045-18-000019
10-Q2018-04-24fiscal Q1 201845950000875045-18-000010
10-K2018-02-01fiscal FY 2017532080000875045-18-000005
10-Q2017-10-24fiscal Q3 2017451240000875045-17-000029
10-Q2017-07-25fiscal Q2 2017451240000875045-17-000024
10-Q2017-04-25fiscal Q1 201745940000875045-17-000017
10-K2017-02-02fiscal FY 2016522050000875045-17-000009
10-Q2016-10-26fiscal Q3 2016451240000875045-16-000071
10-Q2016-07-21fiscal Q2 2016451240000875045-16-000065
10-Q2016-04-21fiscal Q1 201644920000875045-16-000050
10-K2016-02-03fiscal FY 2015522030000875045-16-000042
10-Q2015-10-21fiscal Q3 2015451240000875045-15-000034
10-Q2015-07-24fiscal Q2 2015451240000875045-15-000024
10-Q2015-04-24fiscal Q1 201543900000875045-15-000014
10-K2015-02-04fiscal FY 2014521870000875045-15-000005
10-Q2014-10-22fiscal Q3 2014441210000875045-14-000022
10-Q2014-07-23fiscal Q2 2014441210000875045-14-000016
10-Q2014-04-23fiscal Q1 201444930000875045-14-000011
10-K2014-02-06fiscal FY 2013531900000875045-14-000004
10-Q2013-10-28fiscal Q3 2013441200000875045-13-000034
10-Q2013-07-25fiscal Q2 2013441190000875045-13-000027
10-Q2013-04-25fiscal Q1 201344910000875045-13-000018
10-K2013-02-05fiscal FY 2012531870000875045-13-000006
10-Q2012-10-25fiscal Q3 2012461290000875045-12-000010
10-Q2012-07-24fiscal Q2 2012441250001193125-12-312222
10-Q2012-05-01fiscal Q1 201244910001193125-12-200855
10-K2012-02-03fiscal FY 2011531850001193125-12-039072
10-Q2011-10-28fiscal Q3 2011441220000950123-11-092986
10-Q2011-07-26fiscal Q2 2011441220000950123-11-068367
10-Q2011-04-21fiscal Q1 201143880000950123-11-037561
10-K2011-02-04fiscal FY 2010511900000950123-11-009300
10-Q2010-10-26fiscal Q3 2010431200000950123-10-096037
10-Q2010-07-20fiscal Q2 2010451230000950123-10-066527
10-Q2010-04-20fiscal Q1 201041840000950123-10-036233
10-K2010-02-09fiscal FY 2009441170000950123-10-010528
10-Q2009-10-21fiscal Q3 2009411120000950123-09-051956
10-Q2009-07-17fiscal Q2 2009381040000950123-09-022892

Inspect the source

Entity
BIOGEN INC. / CIK 0000875045
Captured
2026-09-20T05:00:52.520Z
SEC response SHA-256
e49b5a3bbf14de0fb7d239cc7824bd2fd0df6e7d76ccea2ef08421f0f26763e0

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