Building an AI agent? Start with /llms.txt for the full site index.
Financials & Growth
Financial ratios computed from the official MOPS statements — margins, returns and other per-period metrics, one row per company per fiscal period.
GET /v2/datasets/financial-metricsfinancial-metrics is a derived dataset: the ratios are computed from the underlying MOPS income-statement and balance-sheet filings, not disclosed directly. The lineage block names what each figure was derived from, so the calculation stays auditable rather than a black box.
| Field | Type | Description |
|---|---|---|
symbol | string | Ticker. |
period | string | Fiscal period (e.g. 2026-Q1). |
gross_margin | number | Gross margin (ratio, 0-1). |
operating_margin | number | Operating margin (ratio, 0-1). |
net_margin | number | Net margin (ratio, 0-1). |
roe | number | Return on equity for the period (ratio). |
source_role | string | Canonical source role (derived_mops_financial_metrics). |
TODO — exact row / symbol counts and the coverage window are pending a measured snapshot; the ratios are computed from the official MOPS income-statement and balance-sheet filings (present through the latest disclosed reporting period). No counts are shown rather than fabricated ones.
TODO — no real response has been captured for this dataset yet. It needs an entitled API key, or its required parameters are not yet known. Rather than show an example nobody has observed, this section stays empty.
curl "https://api.twmarketdata.com/v2/datasets/financial-metrics?ticker=2330" \ -H "X-API-Key: sk_live_..."| Parameter | Required | Type | Description |
|---|---|---|---|
symbol | Yes | string | Ticker, e.g. 2330. |
start_date | No | string (YYYY-MM-DD) | Start of the query range. |
end_date | No | string (YYYY-MM-DD) | End of the query range. |
limit | No | integer | Maximum rows to return. |
A first call:
import requests resp = requests.get( "https://api.twmarketdata.com/v2/datasets/financial-metrics", params={"ticker": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json())With a date-range filter:
import requests # The full verified example — the same call with every supported filter set.resp = requests.get( "https://api.twmarketdata.com/v2/datasets/financial-metrics", params={"ticker": "2330"}, headers={"X-API-Key": "sk_live_..."},)resp.raise_for_status()print(resp.json())This endpoint is GET /v2/datasets/financial-metrics. The full machine-readable schema (parameters, security, response envelope) lives in the OpenAPI spec.