Dokumentation → Fundamentaldaten
Dokumentation

Fundamentaldaten

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

GET /ca/universe

Get Ca Universe

Kanadisches 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.

NameTypBedeutung
provincestring, in der Abfrage
optional
Filter by Canadian province, e.g. Ontario
with_tickerboolean, in der Abfrage
optional · Vorgabe False
Only companies with a resolvable ticker
limitinteger, in der Abfrage
optional · Vorgabe 500

Beispiel

curl "$API/ca/universe" \
  -H "X-API-Key: $KEY"
GET /financials/recent

Recent Financial Publications

Zuletzt eingereichte Abschluesse (aus sec_financials.filed), ein Eintrag je Einreichung, angereichert um Ticker, Name und ISIN aus ticker_reference.

NameTypBedeutung
daysinteger, in der Abfrage
optional · Vorgabe 2
Look back this many days (by filing date)
formstring, in der Abfrage
optional
Filter by form, e.g. 10-K or 10-Q
limitinteger, in der Abfrage
optional · Vorgabe 200

Beispiel

curl "$API/financials/recent" \
  -H "X-API-Key: $KEY"
POST /financials/sync/all

Sync Financials All

Fortsetzbarer 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.

Anfragekörper FinancialsSyncRequest

NameTypBedeutung
min_days_betweeninteger
optional · Vorgabe 7
Min Days Between
concurrencyinteger
optional · Vorgabe 5
Concurrency
rate_limitinteger
optional · Vorgabe 300
Rate Limit
marketstring
optional · Vorgabe stocks
Market
type_filtersarray
optional · Vorgabe ['STOCK', 'CS', 'ADRC']
Type Filters
activeboolean
optional · Vorgabe True
Active
limitinteger
optional
Limit

Beispiel

curl -X POST "$API/financials/sync/all" \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{ … }'
GET /financials/{ticker_or_cik}

Get Financials

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).

NameTypBedeutung
ticker_or_cikstring, im Pfad
Pflicht
formstring, in der Abfrage
optional
Filter by form, e.g. 10-K or 10-Q
endstring, in der Abfrage
optional
Specific period end date, e.g. 2026-04-26
metricsstring, in der Abfrage
optional
Comma-separated metric filter, e.g. revenue,eps_diluted
periodstring, in der Abfrage
optional · Vorgabe all
Period length filter: all|quarter|ytd|fy|duration|instant
splitAdjustboolean, in der Abfrage
optional · Vorgabe True
Add split-normalized per-share metrics
dedupeboolean, in der Abfrage
optional · Vorgabe False
One row per period: keep the most recently filed version
latestboolean, in der Abfrage
optional · Vorgabe False
Return only the most recent period
limitinteger, in der Abfrage
optional · Vorgabe 120
Max number of periods

Beispiel

curl "$API/financials/SAP" \
  -H "X-API-Key: $KEY"
POST /financials/{ticker_or_cik}

Sync Financials

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.

NameTypBedeutung
ticker_or_cikstring, im Pfad
Pflicht

Beispiel

curl -X POST "$API/financials/SAP" \
  -H "X-API-Key: $KEY"
GET /statements/esef/coverage

Esef Coverage

Je Land: importiert, Entities, Fehlschlaege nach Ursache.

Keine Parameter.

Beispiel

curl "$API/statements/esef/coverage" \
  -H "X-API-Key: $KEY"
POST /statements/esef/sync

Esef Sync

ESEF-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.

Anfragekörper EsefSyncRequest

NameTypBedeutung
countriesarray
optional · Vorgabe ['GB', 'DK', 'FR', 'NL', 'SE', 'IT']
Countries
stmtsarray
optional · Vorgabe ['BS', 'IS', 'CI', 'CF', 'EQ']
Stmts
forceboolean
optional · Vorgabe False
Force
concurrencyinteger
optional · Vorgabe 2
Concurrency
rate_limitinteger
optional · Vorgabe 60
Rate Limit
limitinteger
optional
Limit

Beispiel

curl -X POST "$API/statements/esef/sync" \
  -H "X-API-Key: $KEY" \
  -H "Content-Type: application/json" \
  -d '{ … }'
GET /statements/{ticker_or_cik}

Get Statements

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.

NameTypBedeutung
ticker_or_cikstring, im Pfad
Pflicht
stmtstring, in der Abfrage
optional · Vorgabe CF
Statement type: CF, BS, IS, CI, EQ (comma-separated for several)
formstring, in der Abfrage
optional
Filter by form, e.g. 10-K or 10-Q
latestboolean, in der Abfrage
optional · Vorgabe False
Return only the most recent filing per statement type
limitinteger, in der Abfrage
optional · Vorgabe 8
Max number of filings

Beispiel

curl "$API/statements/SAP" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/compare

Compare

Mehrere 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.

NameTypBedeutung
identifiersstring, in der Abfrage
Pflicht
Komma-separiert, max. 25
metricsstring, in der Abfrage
optional · Vorgabe revenue,net_income,total_assets
periodstring, in der Abfrage
optional · Vorgabe fy
yearsinteger, in der Abfrage
optional · Vorgabe 5

Beispiel

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"]
}
GET /v1/fundamentals/mapping/gaps

