Referenz

Datenfelder

Alle Felder, die der MCP-Server liefert – pro Werkzeug, mit Typ, Bedeutung und der Regel, wann ein Feld leer (null) ist.

Die Suche liefert bewusst nur eine kompakte Übersichtskarte je Treffer – nicht alle Daten. Das ist Absicht (schnell & sparsam). Den vollständigen Datensatz holt der Agent gezielt über get_company_details oder get_full_record.
search_companies

10-Feld-Karte je Treffer – zum Suchen, Ranken, Überblicken.

get_company_details

Vollständiges Profil eines Unternehmens (alle Abschnitte unten).

get_full_record

Obermenge des Profils: volle Taxonomie + Lineage.

1 search_companies → Karte

Kompakter Auszug. Codes sind hier bereits als Labels ausgegeben (z. B. GmbH, Oberösterreich).

FeldTypBedeutungnull, wenn …
fnrstringFirmenbuchnummer (z. B. 078052h)nie
namestringFirmenwortlautnie
legal_formstringRechtsform-Label (z. B. GmbH)unbekannt
bundeslandstringBundesland-Label (z. B. Wien)unbekannt
postal_codestringPLZ des Sitzes (z. B. 1010)keine Angabe
citystringSitzgemeinde (z. B. Wien)keine Angabe
streetstringStraße + Hausnummeroft leer
is_financial_institutionboolBank/Versicherung laut amtlichem Register (UGB-Kennzahlen fehlen dann bauartbedingt)– (immer gesetzt)
size_gklstringUGB-Einreichklasse: W Kleinst, K Klein, M Mittel, G Groß (≠ Bilanzgröße – Holdings reichen oft klein ein)unbekannt
bilanzsumme_bandstringehrliches Größenband nach Bilanzsummekein Abschluss
bilanzsumme_latestnumber €Bilanzsumme des jüngsten Abschlusseskein Abschluss
manager_namestringName der primären vertretungsbefugten Person (öffentliche Firmenbuchdaten; Geburtsjahr ja, kein Tag/Monat)keine Angabe
equity_ratio_latest0–1Eigenkapitalquote (jüngstes Jahr)nicht berechenbar
revenue_latestnumber €Umsatzerlöse (jüngstes Jahr)kein GuV im jüngsten Abschluss
growth_profilestringshrinking/stable/growing/fast_growing< 2 vergleichbare Jahre
has_guv_latestboolhat der jüngste Abschluss eine GuV?– (immer gesetzt)
geschaeftszweigstringGeschäftszweig (Firmenbuch-Freitext)nicht eingetragen (~15 %)
industry_sectionstringÖNACE-2025-Abschnitt AV (Details unter industry)keine Klassifizierung vorhanden
oenace_divisionstringÖNACE-2025-Abteilung (2-Steller, z. B. 85)keine Klassifizierung vorhanden
oenace_division_labelstringdeutsche Abteilungs-Bezeichnung (z. B. Erziehung und Unterricht)keine Klassifizierung vorhanden
oenace_groupstringÖNACE-2025-Gruppe (3-Steller, z. B. 85.5)keine Klassifizierung vorhanden
oenace_group_labelstringdeutsche Gruppen-Bezeichnung (z. B. Sonstiger Unterricht)keine Klassifizierung vorhanden
oenace_division_2008 / oenace_division_2008_labelstringÖNACE-2008-Abteilung + Titel (z. B. 45 Kfz-Handel; in 2025 auf 46/47 aufgeteilt)keine Klassifizierung vorhanden
oenace_group_2008 / oenace_group_2008_labelstringÖNACE-2008-Gruppe + Titel (z. B. 45.1)keine Klassifizierung vorhanden

2 get_company_details → Profil

Das Unternehmen liegt unter result. Hier stehen die Roh-Codes (z. B. legal_form: "GES" = GmbH, bundesland: "O" = Oberösterreich). Die vollständigen Code-Tabellen stehen weiter unten unter Code-Tabellen.

identity · Stammdaten

FeldTypBedeutung
fnrstringFirmenbuchnummer
register_idstringtechnische ID, Form AT_<fnr>
euidstring | nullEuropean Unique Identifier (BRIS), z. B. ATBRA.030444-000 — EU-weit eindeutige Firmen-ID
namestringFirmenwortlaut
legal_formstringRechtsform als Code (GES = GmbH-Familie; alle Codes)
statusstringactive / historical / deleted
courtstring | nullzuständiges Firmenbuchgericht (oft leer)

