Personen und Vertretung
Wer eine Firma führt und vertritt.
Das Register nennt die Personen einer Firma: Geschäftsführung, Vorstand, Prokura, Inhaber, Partner und die Gesellschafter einer KG oder OHG. Das Firmenprofil liefert sie mit dem Feature related_persons (Geschäftsführung). Du bekommst aktuelle und frühere Personen, jeweils mit Rolle, Zeitraum und Vertretungsbefugnis.
Zu einer einzelnen Person liefert das Personenprofil mehr: alle ihre Rollen in anderen Firmen, ihre Beteiligungen und eine Recherche im Web.
Personen abrufen
Fordere das Feature related_persons an. Die Antwort enthält dann den Schlüssel related_persons mit zwei Listen: current für alle, die ihre Rolle heute innehaben, und past für alle, die ausgeschieden sind. Jede Rolle ist ein eigener Eintrag. In unserer Beispielanfrage für die Hetzner Online GmbH, Ansbach HRB 6089, standen drei Geschäftsführer in current. Zwei von ihnen standen mit ihrer früheren Prokura noch einmal in past. Alle Angaben zu Personen in den Beispielantworten sind Musterdaten.
curl -G "https://handelsregister.ai/api/v1/fetch-organization" \ -H "x-api-key: DEIN_API_SCHLUESSEL" \ --data-urlencode 'q=Hetzner Online GmbH' \ --data-urlencode 'feature=related_persons'
import requests response = requests.get( "https://handelsregister.ai/api/v1/fetch-organization", headers={"x-api-key": "DEIN_API_SCHLUESSEL"}, params={ "q": "Hetzner Online GmbH", "feature": ["related_persons"], }, ) data = response.json()
const url = new URL("https://handelsregister.ai/api/v1/fetch-organization"); url.searchParams.append("q", "Hetzner Online GmbH"); url.searchParams.append("feature", "related_persons"); const response = await fetch(url, { headers: { "x-api-key": "DEIN_API_SCHLUESSEL" }, }); const data = await response.json();
1{2 "name": "Hetzner Online GmbH",3 "related_persons": {4 "current": [5 {6 "entity_id": "ea3a1670232611a992727ed067216d07",7 "label": "MANAGING_DIRECTOR",8 "role": {9 "en": {10 "long": "Managing Director",11 "short": "MD"12 },13 "de": {14 "long": "Geschäftsführer",15 "short": "GF"16 }17 },18 "name": "Paul Musterwald",19 "start_date": "2019-01-04",20 "end_date": null,21 "birth_date": "1989-07-18",22 "name_parts": {23 "given": "Paul",24 "family": "Musterwald",25 "maiden": null,26 "canonical_name": "Musterwald, Paul",27 "previous_names": null28 },29 "location": {30 "home": {31 "city": "Exempelingen i. Bay."32 }33 },34 "organization_representation_scheme": {35 "current": [36 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."37 ],38 "history": [39 {40 "value": [41 "Ist nur ein Vorstandsmitglied bestellt, so vertritt es die Gesellschaft allein. Sind mehrere Vorstandsmitglieder bestellt, so wird die Gesellschaft durch zwei Vorstandsmitglieder oder durch ein Vorstandsmitglied gemeinsam mit einem Prokuristen vertreten."42 ],43 "effective_from": "2002-10-15",44 "effective_to": "2015-07-28"45 },46 {47 "value": [48 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."49 ],50 "effective_from": "2015-07-28",51 "effective_to": null52 }53 ]54 },55 "role_representation_scheme": {56 "current": [57 "einzelvertretungsberechtigt."58 ],59 "history": [60 {61 "value": [62 "einzelvertretungsberechtigt."63 ],64 "effective_from": "2019-01-04",65 "effective_to": null66 }67 ]68 }69 },70 {71 "entity_id": "dd7e94b41f78de4195cc70c6b0f732f3",72 "label": "MANAGING_DIRECTOR",73 "role": {74 "en": {75 "long": "Managing Director",76 "short": "MD"77 },78 "de": {79 "long": "Geschäftsführer",80 "short": "GF"81 }82 },83 "name": "Jan Musterhuber",84 "start_date": "2019-01-04",85 "end_date": null,86 "birth_date": "1955-11-06",87 "name_parts": {88 "given": "Jan",89 "family": "Musterhuber",90 "maiden": null,91 "canonical_name": "Musterhuber, Jan",92 "previous_names": null93 },94 "location": {95 "home": {96 "city": "Probeingen"97 }98 },99 "organization_representation_scheme": {100 "current": [101 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."102 ],103 "history": [104 {105 "value": [106 "Ist nur ein Vorstandsmitglied bestellt, so vertritt es die Gesellschaft allein. Sind mehrere Vorstandsmitglieder bestellt, so wird die Gesellschaft durch zwei Vorstandsmitglieder oder durch ein Vorstandsmitglied gemeinsam mit einem Prokuristen vertreten."107 ],108 "effective_from": "2002-10-15",109 "effective_to": "2015-07-28"110 },111 {112 "value": [113 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."114 ],115 "effective_from": "2015-07-28",116 "effective_to": null117 }118 ]119 },120 "role_representation_scheme": {121 "current": [122 "einzelvertretungsberechtigt."123 ],124 "history": [125 {126 "value": [127 "einzelvertretungsberechtigt."128 ],129 "effective_from": "2019-01-04",130 "effective_to": null131 }132 ]133 }134 },135 {136 "entity_id": "08ed5f967956831ca6588930fd2693ed",137 "label": "MANAGING_DIRECTOR",138 "role": {139 "en": {140 "long": "Managing Director",141 "short": "MD"142 },143 "de": {144 "long": "Geschäftsführer",145 "short": "GF"146 }147 },148 "name": "Max Felix Mustermann",149 "start_date": "2015-07-28",150 "end_date": null,151 "birth_date": "1976-01-15",152 "name_parts": {153 "given": "Max Felix",154 "family": "Mustermann",155 "maiden": null,156 "canonical_name": "Mustermann, Max Felix",157 "previous_names": null158 },159 "location": {160 "home": {161 "city": "Musterheim"162 }163 },164 "organization_representation_scheme": {165 "current": [166 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."167 ],168 "history": [169 {170 "value": [171 "Ist nur ein Vorstandsmitglied bestellt, so vertritt es die Gesellschaft allein. Sind mehrere Vorstandsmitglieder bestellt, so wird die Gesellschaft durch zwei Vorstandsmitglieder oder durch ein Vorstandsmitglied gemeinsam mit einem Prokuristen vertreten."172 ],173 "effective_from": "2002-10-15",174 "effective_to": "2015-07-28"175 },176 {177 "value": [178 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."179 ],180 "effective_from": "2015-07-28",181 "effective_to": null182 }183 ]184 },185 "role_representation_scheme": {186 "current": [187 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen."188 ],189 "history": [190 {191 "value": [192 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen."193 ],194 "effective_from": "2015-07-28",195 "effective_to": null196 }197 ]198 }199 }200 ],201 "past": [202 {203 "entity_id": "ea3a1670232611a992727ed067216d07",204 "label": "PROCURA",205 "role": {206 "en": {207 "long": "Procura",208 "short": "Procura"209 },210 "de": {211 "long": "Prokura",212 "short": "Prokura"213 }214 },215 "name": "Paul Musterwald",216 "start_date": "2015-07-28",217 "end_date": "2019-01-04",218 "birth_date": "1989-07-18",219 "name_parts": {220 "given": "Paul",221 "family": "Musterwald",222 "maiden": null,223 "canonical_name": "Musterwald, Paul",224 "previous_names": null225 },226 "location": {227 "home": {228 "city": "Exempelingen i. Bay."229 }230 },231 "organization_representation_scheme": {232 "latest": [233 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."234 ],235 "history": [236 {237 "value": [238 "Ist nur ein Vorstandsmitglied bestellt, so vertritt es die Gesellschaft allein. Sind mehrere Vorstandsmitglieder bestellt, so wird die Gesellschaft durch zwei Vorstandsmitglieder oder durch ein Vorstandsmitglied gemeinsam mit einem Prokuristen vertreten."239 ],240 "effective_from": "2002-10-15",241 "effective_to": "2015-07-28"242 },243 {244 "value": [245 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."246 ],247 "effective_from": "2015-07-28",248 "effective_to": null249 }250 ]251 },252 "role_representation_scheme": {253 "latest": [254 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"255 ],256 "history": [257 {258 "value": [259 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"260 ],261 "effective_from": "2015-07-28",262 "effective_to": "2019-01-04"263 }264 ]265 }266 },267 {268 "entity_id": "dd7e94b41f78de4195cc70c6b0f732f3",269 "label": "PROCURA",270 "role": {271 "en": {272 "long": "Procura",273 "short": "Procura"274 },275 "de": {276 "long": "Prokura",277 "short": "Prokura"278 }279 },280 "name": "Jan Musterhuber",281 "start_date": "2015-07-28",282 "end_date": "2019-01-04",283 "birth_date": "1955-11-06",284 "name_parts": {285 "given": "Jan",286 "family": "Musterhuber",287 "maiden": null,288 "canonical_name": "Musterhuber, Jan",289 "previous_names": null290 },291 "location": {292 "home": {293 "city": "Probeingen"294 }295 },296 "organization_representation_scheme": {297 "latest": [298 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."299 ],300 "history": [301 {302 "value": [303 "Ist nur ein Vorstandsmitglied bestellt, so vertritt es die Gesellschaft allein. Sind mehrere Vorstandsmitglieder bestellt, so wird die Gesellschaft durch zwei Vorstandsmitglieder oder durch ein Vorstandsmitglied gemeinsam mit einem Prokuristen vertreten."304 ],305 "effective_from": "2002-10-15",306 "effective_to": "2015-07-28"307 },308 {309 "value": [310 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."311 ],312 "effective_from": "2015-07-28",313 "effective_to": null314 }315 ]316 },317 "role_representation_scheme": {318 "latest": [319 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"320 ],321 "history": [322 {323 "value": [324 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"325 ],326 "effective_from": "2015-07-28",327 "effective_to": "2019-01-04"328 }329 ]330 }331 },332 {333 "entity_id": "08ed5f967956831ca6588930fd2693ed",334 "label": "BOARD",335 "role": {336 "en": {337 "long": "Board Member",338 "short": "Board"339 },340 "de": {341 "long": "Vorstandsmitglied",342 "short": "Vorstand"343 }344 },345 "name": "Max Felix Mustermann",346 "start_date": "2002-10-15",347 "end_date": "2015-07-28",348 "birth_date": "1976-01-15",349 "name_parts": {350 "given": "Max Felix",351 "family": "Mustermann",352 "maiden": null,353 "canonical_name": "Mustermann, Max Felix",354 "previous_names": null355 },356 "location": {357 "home": {358 "city": "Musterheim"359 }360 },361 "organization_representation_scheme": {362 "latest": [363 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."364 ],365 "history": [366 {367 "value": [368 "Ist nur ein Vorstandsmitglied bestellt, so vertritt es die Gesellschaft allein. Sind mehrere Vorstandsmitglieder bestellt, so wird die Gesellschaft durch zwei Vorstandsmitglieder oder durch ein Vorstandsmitglied gemeinsam mit einem Prokuristen vertreten."369 ],370 "effective_from": "2002-10-15",371 "effective_to": "2015-07-28"372 },373 {374 "value": [375 "Ist nur ein Geschäftsführer bestellt, so vertritt er die Gesellschaft allein. Sind mehrere Geschäftsführer bestellt, so wird die Gesellschaft durch zwei Geschäftsführer oder durch einen Geschäftsführer gemeinsam mit einem Prokuristen vertreten."376 ],377 "effective_from": "2015-07-28",378 "effective_to": null379 }380 ]381 },382 "role_representation_scheme": {383 "latest": [384 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen"385 ],386 "history": [387 {388 "value": [389 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen"390 ],391 "effective_from": "2002-10-15",392 "effective_to": "2015-07-28"393 }394 ]395 }396 }397 ]398 }399}
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| related_personsobject|null |
Alle eingetragenen Personen der Firma, aufgeteilt in current und past.related_persons |
– | immer |
| related_persons.currentarray | Personen, die ihre Rolle heute innehaben. | – | wie oben |
| related_persons.pastarray | Personen, die ausgeschieden sind, mit denselben Feldern wie current. In den beiden Vertretungsregelungen steht latest statt current: die letzte Fassung vor dem Ausscheiden.Leer, wenn seit der Eintragung niemand ausgeschieden ist | – | meist |
Felder einer Person
Jeder Eintrag in current und past hat dieselben Felder. Ohne Echtzeit trägt eine Person in allen Firmenprofilen und im Personenprofil dieselbe entity_id. So erkennst du sie in mehreren Firmen wieder. Personen aus einem Echtzeit-Abruf haben eigene IDs.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| related_persons.current[].entity_idstring|null |
ID der Person. Ohne Echtzeit ist sie in allen Firmenprofilen gleich und entspricht der entity_id im Personenprofil.related_persons |
"ea3a1670232611a992727ed067216d07" |
immer |
| related_persons.current[].labelstring |
Rolle als fester Wert. Weitere Werte sind möglich.Werte: MANAGING_DIRECTOR Geschäftsführer, TEMPORARY_MANAGING_DIRECTOR Notgeschäftsführer, BOARD Vorstandsmitglied, BOARD_CHAIR Vorsitz des Vorstands, DIRECTOR geschäftsführender Direktor, etwa einer SE, PROCURA Prokurist, LIQUIDATOR Liquidator, INSOLVENCY_ADMINISTRATOR Insolvenzverwalter, REPRESENTATIVE ständiger Vertreter, FULLY_LIABLE_PARTNER persönlich haftender Gesellschafter, LIMITED_PARTNER Kommanditist, PARTNER Partner oder Gesellschafter, OWNER Inhaber, PROPRIETOR Inhaber, TREASURER Kassenwart eines Vereins, SECRETARY Schriftführer eines Vereins, YOUTH_WARDEN Jugendwart eines Vereins, WATER_WARDEN Wasserwart eines Vereins, OTHER andere Rolle |
"MANAGING_DIRECTOR" |
wie oben |
| related_persons.current[].roleobject | Rollenbezeichnung zum Anzeigen, in de und en, jeweils lang (long) und kurz (short), etwa Geschäftsführer und GF. | – | wie oben |
| related_persons.current[].namestring | Vollständiger Name, wie er im Register steht. |
"Paul Musterwald" |
wie oben |
| related_persons.current[].name_partsobject | Der Name in seinen Teilen, zum Sortieren und Abgleichen. | – | wie oben |
| related_persons.current[].name_parts.givenstring|null | Vorname, bei mehreren alle. |
"Paul" |
wie oben |
| related_persons.current[].name_parts.familystring|null | Nachname. |
"Musterwald" |
wie oben |
| related_persons.current[].name_parts.canonical_namestring|null | Der Name meist in der Form „Nachname, Vorname“, zum Sortieren und Abgleichen. |
"Musterwald, Paul" |
wie oben |
| related_persons.current[].name_parts.maidenstring|null | Geburtsname.Leer, wenn keiner eingetragen ist |
null |
selten |
| related_persons.current[].name_parts.previous_namesarray|null | Frühere Namen der Person als Liste.Leer, wenn keine eingetragen sind |
null |
wie oben |
| related_persons.current[].titlesarray | Akademische Titel, etwa Dr. Der Schlüssel fehlt, wenn kein Titel eingetragen ist. | – | wie oben |
| related_persons.current[].birth_datestring|null | Geburtsdatum im Format JJJJ-MM-TT, wie im Register eingetragen.Leer, wenn kein Datum eingetragen ist |
"1989-07-18" |
meist |
| related_persons.current[].locationobject|null | Orte der Person. | – | wie oben |
| related_persons.current[].location.home.citystring|null | Wohnort, wie im Register eingetragen. Eine vollständige Anschrift steht nicht im Register.Leer, wenn kein Wohnort eingetragen ist |
"Exempelingen i. Bay." |
wie oben |
| related_persons.current[].start_datestring|null | Beginn der Rolle im Format JJJJ-MM-TT.Leer, wenn der Beginn nicht bekannt ist, etwa bei Echtzeit |
"2019-01-04" |
wie oben |
| related_persons.current[].end_datestring|null | Ende der Rolle. Bei Personen in past ist es gefüllt.Leer, wenn die Rolle noch besteht |
null |
immer |
Geschäftsführung und Vorstand
Die Geschäftsführung einer GmbH oder UG hat das Label MANAGING_DIRECTOR. Den Vorstand einer AG, SE oder eG erkennst du an BOARD, den Vorsitz an BOARD_CHAIR. Wird eine Firma aufgelöst, übernehmen Liquidatoren mit LIQUIDATOR die Vertretung.
label. Die Texte in role sind für die Anzeige gedacht.
Prokura
Prokura ist die im Register eingetragene Vollmacht, die Firma in fast allen Geschäften zu vertreten. Prokuristen haben das Label PROCURA. Ob jemand allein oder nur gemeinsam mit anderen handeln darf, steht in role_representation_scheme, etwa „Gesamtprokura gemeinsam mit einem Vorstandsmitglied“.
Persönlich haftende Gesellschafter
Bei KG, OHG und KGaA vertreten die persönlich haftenden Gesellschafter die Firma. Sie haben das Label FULLY_LIABLE_PARTNER. Kommanditisten einer KG stehen mit LIMITED_PARTNER im Register, der Inhaber eines e.K. mit OWNER, die Partner einer PartG oder eGbR mit PARTNER.
Bei einer GmbH & Co. KG ist die persönlich haftende Gesellschafterin meist selbst eine GmbH. Ihre Geschäftsführung findest du im Firmenprofil dieser GmbH.
Rollen nach Rechtsform
Welche Rollen eine Firma hat, folgt aus ihrer Rechtsform. Die Tabelle zeigt, welche Labels du je Rechtsform typischerweise siehst. Alle Labels mit Bedeutung stehen oben bei label.
| Rechtsform | Typische Labels |
|---|---|
| GmbH, UG | MANAGING_DIRECTOR, PROCURA, in Liquidation LIQUIDATOR |
| AG, SE | BOARD, BOARD_CHAIR, PROCURA |
| KGaA | FULLY_LIABLE_PARTNER, PROCURA |
| GmbH & Co. KG | LIMITED_PARTNER, PROCURA |
| KG, OHG | FULLY_LIABLE_PARTNER, bei der KG LIMITED_PARTNER, PROCURA |
| e.K. | OWNER |
| eG | BOARD, BOARD_CHAIR, PROCURA |
| PartG, eGbR | PARTNER |
| e.V. | BOARD |
Vertretungsbefugnis
Jede Person bringt zwei Regelungen mit. role_representation_scheme ist ihre eigene Befugnis, etwa „einzelvertretungsberechtigt“. organization_representation_scheme ist die allgemeine Regel der Firma, dieselbe wie representation_scheme in den Stammdaten. Beide haben current und history; bei früheren Personen steht latest statt current.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| related_persons.current[].role_representation_schemeobject |
Die eigene Vertretungsbefugnis der Person, etwa „einzelvertretungsberechtigt“ oder eine Befreiung von § 181 BGB. current ist die geltende Fassung, history der Verlauf mit value, effective_from und effective_to.related_persons |
– |
meist: GmbH, UG, AG, SE, KGaA, GmbH & Co. KG, KG, OHG, eG, PartG selten: e.K. |
| related_persons.current[].organization_representation_schemeobject | Die allgemeine Vertretungsregelung der Firma, bei jeder Person mitgeliefert. Aufbau wie role_representation_scheme. | – |
immer: GmbH, UG, GmbH & Co. KG, KG, OHG, eG, PartG meist: AG, SE, KGaA, e.K. |
Personen mit Echtzeit
Mit realtime_mode=handelsregister-default kommen die aktuell eingetragenen Personen direkt aus dem Handelsregister, auch ohne das Feature related_persons. Berechnet wird dann nur Echtzeit, nicht das Feature. Die Antwort enthält nur current.
In dieser Liste sind start_date und end_date leer, Namen können kürzer sein und die entity_id einer Person kann von der ohne Echtzeit abweichen. Zum Abgleich eignen sich Name und Geburtsdatum.
Fragst du Echtzeit und related_persons zusammen an, kommt current aus dem Live-Abruf und past aus dem Firmenprofil. Dann wird auch das Feature berechnet.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| related_persons.current[].name_parts.aliasesarray |
Schreibweisen des Namens aus dem Live-Abruf, in der Form „Nachname, Vorname“. Nur mit Echtzeit.related_persons |
– | immer |
Personenprofil
Das Personenprofil (fetch-person) beschreibt eine einzelne Person: ihre Rollen in allen Firmen, mit denen sie verbunden ist, und was öffentliche Webquellen über sie sagen. Du findest die Person über ihren Namen und eine Firma, in der sie eine Rolle hat oder hatte.
Das Personenprofil gibt es mit jedem Credit-Abo ab Plus. Eine Anfrage dauert oft zehn bis dreißig Sekunden, weil wir dabei im Web recherchieren. Stell den Timeout deines Clients auf mindestens 120 Sekunden.
curl -G "https://handelsregister.ai/api/v1/fetch-person" \ -H "x-api-key: DEIN_API_SCHLUESSEL" \ --data-urlencode 'person_q=Max Mustermann' \ --data-urlencode 'organization_q=Hetzner Online GmbH'
import requests response = requests.get( "https://handelsregister.ai/api/v1/fetch-person", headers={"x-api-key": "DEIN_API_SCHLUESSEL"}, params={ "person_q": "Max Mustermann", "organization_q": "Hetzner Online GmbH", }, ) data = response.json()
const url = new URL("https://handelsregister.ai/api/v1/fetch-person"); url.searchParams.append("person_q", "Max Mustermann"); url.searchParams.append("organization_q", "Hetzner Online GmbH"); const response = await fetch(url, { headers: { "x-api-key": "DEIN_API_SCHLUESSEL" }, }); const data = await response.json();
1{2 "entity_id": "08ed5f967956831ca6588930fd2693ed",3 "name": "Max Felix Mustermann",4 "birth_date": "1976-01-15",5 "name_parts": {6 "given": "Max Felix",7 "family": "Mustermann",8 "maiden": null,9 "canonical_name": "Mustermann, Max Felix",10 "previous_names": null11 },12 "location": {13 "home": {14 "city": "Musterheim"15 }16 },17 "bio": "Max Felix Mustermann ist Geschäftsführer der Hetzner Online GmbH und Unternehmer im Bereich Rechenzentren.",18 "expertise": [19 "Rechenzentren",20 "Hosting"21 ],22 "contact": {23 "emails": [24 {25 "address": "[email protected]",26 "type": "organization",27 "label": "Allgemeine Unternehmenskontakt-E-Mail"28 },29 {30 "address": "[email protected]",31 "type": "organization",32 "label": "E-Mail für Produktfeedback"33 }34 ],35 "phones": [36 {37 "number": "+49374574447100",38 "type": "organization",39 "entity": "Hetzner Online GmbH",40 "label": "Öffentliche Unternehmens-Telefonnummer"41 },42 {43 "number": "+49911234226100",44 "type": "organization",45 "entity": "Hetzner Online GmbH",46 "label": "Öffentliche Unternehmens-Telefonnummer"47 },48 {49 "number": "+4998315050",50 "type": "organization",51 "entity": "Hetzner Online GmbH",52 "label": "Zentrale Unternehmensnummer"53 }54 ]55 },56 "profiles": {57 "linkedin": null,58 "other": []59 },60 "affiliations": [61 {62 "organization": "ENSoXX Holding AG",63 "relation": "Vorstandsmitglied"64 },65 {66 "organization": "Hetzner Online GmbH",67 "relation": "Geschäftsführer"68 },69 {70 "organization": "ENSoXX hilft e.V.",71 "relation": "Vorstandsmitglied"72 },73 {74 "organization": "TRAIDY UG (haftungsbeschränkt)",75 "relation": "Geschäftsführer"76 },77 {78 "organization": "HT clean energy GmbH",79 "relation": "Geschäftsführer"80 },81 {82 "organization": "DreamSoXX GmbH",83 "relation": "Geschäftsführer"84 },85 {86 "organization": "Lighthouse GmbH",87 "relation": "Prokura"88 },89 {90 "organization": "ENSoXX GmbH",91 "relation": "Geschäftsführer"92 },93 {94 "organization": "ENSoXX Invest GmbH",95 "relation": "Geschäftsführer"96 },97 {98 "organization": "Sonnenkraft Merkendorf GmbH & Co. KG",99 "relation": "Kommanditist"100 },101 {102 "organization": "Modellsportclub Gunzenhausen e.V.",103 "relation": "Vorstandsmitglied"104 },105 {106 "organization": "possum Projekt 1 GmbH",107 "relation": "Prokura"108 }109 ],110 "handelsregister_roles": [111 {112 "entity_id": "94eb910fef13f94585c48c263fa446d4",113 "name": "Hetzner Online GmbH",114 "label": "BOARD",115 "role": {116 "en": "Board Member",117 "de": "Vorstandsmitglied"118 },119 "start_date": "2002-10-15",120 "end_date": "2015-07-28"121 },122 {123 "entity_id": "0b3435f83ce8591300625100815d4583",124 "name": "Hetzner Online GmbH",125 "label": "BOARD",126 "role": {127 "en": "Board Member",128 "de": "Vorstandsmitglied"129 },130 "start_date": "2002-10-15",131 "end_date": "2015-07-28"132 },133 {134 "entity_id": "0b3435f83ce8591300625100815d4583",135 "name": "Hetzner Online GmbH",136 "label": "MANAGING_DIRECTOR",137 "role": {138 "en": "Managing Director",139 "de": "Geschäftsführer"140 },141 "start_date": "2015-07-28",142 "end_date": null143 },144 {145 "entity_id": "94eb910fef13f94585c48c263fa446d4",146 "name": "Hetzner Online GmbH",147 "label": "MANAGING_DIRECTOR",148 "role": {149 "en": "Managing Director",150 "de": "Geschäftsführer"151 },152 "start_date": "2015-07-28",153 "end_date": null154 },155 {156 "entity_id": "dd1cfcd3a25b5a63d549d768e2fcaaaf",157 "name": "ENSoXX GmbH",158 "label": "MANAGING_DIRECTOR",159 "role": {160 "en": "Managing Director",161 "de": "Geschäftsführer"162 },163 "start_date": "2015-08-14",164 "end_date": null165 },166 {167 "entity_id": "58d67a0bb99b2bc5644cb8daba58e6a6",168 "name": "ENSoXX Holding AG",169 "label": "BOARD",170 "role": {171 "en": "Board Member",172 "de": "Vorstandsmitglied"173 },174 "start_date": "2016-02-03",175 "end_date": null176 },177 {178 "entity_id": "bc1c1e106ade810eb960c779d4c752a8",179 "name": "ENSoXX hilft e.V.",180 "label": "BOARD",181 "role": {182 "en": "Board Member",183 "de": "Vorstandsmitglied"184 },185 "start_date": "2017-02-24",186 "end_date": null187 },188 {189 "entity_id": "b34f5fcc114e7d4c5fe9d5f6f8fb0d10",190 "name": "TRAIDY UG (haftungsbeschränkt)",191 "label": "MANAGING_DIRECTOR",192 "role": {193 "en": "Managing Director",194 "de": "Geschäftsführer"195 },196 "start_date": "2022-03-14",197 "end_date": null198 },199 {200 "entity_id": "4cd425f9ad57d6119f704ba53131b480",201 "name": "Modellsportclub Gunzenhausen e.V.",202 "label": "BOARD",203 "role": {204 "en": "Board Member",205 "de": "Vorstandsmitglied"206 },207 "start_date": "2023-06-06",208 "end_date": "2026-08-12"209 },210 {211 "entity_id": "0e8b1b4fc27a3ecc07d397750505e7b5",212 "name": "ENSoXX Invest GmbH",213 "label": "MANAGING_DIRECTOR",214 "role": {215 "en": "Managing Director",216 "de": "Geschäftsführer"217 },218 "start_date": "2023-12-13",219 "end_date": null220 },221 {222 "entity_id": "2ab71b59057969183dd811adf9f32ebd",223 "name": "HT clean energy GmbH",224 "label": "MANAGING_DIRECTOR",225 "role": {226 "en": "Managing Director",227 "de": "Geschäftsführer"228 },229 "start_date": "2024-08-20",230 "end_date": null231 },232 {233 "entity_id": "260286ab8baa3a8977fddd56b9361c6c",234 "name": "DreamSoXX GmbH",235 "label": "MANAGING_DIRECTOR",236 "role": {237 "en": "Managing Director",238 "de": "Geschäftsführer"239 },240 "start_date": "2025-01-13",241 "end_date": null242 },243 {244 "entity_id": "7582db1f94e1538ba8f531f6a95a7f1b",245 "name": "Lighthouse GmbH",246 "label": "PROCURA",247 "role": {248 "en": "Procura",249 "de": "Prokura"250 },251 "start_date": "2025-03-25",252 "end_date": null253 },254 {255 "entity_id": "232d2ed634eef59eb21836cc47cb5645",256 "name": "Sonnenkraft Merkendorf GmbH & Co. KG",257 "label": "LIMITED_PARTNER",258 "role": {259 "en": "Limited Partner",260 "de": "Kommanditist"261 },262 "start_date": "2026-02-18",263 "end_date": null264 },265 {266 "entity_id": "64922d416b4dd7006f3c2c62efaabd5d",267 "name": "possum Projekt 1 GmbH",268 "label": "PROCURA",269 "role": {270 "en": "Procura",271 "de": "Prokura"272 },273 "start_date": "2026-09-04",274 "end_date": null275 },276 {277 "entity_id": "997f1b8314b8b56573208ae2334abb1d",278 "name": "possum Projekt 1 GmbH",279 "label": "PROCURA",280 "role": {281 "en": "Procura",282 "de": "Prokura"283 },284 "start_date": "2026-09-04",285 "end_date": null286 }287 ],288 "meta": {289 "request_credit_cost": 15,290 "credits_remaining": 145291 }292}
Die Person
Name, Geburtsdatum und Wohnort kommen aus dem Register. Die entity_id ist dieselbe wie in related_persons der Firmenprofile ohne Echtzeit.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| entity_idstring | ID der Person. Dieselbe ID steht in related_persons der Firmenprofile ohne Echtzeit.Personenprofil |
"08ed5f967956831ca6588930fd2693ed" |
immer |
| namestring | Vollständiger Name, wie er im Register steht. |
"Max Felix Mustermann" |
wie oben |
| birth_datestring|null | Geburtsdatum im Format JJJJ-MM-TT, wie im Register eingetragen.Leer, wenn kein Datum eingetragen ist |
"1976-01-15" |
meist |
| name_partsobject | Der Name in seinen Teilen, aufgebaut wie in related_persons. | – | immer |
| name_parts.givenstring|null | Vorname, bei mehreren alle. |
"Max Felix" |
wie oben |
| name_parts.familystring|null | Nachname. |
"Mustermann" |
wie oben |
| name_parts.canonical_namestring|null | Der Name meist in der Form „Nachname, Vorname“, zum Sortieren und Abgleichen. |
"Mustermann, Max Felix" |
wie oben |
| name_parts.maidenstring|null | Geburtsname.Leer, wenn keiner eingetragen ist |
null |
selten |
| name_parts.previous_namesarray|null | Frühere Namen der Person als Liste.Leer, wenn keine eingetragen sind |
null |
wie oben |
| locationobject | Orte der Person. | – | meist |
| location.home.citystring|null | Wohnort, wie im Register eingetragen.Leer, wenn kein Wohnort eingetragen ist |
"Musterheim" |
wie oben |
Rollen und Verbindungen
handelsregister_roles listet jede eingetragene Rolle der Person mit der Firma und ihrem Zeitraum. Mit der entity_id einer Firma rufst du deren Firmenprofil ab. affiliations fasst die Verbindungen kurz zusammen, aus Register und Web.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| handelsregister_rolesarray | Die eingetragenen Rollen der Person mit Firma und Zeitraum, aktuelle und frühere.Personenprofil | – | immer |
| handelsregister_roles[].entity_idstring | entity_id der Firma, für ein Firmenprofil im Parameter q. |
"0b3435f83ce8591300625100815d4583" |
wie oben |
| handelsregister_roles[].namestring | Name der Firma. |
"Hetzner Online GmbH" |
wie oben |
| handelsregister_roles[].labelstring | Rolle als fester Wert, dieselben Werte wie label in related_persons, etwa MANAGING_DIRECTOR, BOARD, PROCURA oder LIMITED_PARTNER. |
"BOARD" |
wie oben |
| handelsregister_roles[].roleobject | Rollenbezeichnung zum Anzeigen, als Text in de und en. | – | wie oben |
| handelsregister_roles[].start_datestring|null | Beginn der Rolle im Format JJJJ-MM-TT.Leer, wenn der Beginn nicht bekannt ist |
"2002-10-15" |
meist |
| handelsregister_roles[].end_datestring|null | Ende der Rolle.Leer, wenn die Rolle noch besteht |
"2015-07-28" |
immer |
| affiliationsarray | Die Firmen, mit denen die Person verbunden ist, je mit der Art der Verbindung. Aus Register und Webquellen zusammengefasst. | – | wie oben |
| affiliations[].organizationstring | Name der Firma. |
"ENSoXX Holding AG" |
wie oben |
| affiliations[].relationstring | Art der Verbindung als deutscher Text, etwa Geschäftsführer, Prokura oder Kommanditist. |
"Vorstandsmitglied" |
wie oben |
Recherche im Web
Kurzprofil, Fachgebiete, Kontaktwege und Quellen ermitteln wir aus öffentlichen Webquellen. Wie viel davon da ist, hängt davon ab, wie sichtbar die Person im Web ist.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| biostring|null | Kurzprofil der Person in ein bis zwei Sätzen auf Deutsch.Leer, wenn das Web zu wenig über die Person hergibt (dann null)Personenprofil |
"Max Felix Mustermann ist Geschäftsführer der Hetzner Onl…" |
meist |
| expertisearray | Fachgebiete und Themen der Person als Liste.Leer, wenn das Web zu wenig über die Person hergibt | – | wie oben |
| contactobject | Kontaktwege, die öffentlich genannt werden, mit emails und phones. | – | immer |
| contact.emailsarray | E-Mail-Adressen als Liste.Leer, wenn keine Adresse gefunden wurde | – | selten |
| contact.emails[].addressstring | Die E-Mail-Adresse. |
"[email protected]" |
wie oben |
| contact.emails[].typestring | Art der Adresse. organization heißt: eine Adresse der Firma, keine private. |
"organization" |
wie oben |
| contact.emails[].labelstring | Wofür die Adresse gedacht ist, als kurzer Text. |
"Allgemeine Unternehmenskontakt-E-Mail" |
wie oben |
| contact.phonesarray | Telefonnummern als Liste.Leer, wenn keine Nummer gefunden wurde | – | wie oben |
| contact.phones[].numberstring | Die Nummer, meist im internationalen Format. |
"+49374574447100" |
wie oben |
| contact.phones[].typestring | Art der Nummer. organization heißt: eine Nummer der Firma. |
"organization" |
wie oben |
| contact.phones[].entitystring | Die Firma, zu der die Nummer gehört. |
"Hetzner Online GmbH" |
wie oben |
| contact.phones[].labelstring | Wofür die Nummer gedacht ist, etwa Zentrale oder Fax. |
"Öffentliche Unternehmens-Telefonnummer" |
wie oben |
| profilesobject | Web-Seiten über die Person, mit linkedin und other. | – | immer |
| profiles.linkedinstring|null | Adresse des LinkedIn-Profils.Leer, wenn keines gefunden wurde |
null |
selten |
| profiles.otherarray | Weitere Seiten über die Person, etwa Presseberichte oder Teamseiten, als Liste von Adressen.Leer, wenn keine gefunden wurden | – | meist |
Beteiligungen und Netzwerk
Zwei Features ergänzen das Personenprofil: shareholdings zeigt die Firmen, an denen die Person beteiligt ist. network zeigt die Firmen und Personen, mit denen sie verbunden ist, über zwei Ebenen. Beide werden nur berechnet, wenn sie Daten liefern.
| Feld | Bedeutung | Beispiel | Verfügbarkeit |
|---|---|---|---|
| shareholdingsobject|null |
Firmen, an denen die Person heute beteiligt ist.Leer, wenn keine Beteiligung bekannt istshareholdings |
– | teils |
| shareholdings.holdings.currentarray | Die aktuellen Beteiligungen als Liste. | – | wie oben |
| shareholdings.holdings.current[].organizationobject | Die Firma mit entity_id, name, status, legal_form, address und registration, aufgebaut wie in den Stammdaten. | – | wie oben |
| shareholdings.holdings.current[].ownership.percentagenumber|null | Anteil am Kapital in Prozent, etwa 33.33. |
100 |
wie oben |
| shareholdings.holdings.current[].ownership.contributionobject|null | Nennbetrag der Beteiligung mit amount und currency. | – | wie oben |
| shareholdings.holdings.current[].as_ofstring|null | Stand der Angabe im Format JJJJ-MM-TT. |
"2025-01-13" |
wie oben |
| shareholdings.summary.total_currentinteger | Anzahl der aktuellen Beteiligungen. |
3 |
wie oben |
| networkobject|null |
Firmen und Personen, mit denen die Person verbunden ist, über zwei Ebenen. Aufbau wie network im Firmenprofil.network · ab Pro · Beta |
– | meist |
| network.depthinteger | Wie viele Ebenen das Netzwerk umfasst, gezählt ab der Person. Die Person selbst ist Ebene 0. |
2 |
wie oben |
| network.nodesarray | Die Knoten: Personen (PERSON) und Firmen (ORGANIZATION) mit entity_id, name und ihrer Ebene. Die Person selbst hat is_root true. | – | wie oben |
| network.connectionsarray | Die Verbindungen zwischen zwei Knoten, je mit Art (ROLE, OWNERSHIP oder GROUP), label, Zeitraum und is_current. | – | wie oben |