Mapping Gaps

Die häufigsten nicht zugeordneten Zeilen — Grundlage fürs Nachschärfen.

Das Lexikon wächst aus Messung, nicht aus Vermutung; dieser Endpunkt ist die Messung.

NameTypBedeutung
sourcestring, in der Abfrage
optional
stmtstring, in der Abfrage
optional
limitinteger, in der Abfrage
optional · Vorgabe 50

Beispiel

curl "$API/v1/fundamentals/mapping/gaps" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/metrics/catalog

Metrics Catalog

Das kanonische Kennzahlen-Vokabular — statisch und cachebar.

Damit muss niemand raten, welche Namen es gibt und welches Vorzeichen sie tragen.

Keine Parameter.

Beispiel

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" }
  ]
}
GET /v1/fundamentals/ratios/reasons

Gruende

Die geschlossene Liste der Gruende, aus denen eine Kennzahl fehlt.

Keine Parameter.

Beispiel

curl "$API/v1/fundamentals/ratios/reasons" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/resolve/{identifier}

Resolve

Welcher Emittent, welches Land, welche Töpfe — der Debug-Endpunkt.

NameTypBedeutung
identifierstring, im Pfad
Pflicht

Beispiel

curl "$API/v1/fundamentals/resolve/SAP" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/balance-sheet

Balance Sheet

Bilanz je Stichtag, jüngste zuerst.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
periodstring, in der Abfrage
optional · Vorgabe FY
FY | Q | YTD | ALL
limitinteger, in der Abfrage
optional · Vorgabe 8
sourcestring, in der Abfrage
optional

Beispiel

curl "$API/v1/fundamentals/SAP/balance-sheet" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/cash-flow

Cash Flow

Kapitalflussrechnung je Periode, jüngste zuerst.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
periodstring, in der Abfrage
optional · Vorgabe FY
FY | Q | YTD | ALL
limitinteger, in der Abfrage
optional · Vorgabe 8
sourcestring, in der Abfrage
optional

Beispiel

curl "$API/v1/fundamentals/SAP/cash-flow" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/coverage

Coverage

Was 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.

NameTypBedeutung
identifierstring, im Pfad
Pflicht

Beispiel

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"
}
GET /v1/fundamentals/{identifier}/income-statement

Income Statement

Erfolgsrechnung je Periode, jüngste zuerst.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
periodstring, in der Abfrage
optional · Vorgabe FY
FY | Q | YTD | ALL
limitinteger, in der Abfrage
optional · Vorgabe 8
sourcestring, in der Abfrage
optional

Beispiel

curl "$API/v1/fundamentals/SAP/income-statement" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/key-metrics

Key Metrics

Kennzahlen, die den Abschluss verdichten oder mit dem Markt verbinden.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
periodstring, in der Abfrage
optional · Vorgabe TTM
TTM | FY | Q | YTD
limitinteger, in der Abfrage
optional · Vorgabe 8
currencystring, in der Abfrage
optional · Vorgabe reported
reported | usd | eur | native — Waehrung der Marktkapitalisierung in den Kennzahlen

Beispiel

curl "$API/v1/fundamentals/SAP/key-metrics" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/metrics

Metrics Only

Der flache Endpunkt: nur Kennzahlen je Periode, keine Zeilen, keine Tags.

Das ist die Form, die man ohne Kenntnis von XBRL konsumieren kann.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
metricsstring, in der Abfrage
optional
Komma-separiert; leer = alle
periodstring, in der Abfrage
optional · Vorgabe fy
fy | quarter | ytd | instant | all
yearsinteger, in der Abfrage
optional · Vorgabe 10
sourcestring, in der Abfrage
optional

Beispiel

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 } }
  ]
}
GET /v1/fundamentals/{identifier}/ratios

Ratios

Verhaeltniszahlen aus dem Abschluss — Margen, Renditen, Umschlag.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
periodstring, in der Abfrage
optional · Vorgabe TTM
TTM | FY | Q | YTD
limitinteger, in der Abfrage
optional · Vorgabe 8
currencystring, in der Abfrage
optional · Vorgabe reported
reported | usd | eur | native — Waehrung der Marktkapitalisierung in den Kennzahlen

Beispiel

curl "$API/v1/fundamentals/SAP/ratios" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/segments

Segments

Umsatz nach Segment, Region, Produkt und Kunde — mit Probe je Aufgliederung.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
artstring, in der Abfrage
optional
segment | region | produkt | kunde
jahrinteger, in der Abfrage
optional
Kalenderjahr des Stichtags

Beispiel

curl "$API/v1/fundamentals/SAP/segments" \
  -H "X-API-Key: $KEY"
GET /v1/fundamentals/{identifier}/statements

Statements

Vollstä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.

NameTypBedeutung
identifierstring, im Pfad
Pflicht
stmtstring, in der Abfrage
optional · Vorgabe IS,BS,CF
IS,BS,CF,CI,EQ
periodstring, in der Abfrage
optional · Vorgabe all
yearsinteger, in der Abfrage
optional · Vorgabe 5
sourcestring, in der Abfrage
optional
linesstring, in der Abfrage
optional · Vorgabe all
all | mapped

Beispiel

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": []
}