location · Sitz

FeldTypBedeutung
countrystringLand, immer AUT
bundeslandstringBundesland als Code, z. B. W Wien, O Oberösterreich (alle Codes)
citystringOrt
postal_codestringPostleitzahl
streetstring | nullStraße (oft leer)

company · Eckdaten

FeldTypBedeutung
stammkapitalnumber | nullStammkapital in € (oft leer)
first_filing_yearinterstes verfügbares Abschlussjahr
last_filing_yearintletztes verfügbares Abschlussjahr
filing_years_availableintAnzahl vorhandener Abschlussjahre
founded_yearint | nullGründungsjahr aus der Ersteintragung (Neueintragung im Firmenbuch); verfügbar für ab ~1995 eingetragene Firmen, sonst null
founded_sourcestring | nullHerkunft des Gründungsjahrs (z. B. neueintragung)
descriptionnullin V1 nicht befüllt

size · Größeneinordnung

FeldTypBedeutung
gklstringGrößenklasse: W Kleinst, K Klein, M Mittel, G Groß
bilanzsumme_bandstringBilanzsummen-Band, small bis very_large
peer_percentilesobjectPerzentilrang je Kennzahl innerhalb der eigenen Größenklasse (z. B. bilanzsumme: 99.3 = größer als 99,3 %)

financials · Finanzdaten

Zuerst die Kopf-Felder, danach die Positionen – jede als Zeitreihe (Jahr → Wert).

FeldTypBedeutung
latest_yearintjüngstes Abschlussjahr
has_guv_latestboolhat das jüngste Jahr eine GuV?
revenue_basisstring | nullHerkunft des Umsatzwerts
latestobjectKennwerte des jüngsten Jahres (Teilmenge)
bilanzobjectBilanzpositionen (siehe unten)
guvobjectGuV-Positionen (siehe unten; leer {} ohne GuV)

Bilanz-Positionen in financials.bilanz

PositionBedeutung
Summe
bilanzsummeBilanzsumme (Summe aller Aktiva bzw. Passiva)
Aktiva · Vermögen
anlagevermoegenAnlagevermögen (langfristig gebundenes Vermögen)
sachanlagenSachanlagen (Grundstücke, Gebäude, Maschinen)
finanzanlagenFinanzanlagen (Beteiligungen, Wertpapiere)
umlaufvermoegenUmlaufvermögen (kurzfristig gebundenes Vermögen)
vorraeteVorräte (Lagerbestände)
forderungenForderungen (z. B. aus Lieferungen und Leistungen)
cashLiquide Mittel (Kassa, Bankguthaben)
Passiva · Kapital
eigenkapitalEigenkapital
stammkapitalStammkapital (gezeichnetes Kapital)
kapitalruecklagenKapitalrücklagen
gewinnruecklagenGewinnrücklagen
bilanzgewinn_verlustBilanzgewinn / -verlust
rueckstellungenRückstellungen
verbindlichkeitenVerbindlichkeiten (Fremdkapital / Schulden)

GuV-Positionen in financials.guv · nur bei has_guv (~3 % der Firmen)

Zur Offenlegung der Gewinn- und Verlustrechnung (GuV) sind gemäß § 277 UGB ausschließlich mittelgroße und große Kapitalgesellschaften verpflichtet. Maßgeblich ist, ob an zwei aufeinanderfolgenden Abschlussstichtagen mindestens zwei der folgenden Schwellenwerte (§ 221 UGB; seit 2024) überschritten werden:

  • Bilanzsumme von 6,25 Mio. €
  • Umsatzerlöse von 12,5 Mio. €
  • durchschnittlich 50 Arbeitnehmer

Kleine und Kleinstkapitalgesellschaften haben gemäß § 278 UGB lediglich die Bilanz offenzulegen.

