Skip to content

First Solar, Inc.: filings

Every First Solar, 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-07-30fiscal Q2 2026481330001274494-26-000170
10-Q2026-04-30fiscal Q1 202648990001274494-26-000109
10-K2026-02-24fiscal FY 2025541390001274494-26-000021
10-Q2025-10-30fiscal Q3 2025481330001274494-25-000082
10-Q2025-07-31fiscal Q2 2025481330001274494-25-000054
10-Q2025-04-29fiscal Q1 202548990001274494-25-000033
10-K2025-02-25fiscal FY 2024541380001274494-25-000010
10-Q2024-10-29fiscal Q3 2024481330001274494-24-000038
10-Q2024-07-30fiscal Q2 2024481330001274494-24-000033
10-Q2024-05-01fiscal Q1 202448990001274494-24-000022
10-K2024-02-27fiscal FY 2023541370001274494-24-000004
10-Q2023-10-31fiscal Q3 2023481330001274494-23-000025
10-Q2023-07-27fiscal Q2 2023491340001274494-23-000022
10-Q2023-04-27fiscal Q1 2023501020001274494-23-000010
10-K2023-02-28fiscal FY 2022551380001274494-23-000002
10-Q2022-10-28fiscal Q3 2022501360001274494-22-000040
10-Q2022-07-29fiscal Q2 2022491340001274494-22-000035
10-Q2022-04-29fiscal Q1 2022501020001274494-22-000020
10-K2022-03-01fiscal FY 2021551390001274494-22-000009
10-Q2021-11-05fiscal Q3 2021511380001274494-21-000033
10-Q2021-07-30fiscal Q2 2021511380001274494-21-000024
10-Q2021-04-30fiscal Q1 2021511040001628280-21-008263
10-K2021-02-26fiscal FY 2020551380001628280-21-003343
10-Q2020-10-28fiscal Q3 2020491340001274494-20-000059
10-Q2020-08-07fiscal Q2 2020491340001274494-20-000036
10-Q2020-05-08fiscal Q1 2020491000001274494-20-000014
10-K2020-02-21fiscal FY 2019541350001274494-20-000011
10-Q2019-10-25fiscal Q3 2019491330001274494-19-000036
10-Q2019-08-02fiscal Q2 2019491330001274494-19-000032
10-Q2019-05-03fiscal Q1 201949990001274494-19-000016
10-K2019-02-22fiscal FY 2018511310001274494-19-000004
10-Q2018-10-26fiscal Q3 2018461250001274494-18-000046
10-Q2018-07-27fiscal Q2 2018461250001274494-18-000040
10-Q2018-04-27fiscal Q1 201845910001274494-18-000023
10-K2018-02-23fiscal FY 2017511310001274494-18-000011
10-Q2017-10-27fiscal Q3 2017451210001274494-17-000045
10-Q2017-07-28fiscal Q2 2017451230001274494-17-000039
10-Q2017-05-05fiscal Q1 201744890001274494-17-000023
10-K2017-02-22fiscal FY 2016501280001274494-17-000006
10-Q2016-11-03fiscal Q3 2016461270001274494-16-000101
10-Q2016-08-04fiscal Q2 2016461270001274494-16-000087
10-Q2016-04-28fiscal Q1 201646950001274494-16-000074
10-K2016-02-24fiscal FY 2015511350001274494-16-000067
10-Q2015-11-09fiscal Q3 2015461290001274494-15-000042
10-Q2015-08-05fiscal Q2 2015461290001274494-15-000033
10-Q2015-05-01fiscal Q1 201546970001274494-15-000012
10-K2015-02-25fiscal FY 2014521390001274494-15-000006
10-Q2014-11-07fiscal Q3 2014481320001274494-14-000042
10-Q2014-08-06fiscal Q2 2014471280001274494-14-000033
10-Q2014-05-07fiscal Q1 201446980001274494-14-000020
10-K2014-02-26fiscal FY 2013511380001274494-14-000011
10-Q2013-11-01fiscal Q3 2013471300001274494-13-000052
10-Q2013-08-07fiscal Q2 2013471300001274494-13-000040
10-Q2013-05-07fiscal Q1 201345960001274494-13-000017
10-K2013-02-27fiscal FY 2012491300001274494-13-000006
10-Q2012-11-02fiscal Q3 2012451220001274494-12-000048
10-Q2012-08-03fiscal Q2 2012451220001274494-12-000038
10-Q2012-05-04fiscal Q1 201244920001274494-12-000022
10-K2012-02-29fiscal FY 2011491300001274494-12-000015
10-Q2011-11-04fiscal Q3 2011441200001274494-11-000055
10-Q2011-08-05fiscal Q2 2011441200001274494-11-000037
10-Q2011-05-05fiscal Q1 201144920001274494-11-000021
10-K2011-02-28fiscal FY 2010471260001274494-11-000007
10-Q2010-11-01fiscal Q3 2010421160001274494-10-000039
10-Q2010-08-02fiscal Q2 2010421160001274494-10-000029
10-Q2010-04-29fiscal Q1 201036730001274494-10-000012
10-K2010-02-22fiscal FY 2009381010001274494-10-000007
10-Q2009-10-30fiscal Q3 2009371020001274494-09-000032
10-Q2009-08-03fiscal Q2 2009371020001274494-09-000019

Inspect the source

Entity
First Solar, Inc. / CIK 0001274494
Captured
2026-09-20T07:47:56.708Z
SEC response SHA-256
ad72f6f8be95cf5544d37eb78b0af9753ee93e5cabd1bd3f49e85a57db0daa2f

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