Datenquellen
| Quelle | Betreiber | Lizenz | Weitergabe an Kunden | Art | Soll-Alter | Ab Werk |
|---|---|---|---|---|---|---|
| GLEIF Golden Copy (LEI Level 1) | Global Legal Entity Identifier Foundation (GLEIF) | CC0-1.0 | ja | Bulk | 3 Tage | an |
| VIES (USt-IdNr.-Prüfung) | Europäische Kommission, GD TAXUD | eigen | nein | On-demand | – | an |
| Gemeinsames Registerportal der Länder (handelsregister.de) | Länder der Bundesrepublik Deutschland (Justiz) | eigen | nein | On-demand | – | aus |
| Wikidata (Organisationen DACH mit Website) | Wikimedia Foundation | CC0-1.0 | ja | Bulk | 14 Tage | aus |
| OffeneRegister Unternehmensdaten (Stand 2019) | OKF Deutschland, OpenCorporates | CC-BY-4.0 | ja | Einmalig | – | aus |
| Firmenbuch Österreich (HVD, BMJ) | Republik Österreich, vertreten durch das Bundesministerium für Justiz (BMJ) | eigen | nein | Bulk | – | aus |
| Zefix (Zentraler Firmenindex Schweiz) | Bundesamt für Justiz (BJ), Schweizerische Eidgenossenschaft | OGD-CH | nein | On-demand | – | aus |
Felder aus Quellen ohne Weitergabe (nein) erscheinen nie in einer Antwort. Pflicht-Namensnennungen der ausgegebenen Quellen:
- Quelle: GLEIF (Global Legal Entity Identifier Foundation), Golden Copy, CC0 1.0
- Quelle: Wikidata, CC0 1.0
- Quelle: OffeneRegister.de / OpenCorporates, CC BY 4.0, Stand 2019
Die Lizenz-IDs stehen in der Tabelle source und an jeder Beobachtung. eigen heißt: eigene oder noch ungeklärte Bedingungen, deshalb keine Weitergabe.
Einzelheiten je Quelle
Stand: 11.10.2026. Diese Seite wird auf docs.impressum.tech gezeigt. Grundlage sind die Recherche vom 10.10.2026
(FakeshopAI/docu/analyse/impressum-tech-markt-recht-quellen-2026-10-10.md) und ADR 0004. Die Lizenz-IDs und
Namensnennungen unten stehen auch in der Tabelle source (Spalten license_id, attribution, redistributable,
max_age_days) und werden beim Start des Workers abgeglichen. Jede Beobachtung trägt die Lizenz-ID ihrer Quelle.
Zusammenfassung des Betriebszustands:
| Quelle | Art | Takt | Zustand ab Werk |
|---|---|---|---|
| GLEIF Golden Copy | Bulk | täglich, Soll höchstens 3 Tage alt | an |
| VIES | On-demand | je Anfrage, 24 h Cache | an |
| handelsregister.de | On-demand | höchstens 1 Abruf pro Minute | aus (Formularfelder ungeprüft) |
| Wikidata | Bulk | wöchentlich, Soll höchstens 14 Tage alt | aus (Abfrage nicht live geprüft) |
| OffeneRegister | Einmal | nur auf ausdrücklichen Start | aus (Start per Hand) |
| Firmenbuch AT | Bulk | geplant täglich | aus (Vertrag fehlt) |
| Zefix (CH) | On-demand | je Anfrage | aus (Konto fehlt) |
Den Schalter hält source.enabled; er überlebt einen Neustart. Einschalten: update source set enabled = true where id = '<id>'.
GLEIF Golden Copy (Level 1)
- Betreiber: Global Legal Entity Identifier Foundation (GLEIF).
- Lizenz (wörtlich, https://www.gleif.org/en/meta/lei-data-terms-of-use): „The data available through the Access Service are provided under the CC0 licence, see CC0 1.0 Universal (CC0 1.0).“
license_idCC0-1.0,redistributableja. Haftung: Die Daten stammen von Dritten. - Zugang: ohne Konto. Die Publish-API
https://goldencopy.gleif.org/api/v2/golden-copies/publishes/lei2/latestnennt die aktuelle Datei. Am 10.10.2026: 3.458.632 Datensätze, CSV-ZIP 480 MB (LEI-CDF 3.1, rund 330 Spalten). Der Lauf lädt das ZIP gestreamt auf die Platte, liest die CSV als Strom und reicht nur Datensätze mit Rechtsanschrift oder Rechtsraum inGLEIF_COUNTRIESweiter (Vorgabe DE, AT, CH; rund 260.000 Datensätze für DE). - Abbildung:
company(Name, Rechtsform-Code, Status, Gründungsdatum, Sitzanschrift),identifiervom Typleimit Statusconfirmed,register_entrynur wo das Gericht eindeutig ist: AT (RA000017, Firmenbuch, ArtFN) und CH (RA000548/RA000549, ArtCHE) ohne Gerichtscode. Bei DE nennt GLEIF nur Registerart und -nummer sowie einen RA-Code je Amtsgericht, aber keinen XJustiz-Gerichtscode; die Angabe steht als BeobachtungregisterohnecourtCode, es entsteht keinregister_entry. - Importschutz: mindestens 200.000 Datensätze (bei Länderliste ohne DE 1.000), höchstens 10 % Schwund, höchstens 10 % geänderte Datensätze.
- Takt: täglich; Status
stale, wenn der letzte Erfolg älter als 3 Tage ist.
VIES (USt-IdNr.-Prüfung)
- Betreiber: Europäische Kommission. Zugang:
POST https://ec.europa.eu/taxation_customs/vies/rest-api/check-vat-numbermit{"countryCode","vatNumber"}, ohne Konto. Am 10.10.2026 geprüft: Antwort mitvalid,requestDate,requestIdentifier,name,address; fehlt dem Mitgliedstaat die Angabe, steht---(Deutschland liefert Name und Anschrift nicht). - Lizenz:
eigen. Das Original der VIES-Bedingungen ließ sich nicht abrufen; die Recherche belegt nur die Drittangabe „forbid extracting or retransmitting VIES data other than to support your own legitimate activity“. Deshalbredistributablenein: Ausgabe des Ergebnisses an Kunden erst nach Prüfung der Bedingungen (ADR 0004). - Ergebnis: Beobachtung
vatIdmitstatusconfirmedoderrejected; die Kennung (identifier, Typvat) wird entsprechend bestätigt oder verworfen. Eine USt-IdNr. gilt erst mitconfirmedals Schlüssel. - Drosselung: Limiter 20 Anfragen pro Minute; Antworten wie
MS_UNAVAILABLEundMS_MAX_CONCURRENT_REQsind vorübergehende Fehler, der Auftrag wird mit wachsendem Abstand wiederholt (bis 5 Versuche). Cache: 24 Stunden je Anfrage (Redis).
handelsregister.de
- Betreiber: Länder (Justiz), Gemeinsames Registerportal.
- Rechtsrahmen (wörtlich): § 9 Abs. 1 HGB: „Die Einsichtnahme in das Handelsregister sowie in die zum Handelsregister eingereichten Dokumente ist jedem zu Informationszwecken durch einzelne Abrufe gestattet.“ (https://www.gesetze-im-internet.de/hgb/__9.html). § 52 Satz 2 HRV: „… jeweils nur einzeln für jedes Registerblatt möglich ist und dass keine gezielte Suche nach natürlichen Personen möglich ist.“ (https://www.gesetze-im-internet.de/hdlregvfg/__52.html). Nutzungsordnung, zitiert nach der README von bundesAPI/handelsregister (https://raw.githubusercontent.com/bundesAPI/handelsregister/main/README.md, verweist auf
handelsregister.de/rp_web/information.xhtml): „es unzulässig ist, mehr als 60 Abrufe pro Stunde zu tätigen“, Verweis auf §§ 303a, 303b StGB. Das Original der Nutzungsordnung wurde nicht gelesen. - Umsetzung: nur Einzelabruf je Registerblatt (Art + Nummer, optional Gericht), nie eine Suche nach Namen oder Personen. Limiter 1 Abruf pro Minute in eigener Queue
source-handelsregister; aus dem Treffer entstehen Beobachtungen zu Name, Sitz, Rechtsform (aus der Firmierung abgeleitet) und Status mit Methoderegister. Ist das Blatt nicht eindeutig (mehrere Treffer), entsteht keine Beobachtung. Lizenzeigen,redistributablenein (Weiterverwendung laut OffeneRegister „in Nutzungsbedingungen ausgeschlossen“, älterer Stand). - Offen: Ein Abruf besteht aus drei HTTP-Anfragen (Startseite, Navigation, Suche). Ob das Portal je Seite oder je Suche zählt, ist nicht belegt; zählt es je Seite, sind 1 Abruf/Minute rechnerisch 180 Anfragen pro Stunde. Der Betreiber entscheidet vor dem Einschalten über den Limiter.
- Stand: Aus der Entwicklungsumgebung war das Portal nicht erreichbar (Zeitüberschreitung am 10.10.2026). Die Formularfelder der Registernummer-Suche (
FORM_FIELDS) stammen aus dem Python-Werkzeug und sind ungeprüft. Vor dem Einschalten:pnpm --filter @itk/connectors probe-handelsregisterauf einem Rechner mit Zugang (2 Abrufe, keine Suche).
Wikidata
- Betreiber: Wikimedia Foundation. Lizenz (wörtlich, https://www.wikidata.org/wiki/Wikidata:Licensing): „Wikidata requires a CC0 license, which is equivalent to public domain …“.
license_idCC0-1.0,redistributableja. - Zugang: SPARQL
https://query.wikidata.org/sparql(Fair-Use-Grenzen, User-Agent mit KontaktCRAWLER_USER_AGENT). Teilmenge: Items mit Land DE/AT/CH (P17), offizieller Website (P856) und einer Unternehmens-Klasse als Instanz (P31), seitenweise zu 2.000, je Item aggregiert; dazu Label (de), LEI (P1278) und Sitzort (P159). Eine Registernummer wird nicht abgefragt, weil keine gesicherte Wikidata-Eigenschaft dafür gefunden wurde. - Zweck: Entdeckungsquelle. Je Website entsteht eine Beobachtung
officialCompanyauf der Domain (starkes Verifikationssignal für Domain ↔ Firma); die Firma wird über LEI oder Wikidata-ID einer bestehenden zugeordnet, sonst neu angelegt. - Takt: wöchentlich, Soll höchstens 14 Tage.
- Stand: Die Abfrage wurde am 10.10.2026 gegen den Dienst versucht und endete mit Zeitüberschreitung bzw. 502; sie ist nicht live geprüft (das Ergebnisformat ist durch eine Probeantwort im Test gedeckt). Ab Werk aus; vor dem Einschalten einen Lauf von Hand starten und die Abfrage notfalls anpassen (
wikidataQuery).
OffeneRegister (Startbestand)
- Betreiber: OKF Deutschland, Daten von OpenCorporates. Datei:
https://daten.offeneregister.de/de_companies_ocdata.jsonl.bz2(260.455.433 Byte, Stand 05.02.2019). - Lizenz (wörtlich, https://offeneregister.de): „Die Daten können unter der Creative Commons Attribution License 4.0 mit Attribution an OpenCorporates weiterverwendet werden.“ Readme: „According to Section 8.2 of the Commercial Code, this dataset shall not be put into circulation using or including the designation ‚Commercial Register‘ or ‚Handelsregister‘.“ Außerdem: „OpenCorporates does not claim any rights over this underlying data (and it is possible that the original sources may claim rights over this).“
license_idCC-BY-4.0, Namensnennung: „OffeneRegister.de / OpenCorporates, CC BY 4.0, Stand 2019“; die Quelle heißt deshalb „OffeneRegister Unternehmensdaten“, nie „Handelsregister“. - Übernommen: Name, Sitz, Registerart und -nummer (mit Gerichtsort, ohne XJustiz-Code, daher kein
register_entry), Rechtsform aus der Firmierung, Status; nur Einträge mit Status „currently registered“. Historische Vertreter (officers) werden nicht übernommen. Konfidenz 0,5 oder niedriger (Stand 2019). - Start nur ausdrücklich:
pnpm --filter @itk/worker run-source offeneregister [--file=<pfad>] [--force](lädt die Datei, wenn kein--filegegeben ist) oder ein Auftragrun-sourcein der Queuesource. Ein zweiter Lauf nach Erfolg braucht--force, weil derselbe Bestand unter einer anderen Datei Dubletten anlegen würde. - Vorher
update source set enabled = true where id = 'offeneregister'.
Firmenbuch Österreich (abgeschaltet)
- Betreiber: Republik Österreich, vertreten durch das BMJ. Zugangsweg laut Recherche (https://bmj.gv.at/dam/jcr:9dbdf2de-70d6-46b9-b5c1-c5e1e4e15ce6/iwg-vereinbarung_firmenbuch_Stand%20Juli%202024.pdf): Vereinbarung nach IWG. Wörtlich: „Die in der Durchführungsverordnung (EU) 2023/138 der Kommission unter Anhang 5. (UNTERNEHMEN UND EIGENTÜMERSCHAFT VON UNTERNEHMEN) genannten Datensätze werden kostenlos abgegeben.“ Bedingungen: „In Ansehung personenbezogener Daten ist nur eine Verwendung im Zusammenhang mit den Zwecken des Firmenbuchs erlaubt (§ 34 Abs. 2 FBG).“; Quelle „die Republik Österreich vertreten durch das BMJ“; „Jede Veränderung oder Anreicherung der Datenbankinhalte ist in einer für den Endnutzer deutlich erkennbaren Form zu vermerken.“; keine Übertragung an Sublizenznehmer; bis zu 60 Stichproben pro Jahr; Kündigung 14 Tage zum Monatsende.
- Ohne Vertrag ist nichts abrufbar. Der Konnektor ist ein Gerüst: Er wirft
SourceNotConfiguredError, holt nichts und läuft nie. - Was der Inhaber beantragen muss: die IWG-Vereinbarung mit dem BMJ für die HVD-Datensätze „Unternehmen und Eigentümerschaft von Unternehmen“ samt Zugangsdaten und Lieferweg (Format, Takt). Danach
fetchundmapumsetzen,source.enabledsetzen,redistributablebleibt nein, eine ADR zur zweckgebundenen Ausgabe von Personendaten (ADR 0004 kündigt ein additives Feld an).
Zefix (Schweiz, abgeschaltet)
- Betreiber: Bundesamt für Justiz (BJ). Zugang geprüft am 10.10.2026:
POST https://www.zefix.admin.ch/ZefixPublicREST/api/v1/firm/search.jsonohne Zugangsdaten antwortet HTTP 401. Die REST-Schnittstelle braucht ein Konto (Basic Auth). - Lizenz: „OGD“ mit Pflicht zur Quellenangabe (Recherche; der Lizenztext der Datensatzseite ließ sich nicht abrufen).
license_idOGD-CH,redistributablevorerst nein. - Der Konnektor ruft einen Eintrag je UID ab (
ZEFIX_USER,ZEFIX_PASSWORD), die Feldzuordnung ist nicht gegen echte Antworten geprüft. Ohne Zugangsdaten wirft erSourceNotConfiguredError. - Was der Inhaber beantragen muss: ein Zefix-Webservice-Konto beim Bundesamt für Justiz, und die Lizenzbedingungen im Original lesen. Alternative ohne Konto: SPARQL-Endpunkt LINDAS (
https://lindas.admin.ch/query/, tägliche Kerndaten aktiver Rechtsträger); nicht umgesetzt.
Betrieb der Selbstpflege
- Scheduler: alle 30 Minuten (
7,37 * * * *) prüft der Worker in der Queuesource, welche Bulk-Quelle fällig ist (Zeitpunkt des letzten Versuchs insource.last_attempt_atgegenConnector.everyMs; nach einem Fehler spätestens nach 6 Stunden erneut). Läufe laufen nacheinander mit 5 Sekunden Pause. - Importschutz: Mindestzahl, höchstens 10 % Schwund gegenüber dem letzten Stand, höchstens X % Änderung (Wert je Quelle). Eine Ablehnung lässt den Bestand unberührt, setzt
source.last_errorund löst die Mail aus. - Frische:
decideStatus(disabled,failed,stale,current). Je Quelle und Zustandswechsel geht genau eine Mail anADMIN_ALERT_EMAIL, der gemeldete Zustand steht inworker_state(sourceHealth:<id>); die Rückkehr aufcurrentlöst eine Entwarnung aus. Versand per SMTP (SMTP_HOST,SMTP_PORT,SMTP_SECURE,SMTP_USER,SMTP_PASS,SMTP_FROM); ohne Konfiguration steht eine Warnung im Log und die Mail gilt als nicht gesendet, wird also im nächsten Durchlauf wiederholt. - Golden Record: berührte Firmen werden in Paketen zu 500 als Auftrag
rebuildin die Queuegoldengestellt ({ companyIds }); den Neubau baut AP5.