PositionBedeutung
umsatzerloeseUmsatzerlöse — nur beim Gesamtkostenverfahren (~59 % der GuVs)
rohergebnisRohergebnis (Umsatz abzgl. Herstellkosten) — nur beim Umsatzkostenverfahren (~63 % der GuVs)
materialaufwandMaterialaufwand — nur beim Gesamtkostenverfahren
personalaufwandPersonalaufwand
abschreibungenAbschreibungen
ebitBetriebserfolg (operatives Ergebnis vor Finanzergebnis und Steuern), § 231 Abs 2 — nahezu immer vorhanden
ebitdaBetriebserfolg zzgl. Abschreibungen
jahresueberschussJahresüberschuss / -fehlbetrag — nahezu immer vorhanden
operating_resultBetriebserfolg, korrekt benannt (identisch mit ebit) — nur wenn die GuV Finanz­ergebnis und Steuern separat ausweist (~8 %)
ebit_strictechtes EBIT = Ergebnis vor Steuern + Zinsaufwand — nur bei separatem Ausweis (~8 %), sonst nicht enthalten
Zwei GuV-Verfahren: Jede Firma bilanziert nach genau einem von zwei Verfahren, nie nach beiden. Das Gesamtkostenverfahren weist umsatzerloese und materialaufwand aus, das Umsatzkostenverfahren stattdessen rohergebnis (Umsatz abzüglich Herstellkosten). Deshalb fehlt bei rund 40 % der GuVs die Zeile umsatzerloese — der Umsatz steckt dann im rohergebnis. Das Feld revenue_basis auf dem Datensatz nennt, aus welcher der beiden Quellen der Umsatzwert stammt.
Hinweis zu EBIT: Der österreichische UGB-Abschluss (§ 231 Abs 2) weist kein EBIT aus. ebit ist der Betriebserfolg (operatives Ergebnis vor Finanzergebnis und Steuern) und nahezu immer vorhanden; operating_result ist derselbe Wert, korrekt benannt. Das echte EBIT (ebit_strict, inkl. Finanzergebnis = Ergebnis vor Steuern + Zinsaufwand) sowie operating_result erscheinen nur, wenn die GuV Finanzergebnis und Steuern separat ausweist — das betrifft rund 8 % der Abschlüsse; sonst sind diese beiden Felder nicht enthalten. Bei Gesellschaften mit wesentlichem Finanz- oder Beteiligungsergebnis (etwa Holdings) weichen Betriebserfolg und echtes EBIT spürbar ab.
Nur Bilanz, ohne GuV: Wo keine GuV vorliegt, ist guv = {}, revenue_latest = null, und margenbasierte Kennzahlen bleiben ohne Wert. Gezielt filtern mit has_guv / has_guv_latest.

ratios · Kennzahlen

13 Kennzahlen, jede als Zeitreihen-Objekt. Margen- und Renditekennzahlen brauchen eine GuV und bleiben sonst leer.

KennzahlBedeutung
equity_ratioEigenkapitalquote (EK / Bilanzsumme)
debt_ratioFremdkapitalquote (FK / Bilanzsumme)
debt_to_equityVerschuldungsgrad (FK / EK)
working_capital_ratioWorking-Capital-Quote
anlagedeckungsgrad_1Anlagedeckungsgrad I (EK / Anlagevermögen)
ebit_marginMarge auf Betriebserfolg-Basis (operating_result / Umsatz)
ebit_strict_marginMarge auf echtem EBIT (ebit_strict / Umsatz); null, wenn ebit_strict null
ebitda_marginEBITDA-Marge (EBITDA / Umsatz)
net_marginNettomarge (Jahresüberschuss / Umsatz)
personalkostenquotePersonalkostenquote (Personalaufwand / Umsatz)
materialaufwandsquoteMaterialaufwandsquote (Materialaufwand / Umsatz)
roaGesamtkapitalrendite (ROA)
roeEigenkapitalrendite (ROE)
capital_profilequalitatives Kapitalstruktur-Profil

Jedes Kennzahl-Objekt enthält u. a. latest, latest_year, history (Jahr → Wert), avg_3y/avg_5y, min_5y/max_5y, volatility, trend sowie Wachstumsmaße.

growth · Wachstum

FeldTypBedeutung
profilestring | nullshrinking / stable / growing / fast_growing (leer bei < 2 vergleichbaren Jahren)
methodstring | nullBerechnungsbasis des Profils

employees · Beschäftigte

FeldTypBedeutung
latest / latest_year / historyobject | nullBeschäftigtenzahl je Jahr – oft leer, da das Firmenbuch Beschäftigtenzahlen nur lückenhaft führt

filings · Eingereichte Abschlüsse + events

