Bilanz, GuV und Cashflow in einer Form — unabhängig davon, aus welchem der vier Datentöpfe sie stammen. Die /v1-Endpunkte sind der empfohlene Weg; die älteren /statements- und /financials-Endpunkte liefern die Rohform und bleiben unverändert bestehen.
Wozu das gut ist, steht auf der Produktseite: Fundamentaldaten
/ca/universeGET/financials/recentPOST/financials/sync/allGET/financials/{ticker_or_cik}POST/financials/{ticker_or_cik}GET/statements/esef/coveragePOST/statements/esef/syncGET/statements/{ticker_or_cik}GET/v1/fundamentals/compareGET/v1/fundamentals/mapping/gapsGET/v1/fundamentals/metrics/catalogGET/v1/fundamentals/ratios/reasonsGET/v1/fundamentals/resolve/{identifier}GET/v1/fundamentals/{identifier}/balance-sheetGET/v1/fundamentals/{identifier}/cash-flowGET/v1/fundamentals/{identifier}/coverageGET/v1/fundamentals/{identifier}/income-statementGET/v1/fundamentals/{identifier}/key-metricsGET/v1/fundamentals/{identifier}/metricsGET/v1/fundamentals/{identifier}/ratiosGET/v1/fundamentals/{identifier}/segmentsGET/v1/fundamentals/{identifier}/statements/ca/universeKanadisches Aktienuniversum: bei der SEC registrierte beziehungsweise doppelt notierte Emittenten, deren vollstaendige Rechenwerke (IS/BS/CF/CI/EQ) bereits in sec_statements liegen — Herkunft EDGAR/DERA-XBRL. Die Rechenwerke selbst holen Sie ueber GET /statements/{ticker_or_cik}.
Hinweis: rein inlaendische TSX/TSXV-Emittenten ohne SEC-Einreichung sind hier nicht enthalten — EDGAR fuehrt fuer sie kein strukturiertes XBRL, und SEDAR+ bietet keinen Massenzugang.
| Name | Typ | Bedeutung |
|---|---|---|
province | string, in der Abfrage optional | Filter by Canadian province, e.g. Ontario |
with_ticker | boolean, in der Abfrage optional · Vorgabe False | Only companies with a resolvable ticker |
limit | integer, in der Abfrage optional · Vorgabe 500 | — |
curl "$API/ca/universe" \ -H "X-API-Key: $KEY"
/financials/recentZuletzt eingereichte Abschluesse (aus sec_financials.filed), ein Eintrag je Einreichung, angereichert um Ticker, Name und ISIN aus ticker_reference.
| Name | Typ | Bedeutung |
|---|---|---|
days | integer, in der Abfrage optional · Vorgabe 2 | Look back this many days (by filing date) |
form | string, in der Abfrage optional | Filter by form, e.g. 10-K or 10-Q |
limit | integer, in der Abfrage optional · Vorgabe 200 | — |
curl "$API/financials/recent" \ -H "X-API-Key: $KEY"
/financials/sync/allFortsetzbarer Sammel-Sync der SEC-XBRL-Abschluesse ueber alle Aktienticker mit CIK. CIKs, die innerhalb von min_days_between Tagen synchronisiert wurden (Vorgabe 7, gefuehrt im Ledger sync_financials), werden uebersprungen — ein erneuter Lauf holt also nur, was faellig ist.
Liefert eine job_id — Fortschritt ueber GET /tickers/jobs/{job_id}.
Keine Parameter.
FinancialsSyncRequest| Name | Typ | Bedeutung |
|---|---|---|
min_days_between | integer optional · Vorgabe 7 | Min Days Between |
concurrency | integer optional · Vorgabe 5 | Concurrency |
rate_limit | integer optional · Vorgabe 300 | Rate Limit |
market | string optional · Vorgabe stocks | Market |
type_filters | array optional · Vorgabe ['STOCK', 'CS', 'ADRC'] | Type Filters |
active | boolean optional · Vorgabe True | Active |
limit | integer optional | Limit |
curl -X POST "$API/financials/sync/all" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/financials/{ticker_or_cik}Read persisted SEC XBRL financials for a company from sec_financials, pivoted into one object per reporting period (metrics as a dict). No live fetch — run POST /financials/{ticker_or_cik} first to populate.
Eine Periode ist (accn, form, start, end) — start gehoert in den Schluessel, weil ein 10-Q zum gleichen end sowohl das Quartal als auch den kumulierten Jahresverlauf taggt. periodType (Q/H/9M/FY/instant) macht das explizit; ueber period=quarter laesst sich direkt auf Quartalswerte filtern.
fy/fp/fiscalLabel beschreiben die PERIODE (aus dem Filing hergeleitet, in dem sie die eigene Berichtsperiode war), filingFy/filingFp das Filing, aus dem der Wert stammt.
splitFactor + metricsSplitAdjusted rechnen EPS und Aktienzahlen auf die heutige Aktienbasis um. As-filed-Werte in metrics bleiben unangetastet: Filings von vor einem Split nennen Vor-Split-EPS, und genau das mischt eine Zeitreihe ueber mehrere Filings (Netflix: EPS 5,87 vs. 0,80 nach 10:1-Split).
| Name | Typ | Bedeutung |
|---|---|---|
ticker_or_cik | string, im Pfad Pflicht | — |
form | string, in der Abfrage optional | Filter by form, e.g. 10-K or 10-Q |
end | string, in der Abfrage optional | Specific period end date, e.g. 2026-04-26 |
metrics | string, in der Abfrage optional | Comma-separated metric filter, e.g. revenue,eps_diluted |
period | string, in der Abfrage optional · Vorgabe all | Period length filter: all|quarter|ytd|fy|duration|instant |
splitAdjust | boolean, in der Abfrage optional · Vorgabe True | Add split-normalized per-share metrics |
dedupe | boolean, in der Abfrage optional · Vorgabe False | One row per period: keep the most recently filed version |
latest | boolean, in der Abfrage optional · Vorgabe False | Return only the most recent period |
limit | integer, in der Abfrage optional · Vorgabe 120 | Max number of periods |
curl "$API/financials/SAP" \ -H "X-API-Key: $KEY"
/financials/{ticker_or_cik}Holt die SEC-XBRL-companyfacts einer Firma und legt die zentralen Kennzahlen (Umsatz, Ergebnis je Aktie, Bilanzpositionen, Cashflow) in sec_financials ab (source="sec.xbrl").
Nimmt Ticker, ISIN, CIK oder WKN entgegen — aufgeloest zu einer CIK ueber EDGAR.
| Name | Typ | Bedeutung |
|---|---|---|
ticker_or_cik | string, im Pfad Pflicht | — |
curl -X POST "$API/financials/SAP" \ -H "X-API-Key: $KEY"
/statements/esef/coverageJe Land: importiert, Entities, Fehlschlaege nach Ursache.
Keine Parameter.
curl "$API/statements/esef/coverage" \ -H "X-API-Key: $KEY"
/statements/esef/syncESEF-Filings nachziehen — mit Job-Doc, Ledger und Abbruchmoeglichkeit.
Der Ledger sync_esef haelt jeden fxo_id mit seinem Status fest. Ein fehlgeschlagenes Filing ist damit von einem nie versuchten zu unterscheiden: Fehlschlaege bleiben sichtbar und werden gezielt erneut versucht, statt bei jedem Lauf stillschweigend mitzulaufen.
Keine Parameter.
EsefSyncRequest| Name | Typ | Bedeutung |
|---|---|---|
countries | array optional · Vorgabe ['GB', 'DK', 'FR', 'NL', 'SE', 'IT'] | Countries |
stmts | array optional · Vorgabe ['BS', 'IS', 'CI', 'CF', 'EQ'] | Stmts |
force | boolean optional · Vorgabe False | Force |
concurrency | integer optional · Vorgabe 2 | Concurrency |
rate_limit | integer optional · Vorgabe 60 | Rate Limit |
limit | integer optional | Limit |
curl -X POST "$API/statements/esef/sync" \
-H "X-API-Key: $KEY" \
-H "Content-Type: application/json" \
-d '{ … }'/statements/{ticker_or_cik}Vollstaendige Rechenwerke, wie eingereicht, aus sec_statements (SEC DERA Financial Statement Data Sets): jede Zeile einschliesslich firmeneigener Erweiterungs-Tags, in der urspruenglichen Reihenfolge und mit den Beschriftungen des Einreichers.
Befuellt durch import_dera_financial_statements.py — es wird nichts live nachgeholt.
| Name | Typ | Bedeutung |
|---|---|---|
ticker_or_cik | string, im Pfad Pflicht | — |
stmt | string, in der Abfrage optional · Vorgabe CF | Statement type: CF, BS, IS, CI, EQ (comma-separated for several) |
form | string, in der Abfrage optional | Filter by form, e.g. 10-K or 10-Q |
latest | boolean, in der Abfrage optional · Vorgabe False | Return only the most recent filing per statement type |
limit | integer, in der Abfrage optional · Vorgabe 8 | Max number of filings |
curl "$API/statements/SAP" \ -H "X-API-Key: $KEY"
/v1/fundamentals/compareMehrere Emittenten in einer Tabelle.
source, taxonomy und currency stehen pro Zeile — der Konsument MUSS sehen können, dass er eine IFRS/EUR-Zeile gegen eine us-gaap/USD-Zeile hält. Umgerechnet wird bewusst nichts.
| Name | Typ | Bedeutung |
|---|---|---|
identifiers | string, in der Abfrage Pflicht | Komma-separiert, max. 25 |
metrics | string, in der Abfrage optional · Vorgabe revenue,net_income,total_assets | — |
period | string, in der Abfrage optional · Vorgabe fy | — |
years | integer, in der Abfrage optional · Vorgabe 5 | — |
curl "$API/v1/fundamentals/compare?identifiers=SAP,MSFT,ORCL&metrics=revenue&years=2" \ -H "X-API-Key: $KEY"
{
"rows": [
{ "identifier": "SAP", "source": "sec.dera", "taxonomy": "us-gaap",
"currency": "EUR", "periods": { "2025-12-31": { "revenue": 34176000000 } } },
{ "identifier": "MSFT", "source": "sec.dera", "taxonomy": "us-gaap",
"currency": "USD", "periods": { "2025-06-30": { "revenue": 281724000000 } } }
],
"warnings": ["currency.mixed"]
}/v1/fundamentals/mapping/gapsDie häufigsten nicht zugeordneten Zeilen — Grundlage fürs Nachschärfen.
Das Lexikon wächst aus Messung, nicht aus Vermutung; dieser Endpunkt ist die Messung.
| Name | Typ | Bedeutung |
|---|---|---|
source | string, in der Abfrage optional | — |
stmt | string, in der Abfrage optional | — |
limit | integer, in der Abfrage optional · Vorgabe 50 | — |
curl "$API/v1/fundamentals/mapping/gaps" \ -H "X-API-Key: $KEY"
/v1/fundamentals/metrics/catalogDas kanonische Kennzahlen-Vokabular — statisch und cachebar.
Damit muss niemand raten, welche Namen es gibt und welches Vorzeichen sie tragen.
Keine Parameter.
curl "$API/v1/fundamentals/metrics/catalog" \ -H "X-API-Key: $KEY"
{
"metrics": [
{ "name": "revenue", "stmt": "IS", "sign": "positive",
"label": "Umsatzerlöse" },
{ "name": "cost_of_revenue", "stmt": "IS", "sign": "magnitude",
"label": "Herstellungskosten" },
{ "name": "total_assets", "stmt": "BS", "sign": "positive",
"label": "Bilanzsumme" }
]
}/v1/fundamentals/ratios/reasonsDie geschlossene Liste der Gruende, aus denen eine Kennzahl fehlt.
Keine Parameter.
curl "$API/v1/fundamentals/ratios/reasons" \ -H "X-API-Key: $KEY"
/v1/fundamentals/resolve/{identifier}Welcher Emittent, welches Land, welche Töpfe — der Debug-Endpunkt.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
curl "$API/v1/fundamentals/resolve/SAP" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/balance-sheetBilanz je Stichtag, jüngste zuerst.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
period | string, in der Abfrage optional · Vorgabe FY | FY | Q | YTD | ALL |
limit | integer, in der Abfrage optional · Vorgabe 8 | — |
source | string, in der Abfrage optional | — |
curl "$API/v1/fundamentals/SAP/balance-sheet" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/cash-flowKapitalflussrechnung je Periode, jüngste zuerst.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
period | string, in der Abfrage optional · Vorgabe FY | FY | Q | YTD | ALL |
limit | integer, in der Abfrage optional · Vorgabe 8 | — |
source | string, in der Abfrage optional | — |
curl "$API/v1/fundamentals/SAP/cash-flow" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/coverageWas liegt zu dieser Firma vor, und wie belastbar ist es.
Ein Aufruf statt Raten: welche Töpfe, welche Rechenwerke, welcher Zeitraum, wie viele Kennzahlen zugeordnet.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
curl "$API/v1/fundamentals/SAP/coverage" \ -H "X-API-Key: $KEY"
{
"entity": { "name": "SAP SE", "isin": "DE0007164600" },
"pots": [
{ "source": "sec.dera", "stmts": ["IS", "BS", "CF"],
"from": "2009-12-31", "to": "2025-12-31", "documents": 61 },
{ "source": "esef", "stmts": ["IS", "BS", "CF", "CI", "EQ"],
"from": "2020-12-31", "to": "2025-12-31", "documents": 6 }
],
"preferred": "sec.dera"
}/v1/fundamentals/{identifier}/income-statementErfolgsrechnung je Periode, jüngste zuerst.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
period | string, in der Abfrage optional · Vorgabe FY | FY | Q | YTD | ALL |
limit | integer, in der Abfrage optional · Vorgabe 8 | — |
source | string, in der Abfrage optional | — |
curl "$API/v1/fundamentals/SAP/income-statement" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/key-metricsKennzahlen, die den Abschluss verdichten oder mit dem Markt verbinden.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
period | string, in der Abfrage optional · Vorgabe TTM | TTM | FY | Q | YTD |
limit | integer, in der Abfrage optional · Vorgabe 8 | — |
currency | string, in der Abfrage optional · Vorgabe reported | reported | usd | eur | native — Waehrung der Marktkapitalisierung in den Kennzahlen |
curl "$API/v1/fundamentals/SAP/key-metrics" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/metricsDer flache Endpunkt: nur Kennzahlen je Periode, keine Zeilen, keine Tags.
Das ist die Form, die man ohne Kenntnis von XBRL konsumieren kann.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
metrics | string, in der Abfrage optional | Komma-separiert; leer = alle |
period | string, in der Abfrage optional · Vorgabe fy | fy | quarter | ytd | instant | all |
years | integer, in der Abfrage optional · Vorgabe 10 | — |
source | string, in der Abfrage optional | — |
curl "$API/v1/fundamentals/SAP/metrics?metrics=revenue,net_income&years=3" \ -H "X-API-Key: $KEY"
{
"entity": { "name": "SAP SE", "isin": "DE0007164600" },
"source": "sec.dera",
"periods": [
{ "end": "2025-12-31", "type": "FY", "currency": "EUR",
"metrics": { "revenue": 34176000000, "net_income": 3086000000 } },
{ "end": "2024-12-31", "type": "FY", "currency": "EUR",
"metrics": { "revenue": 34176000000, "net_income": 3086000000 } }
]
}/v1/fundamentals/{identifier}/ratiosVerhaeltniszahlen aus dem Abschluss — Margen, Renditen, Umschlag.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
period | string, in der Abfrage optional · Vorgabe TTM | TTM | FY | Q | YTD |
limit | integer, in der Abfrage optional · Vorgabe 8 | — |
currency | string, in der Abfrage optional · Vorgabe reported | reported | usd | eur | native — Waehrung der Marktkapitalisierung in den Kennzahlen |
curl "$API/v1/fundamentals/SAP/ratios" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/segmentsUmsatz nach Segment, Region, Produkt und Kunde — mit Probe je Aufgliederung.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
art | string, in der Abfrage optional | segment | region | produkt | kunde |
jahr | integer, in der Abfrage optional | Kalenderjahr des Stichtags |
curl "$API/v1/fundamentals/SAP/segments" \ -H "X-API-Key: $KEY"
/v1/fundamentals/{identifier}/statementsVollständige Rechenwerke in einheitlicher Form.
periods ist der Tabellenkopf, lines[].values sind die Zellen — für alle vier Töpfe identisch. Beschriftung und Tag stehen wie eingereicht neben der kanonischen Kennzahl.
| Name | Typ | Bedeutung |
|---|---|---|
identifier | string, im Pfad Pflicht | — |
stmt | string, in der Abfrage optional · Vorgabe IS,BS,CF | IS,BS,CF,CI,EQ |
period | string, in der Abfrage optional · Vorgabe all | — |
years | integer, in der Abfrage optional · Vorgabe 5 | — |
source | string, in der Abfrage optional | — |
lines | string, in der Abfrage optional · Vorgabe all | all | mapped |
curl "$API/v1/fundamentals/SAP/statements?stmt=IS&years=2" \ -H "X-API-Key: $KEY"
{
"entity": { "name": "SAP SE", "isin": "DE0007164600", "country": "DE" },
"source": "sec.dera",
"statements": [
{
"stmt": "IS",
"currency": "EUR",
"crossChecked": true,
"structureConfidence": "high",
"periods": [
{ "id": "p0", "end": "2025-12-31", "type": "FY" },
{ "id": "p1", "end": "2024-12-31", "type": "FY" }
],
"lines": [
{ "order": 1, "depth": 0, "label": "Total revenue",
"tag": "Revenues", "taxonomy": "us-gaap", "metric": "revenue",
"values": { "p0": 34176000000, "p1": 34176000000 } },
{ "order": 2, "depth": 1, "label": "Cost of revenue",
"tag": "CostOfRevenue", "metric": "cost_of_revenue",
"values": { "p0": 9834000000, "p1": 9612000000 } }
]
}
],
"warnings": []
}