Skip to content

UPWORK INC.: filings

Every UPWORK INC. annual and quarterly report in the SEC record with the published financial measures it tagged, 32 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-10fiscal Q2 2026521440001627475-26-000047
10-Q2026-05-07fiscal Q1 2026521080001627475-26-000034
10-K2026-02-13fiscal FY 2025581540001627475-26-000012
10-Q2025-11-04fiscal Q3 2025521440001627475-25-000058
10-Q2025-08-06fiscal Q2 2025511420001627475-25-000046
10-Q2025-05-05fiscal Q1 2025501040001627475-25-000033
10-K2025-02-13fiscal FY 2024561490001627475-25-000011
10-Q2024-11-06fiscal Q3 2024491380001627475-24-000043
10-Q2024-08-07fiscal Q2 2024491380001627475-24-000034
10-Q2024-05-01fiscal Q1 2024491020001627475-24-000022
10-K2024-02-15fiscal FY 2023541430001627475-24-000012
10-Q2023-11-07fiscal Q3 2023481380001627475-23-000057
10-Q2023-08-02fiscal Q2 2023481380001627475-23-000050
10-Q2023-05-03fiscal Q1 2023481000001627475-23-000033
10-K2023-02-16fiscal FY 2022531400001627475-23-000010
10-Q2022-10-26fiscal Q3 2022481360001627475-22-000043
10-Q2022-07-27fiscal Q2 2022481360001627475-22-000033
10-Q2022-04-27fiscal Q1 2022491010001627475-22-000015
10-K2022-02-15fiscal FY 2021531400001627475-22-000009
10-Q2021-10-27fiscal Q3 2021481350001627475-21-000040
10-Q2021-07-29fiscal Q2 2021481350001627475-21-000032
10-Q2021-05-04fiscal Q1 202144920001627475-21-000022
10-K2021-02-24fiscal FY 2020501290001627475-21-000015
10-Q2020-11-04fiscal Q3 2020441200001627475-20-000044
10-Q2020-08-04fiscal Q2 2020441200001627475-20-000031
10-Q2020-05-06fiscal Q1 202044920001627475-20-000018
10-K2020-03-02fiscal FY 2019511300001627475-20-000006
10-Q2019-11-06fiscal Q3 2019421160001628280-19-013517
10-Q2019-08-07fiscal Q2 2019421160001627475-19-000025
10-Q2019-05-08fiscal Q1 201942870001627475-19-000015
10-K2019-03-07fiscal FY 2018451170001627475-19-000007
10-Q2018-11-08fiscal Q3 2018411060001564590-18-028629

Inspect the source

Entity
UPWORK INC. / CIK 0001627475
Captured
2026-09-21T17:22:09.952Z
SEC response SHA-256
10667b39ab2bac6fbf706424a7e3c9f38a0688357769a5cae8fbdee899d2abe0

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