filings[]-FeldTypBedeutung
stichtagstringBilanzstichtag des Abschlusses
formatstringQuellformat (z. B. legacy_finanzonline, jab_4_0)
parsedboolmaschinell ausgewertet?
gklstringGrößenklasse zum Abschluss
doc_key · document_url · pdf_doc_keystring | nullDokument-Verweise (teils leer)

events[] – Registerereignisse (Vollzüge), abgeleitet aus dem täglichen Änderungs-Feed ab 1. Juli 2026. Der amtliche Auszug liefert kein Vollzugs-Logbuch; wir vergleichen bei jeder Tages-Aktualisierung die Stammdaten und erfassen Abweichungen als typisierte Ereignisse (name_change, seat_change, legal_form_change, management_change, capital_change) mit date, description und source. Bei Kapitaländerungen zusätzlich capital_from/capital_to, bei Geschäftsführungs-Änderungen managers_added/managers_removed (Rolle + Name). Zwei Ebenen: die detaillierten Ereignisse (mit Vorher/Nachher) werden ab 1. Juli 2026 erfasst; zusätzlich gibt es gröbere historische Register-Ereignisse (nur Typ + Datum, source=change_feed: founding, deletion, merger, split, conversion, capital_change, legal_form_change u. a.) zurück bis ~2020. Firmenübergreifend abfragbar über list_events (siehe unten).

financial_institution · Reguliertes Finanzunternehmen

Nur bei Banken, Versicherungen und ähnlichen regulierten Instituten vorhanden. Quelle ist das amtliche Register (OeNB-Bankenliste, per Firmenbuchnummer verknüpft; Versicherer via EIOPA/GLEIF in Vorbereitung) – kein Namens-Raten.

FeldTypBedeutung
kindstringbank, insurer, pensionskasse, vorsorgekasse, fund, other_financial
sourcestringregister (amtliche Liste, eindeutig) oder heuristic (Namens-Fallback)
caveatstringHinweis: Banken (BWG) / Versicherer (VAG) bilanzieren nach eigenem Schema, UGB-Kennzahlen fehlen/abweichen

Auf der Such-Karte erscheint dazu das Flag is_financial_institution (bool).

industry · Branche (ÖNACE / NACE)

Für rund 95 % der Firmen ist die Branche die amtliche ÖNACE-2025-Zuordnung des Registers (Statistik Austria, offener HVD-Datensatz, source = register) — deterministisch, monatlich aktualisiert, mit vollem Pfad bis zur 5-stelligen Subklasse. Nur die restlichen ~5 % (ohne amtliche Zuordnung) werden aus dem Firmenbuch-Geschäftszweig (Freitext) klassifiziert. oenace und nace sind symmetrisch aufgebaut und tragen per Konstruktion dieselben Codes (ÖNACE 2025 = EU NACE Rev. 2.1); ÖNACE mit deutschen und englischen Titeln, NACE mit den offiziellen englischen (NACE hat keine nationale Subklasse und endet auf Klassenebene). Der Original-Geschäftszweig bleibt immer erhalten. Hinweis: Dieser Block hieß früher branch und wurde umbenannt und erweitert.

FeldTypBedeutung
geschaeftszweigstringOriginal-Geschäftszweig (Freitext)
oenace.section / section_label_de / section_label_enstringÖNACE-2025-Abschnitt AV + Titel DE/EN
oenace.division / division_label_de / division_label_enstringAbteilung (2-Steller, z. B. 68) + Titel DE/EN
oenace.group / group_label_de / group_label_enstringGruppe (z. B. 68.3) + Titel DE/EN
oenace.class / subclass / code + *_label_de/*_label_enstringKlasse (z. B. 11.07), 5-stellige Subklasse + code = amtlicher 5-Steller (z. B. 11070) — bei source=register
oenace.versionstringOENACE_2025
nace.section / division / group + *_labelstringEU NACE Rev. 2.1: identische Codes, offizielle englische Titel, version = NACE_REV_2.1
oenace_2008.section / division / group / class + *_label_de/*_label_enstringder ÖNACE-2008-Zwilling – nur bei Freitext-Klassifikation (der amtliche Register-Pfad liefert direkt den 2025-Code); version = OENACE_2008
code_2008stringzugewiesene ÖNACE-2008-Klasse — nur bei Freitext-Klassifikation (nicht bei source=register)
source · classified_fromstringregister (amtliche Statistik-Austria-Zuordnung, maßgeblich) — sonst lexicon / llm · Basis official_register bzw. geschaeftszweig/name

Ohne Geschäftszweig gilt: kein Raten. Nur eindeutige Firmennamen werden klassifiziert (classified_from: name), sonst ist industry leer. Auf der Such-Karte erscheinen geschaeftszweig, industry_section sowie oenace_division/oenace_group (2025) und oenace_division_2008/oenace_group_2008 samt deutschen Labels.

Zwei Fassungen, beide durchsuchbar. Die Codes sind ÖNACE 2025 (= NACE Rev. 2.1); zusätzlich wird die ÖNACE 2008-Fassung geführt. Die Filter oenace_section/oenace_division/oenace_group matchen beide Fassungen – eine Abfrage in der älteren Systematik läuft also nie ins Leere. Achtung auf die Unterschiede: der Kfz-Handel ist in ÖNACE 2008 die Abteilung 45, in ÖNACE 2025 auf 46/47 aufgeteilt. Die Umschlüsselung ist die offizielle Statistik-Austria-Korrespondenztabelle (deterministisch). list_sectors zeigt, welche Abteilungen je Fassung vorkommen.

management · Geschäftsführung

FeldTypBedeutung
n_signatories_latestintAnzahl Zeichnungsberechtigter (jüngstes Jahr)
signatories_stable_yearsintJahre konstanter Geschäftsführung
primary_manager.ageintaktuelles Alter des primären GF (jahresbasiert)
primary_manager.birth_yearintGeburtsjahr (nur Jahr)
primary_manager.role_labelstringFunktion (z. B. Geschäftsführer/in)
primary_manager.vertretungstring | nullVertretungsart (Einzel- / Gemeinschaftsvertretung)
signatories[]ListeVollständige Zeichnungsberechtigte (alle Organe: GF + Prokuristen …) — je Eintrag name (nur mit Rechtsgrundlage), role_label, vertretung, birth_year (nur Jahr), age
Datenschutz (DSGVO): Namen der vertretungsbefugten Personen (z. B. Geschäftsführer) stammen aus dem öffentlichen Firmenbuch und werden für die Einzelabfrage ausgeliefert. Geburtsdaten nur jahresgenau (Alter / Geburtsjahr, ohne Tag und Monat). Massenextraktion und Weiterverkauf sind laut Nutzungsbedingungen untersagt.

3 get_full_record → voller Datensatz

Enthält alles aus dem Profil plus:

  • financials.positions – vollständige 317-Positionen-Taxonomie (jede UGB-Position)
  • financials.passthrough – unbekannte Quell-Codes inkl. Historie (verlustfrei)
  • financials.completeness – Qualitätsmaß (Positionsanzahl je Jahr)
  • financials.guv_years – Liste der Jahre mit GuV
  • management.signatories_history – Zeichnungsberechtigte je Jahr
  • derivationsmetrics_version + Formel-Registry der Kennzahlen

Auch hier dieselbe Regel: Namen der Organe sind öffentliche Firmenbuch-Daten (Einzelabfrage), Geburtsdaten nur jahresgenau.

4 list_events · get_event_stats → Änderungs-Feed (Pro)

Firmenübergreifender Feed der Registeränderungen – die Markt- und Deal-Sourcing-Sicht: „welche Firmen haben Geschäftsführung geändert / Kapital erhöht / den Sitz verlegt – wo, seit wann". Für die Änderungshistorie einer bekannten Firma genügt get_company_details (Feld events[]).

list_events · Filter

ArgumentBedeutung
typeseine/mehrere aus name_change / seat_change / legal_form_change / capital_change / management_change
since / untilZeitraum (ISO-Datum); Standard: letzte 30 Tage
bundesland · oenace_section · oenace_division · legal_formdieselben Facetten wie search_companies
fnrsWatchlist – nur diese Firmenbuchnummern beobachten
page · page_sizeSeite (1) · Treffer je Seite (25, max 100)

Rückgabe je Ereignis: fnr, name, date, type, description, bei Kapital capital_from/capital_to, bei Geschäftsführung managers_added/managers_removed (Rolle + Name), plus bundesland, legal_form, industry_section. Sortiert nach Datum (neueste zuerst).

get_event_stats liefert zu denselben Filtern Zähler nach Typ und nach Bundesland – für Markt-Dashboards („wie viele Kapitalerhöhungen in OÖ diesen Monat").

Firmen statt Ereignisse? Wer Firmen sucht, die ein Ereignis hatten – mit Finanzkontext und nach Größe gereiht –, nutzt den Filter event_signal in search_companies (siehe Abschnitt 5). Die auslösenden Ereignisse hängen dann an jeder Firmenkarte.

Zwei Ebenen. Detaillierte Änderungen mit Vorher/Nachher (capital_from/capital_to, managers_added/managers_removed) werden ab 1. Juli 2026 laufend aus dem täglichen Stammdaten-Vergleich erfasst. Zusätzlich reichen gröbere historische Register-Ereignisse (nur Typ + Datum, source=change_feed) bis ~2020 zurück. Ein leeres Ergebnis heißt: keine Änderung im Zeitraum – keine fehlenden Daten.

5 Filter, Sortierung, Seiten

Argumente von search_companies.

FilterBedeutung
nameTeilstring im Firmennamen
legal_formRechtsform, z. B. GmbH
bundeslandKlarname, z. B. Wien
size_gklGrößenklasse W/K/M/G
bilanzsumme_min / _maxBilanzsumme von / bis (€)
equity_ratio_min / _maxEigenkapitalquote von / bis (0–1)
revenue_min / _maxUmsatz von / bis (€)
employees_min / _maxBeschäftigte von / bis
growth_profileshrinking / stable / growing / fast_growing
has_guv · has_guv_latestnur Firmen mit GuV (je / im jüngsten Jahr)
last_filing_year_minjüngster Abschluss mindestens aus diesem Jahr
founded_year_min / _maxGründungsjahr von / bis
gf_age_minprimärer GF mindestens X Jahre (Nachfolge-Screen)
manager_nameTeilstring im Namen der vertretungsbefugten Person (öffentliche Firmenbuchdaten)
oenace_section / oenace_division / oenace_groupBranche: Abschnitt (AV), Abteilung (68) oder Gruppe (68.3, präzise Peers). Matcht ÖNACE 2025 und ÖNACE 2008 – z. B. Kfz-Handel als 45 (2008) oder 46/47 (2025)
geschaeftszweigTeilstring im Geschäftszweig-Freitext
postal_code / cityPLZ-Präfix (1010 exakt, 10 = alle 10xx) bzw. Ort (Teilstring)
nearUmkreissuche: { place, radius_km } oder { postal_code, radius_km } (genau eines; Radius 1–150 km). Treffer erhalten distance_km und werden nach Entfernung sortiert. Ein mehrdeutiger Ortsname wird mit den Kandidaten-PLZ abgewiesen.
queryFreitext-Suche über Name und Tätigkeit; frei mit allen strukturierten Filtern kombinierbar. Jede Karte erhält match_reason (welches Feld traf).
event_signal (Pro)Ereignis-getriebene Suche – nur Firmen, die im Zeitraum ein Corporate-Event-Signal hatten: ownership_change (Gesellschafter-Kapitaländerung, oft Anteilsübertragung), leadership_change (GF-/Organ-Wechsel), capital_raise (Kapitalerhöhung), restructuring (Verschmelzung/Spaltung/Einbringung/…), new_company, closure, rebrand, relocation. Kombiniert mit allen Finanz-/Profilfiltern; jede Karte erhält die auslösenden events + latest_event_date. Das ist die Deal-Sourcing-/Vertriebs-Trigger-Sicht.
event_since / event_untilZeitfenster für event_signal (ISO-Datum); Standard: letzte 365 Tage
statusactive / inactive / all

Sortierung: sort = { field, descending } über bilanzsumme, revenue, equity_ratio, employees, last_filing_year, revenue_growth_1y, revenue_growth_3y, revenue_growth_5y (Umsatzwachstum: 1 Jahr, 3- und 5-Jahres-CAGR; nur bei mehrjähriger GuV, sonst zuletzt gereiht) (oder distance bei einer Umkreissuche). Standard: Bilanzsumme absteigend. Ein unbekanntes Sortierfeld wird mit der Liste der gültigen Felder abgewiesen. Seiten: page (ab 1), page_size (Standard 25).

Antwort-Hilfen. Jede Suche liefert zusätzlich has_more (weitere Seiten vorhanden), applied_filters (die tatsächlich angewandten, normierten Filter – z. B. „Wien" → W) und, wenn eine Suche mit ≥ 2 Filtern 0 Treffer ergibt, relaxations: welcher eine Filter fallen sollte, um Treffer zu erhalten (mit Trefferzahl je Variante). So findet ein KI-Agent in einem Aufruf die richtige Einschränkung statt blind zu variieren. Namenssuchen sind relevanz-sortiert (exakte/Präfix-Treffer zuerst).

6 Code-Tabellen

Bundesland (Code → Klarname): B Burgenland · K Kärnten · N Niederösterreich · O Oberösterreich · S Salzburg · St Steiermark · T Tirol · V Vorarlberg · W Wien.

Rechtsform: Der granulare Firmenbuch-Code steht im Profil (legal_form). Die GmbH-Familie ist das Präfix GE… (GES ≈ 99,7 %); die Suchkarte labelt das als GmbH.

Größenklasse gkl: W Kleinst/Mikro · K Klein · M Mittel · G Groß.

7 Beispiel-Antwort

So sieht eine vollständige get_company_details-Antwort für ein Musterunternehmen aus (gekürzt; Zeitreihen exemplarisch). Felder mit null bzw. leere Objekte/Listen sind ebenfalls Teil der Antwort und werden, wo sinnvoll, mitgesendet, damit der Agent den Unterschied zwischen „nicht vorhanden" und „unbekannt" auswerten kann.

Hinweis: Dieses Beispiel ist ein Musterdatensatz zur Veranschaulichung der Struktur.

// Antwort-Umschlag
"schema_version": "1.0",
"data_version": "2026-06-27",
"provenance": {
  "source":        "Österreichisches Firmenbuch / BMJ – Justiz",
  "license":       "CC BY 4.0",
  "data_version":  "2026-06-27",
  "schema_version": "1.0",
  "built_at":      "2026-06-27T07:32:14Z"
},
"result": {
  "identity": {
    "fnr":         "999999x",
    "register_id": "AT_999999x",
    "name":        "Beispiel Industrie GmbH",
    "legal_form":  "GES",           // Code → Label "GmbH" (siehe §5)
    "status":      "active",
    "court":       null
  },
  "location": {
    "country":     "AUT",
    "bundesland":  "O",             // Oberösterreich
    "city":        "Linz",
    "postal_code": "4020",
    "street":      null
  },
  "company": {
    "stammkapital":           35000,
    "first_filing_year":      2014,
    "last_filing_year":       2024,
    "filing_years_available": 11,
    "founded_year":           2013,
    "founded_source":         "first_filing-1",
    "description":            "Unternehmensberatung"
  },
  "size": {
    "gkl":               "M",           // Mittel
    "bilanzsumme_band":  "large",
    "peer_percentiles": {
      "bilanzsumme":    82.4,
      "equity_ratio":   71.3,
      "revenue":        68.9
    }
  },
  "financials": {
    "latest_year":     2024,
    "has_guv_latest":  true,
    "revenue_basis":   "umsatzerloese",
    "latest": {
      "bilanzsumme":    12450000,
      "eigenkapital":   5230000,
      "umsatzerloese":  18900000,
      "ebit":           1430000,
      "ebitda":         2210000,
      "jahresueberschuss": 980000
    },
    "bilanz": {
      "bilanzsumme": {
        "latest":      12450000,
        "latest_year": 2024,
        "history":     { "2022": 10840000, "2023": 11620000, "2024": 12450000 }
      },
      "eigenkapital":    { "latest": 5230000,  "history": { "2022": 4380000, "2023": 4790000, "2024": 5230000 } }
      // … weitere Bilanzpositionen (verbindlichkeiten, anlagevermoegen, vorraete, cash, …)
    },
    "guv": {
      "umsatzerloese":  { "latest": 18900000, "history": { "2022": 16200000, "2023": 17550000, "2024": 18900000 } },
      "ebit":           { "latest": 1430000,  "history": { "2022": 1180000, "2023": 1290000, "2024": 1430000 } }
      "materialaufwand":   { "latest": -9100000 },
      "personalaufwand":   { "latest": -5200000 },
      "abschreibungen":    { "latest": -780000 },
      "ebitda":            { "latest": 2210000 },
      "jahresueberschuss": { "latest": 980000 }
      // Umsatzkostenverfahren stattdessen: "rohergebnis" statt umsatzerloese + materialaufwand
    }
  },
  "ratios": {
    "equity_ratio": {
      "latest":        0.42,
      "latest_year":   2024,
      "history":       { "2022": 0.404, "2023": 0.412, "2024": 0.42 },
      "avg_3y":        0.412,
      "min_5y":        0.39,
      "max_5y":        0.42,
      "trend":         "rising",
      "growth_1y":     0.019,
      "growth_3y_cagr": 0.021
    },
    "ebit_margin":  { "latest": 0.076, "trend": "stable" }
    // … debt_ratio, debt_to_equity, working_capital_ratio, anlagedeckungsgrad_1,
    //    ebitda_margin, net_margin, personalkostenquote, materialaufwandsquote,
    //    roa, roe, capital_profile
  },
  "growth": {
    "profile": "growing",
    "method":  "revenue_3y_cagr"
  },
  "employees": null,                  // im Firmenbuch nur lückenhaft
  "management": {
    "n_signatories_latest":    2,
    "signatories_stable_years": 4,
    "primary_manager_name":    "Maria Beispiel",   // öffentliche Firmenbuch-Daten (Name serviert)
    "primary_manager": {
      "age":         52,
      "birth_year":  1974,            // nur Jahr (DSGVO)
      "role_label":  "GESCHÄFTSFÜHRER/IN (handelsrechtlich)",
      "vertretung":  "selbständig"
    }
  },
  "filings": [
    {
      "stichtag":     "2024-12-31",
      "format":       "jab40_semantic",
      "parsed":       true,
      "gkl":          "M",
      "eingereicht":  "2025-08-12",
      "document_url": "https://justizonline.gv.at/…",
      "pdf_doc_key":  null
    }
    // … ältere Abschlüsse, sortiert nach stichtag absteigend
  ],
  "events": [],
  "industry": {                              // Branche – aus dem Geschäftszweig abgeleitet
    "geschaeftszweig": "Unternehmensberatung",
    "oenace": {                              // ÖNACE 2025 (national), Titel DE + EN
      "section":           "N",
      "section_label_de":  "Erbringung von freiberuflichen, wissenschaftlichen und technischen Dienstleistungen",
      "section_label_en":  "Professional, scientific and technical activities",
      "division":          "70",
      "division_label_de": "Verwaltung und Führung von Unternehmen; Unternehmensberatung",
      "division_label_en": "Activities of head offices and management consultancy",
      "group":             "70.2",
      "group_label_de":    "Unternehmensberatung",
      "group_label_en":    "Business and other management consultancy activities",
      "version":           "OENACE_2025"
    },
    "nace": {                                // EU NACE Rev. 2.1 – gleiche Codes, engl. Titel
      "section":        "N",
      "section_label":  "Professional, scientific and technical activities",
      "division":       "70",
      "division_label": "Activities of head offices and management consultancy",
      "group":          "70.2",
      "group_label":    "Business and other management consultancy activities",
      "version":        "NACE_REV_2.1"
    },
    "oenace_2008": {                          // ÖNACE-2008-Zwilling, symmetrisch – auch durchsuchbar
      "section":           "M",
      "division":          "70",
      "division_label_de": "Verwaltung und Führung von Unternehmen; Unternehmensberatung",
      "group":             "70.2",
      "class":             "70.22",
      "version":           "OENACE_2008"
    },
    "code_2008":       "70.22",       // zugewiesene ÖNACE-2008-Klasse
    "source":          "llm",          // oder "lexicon"
    "classified_from": "geschaeftszweig"  // oder "name"
  }
}

In der Suchkarte (search_companies) sind bereits Codes als Labels aufgelöst (z. B. legal_form: "GmbH", bundesland: "Oberösterreich"). Im vollständigen Profil und im get_full_record stehen die Roh-Codes; die Tabellen oben in §5 erklären die Auflösung.

8 Stand & Gewähr

Jede Antwort trägt provenance.data_version und built_at (Erstellungszeit der ausgelieferten Daten). Die Daten stammen aus dem österreichischen Firmenbuch (BMJ – Justiz, EU High Value Dataset, CC BY 4.0), werden automatisiert verarbeitet und ohne Gewähr auf Richtigkeit, Vollständigkeit und Aktualität bereitgestellt. Maßgeblich ist stets der amtliche Firmenbuchauszug.

Entwickler-Variante dieser Seite: FIELD_REFERENCE.md im Repo.