Änderungen überwachen
Neue Einträge im Register finden und dich benachrichtigen lassen.
Ändert sich bei einer Firma etwas im Register, willst du es meist schnell wissen. Dafür gibt es vier Wege. Die Tabelle hilft bei der Wahl, darunter steht jeder Weg mit Beispiel.
Die Wege im Vergleich
| Weg | Passt für | Du brauchst | Kosten |
|---|---|---|---|
| Selbst abfragen | Einzelne Firmen, beliebige Felder des Firmenprofils, eigener Takt | Einen Cronjob und einen Speicher für den letzten Stand | Je Abruf der Preis des Firmenprofils |
| Signals | Änderungen über alle Firmen nach Thema und Zeitraum, oder gezielt für bis zu 5 Firmen | Regelmäßige Anfragen per API | 20 Credits pro Seite |
| Monitoring | Ausgewählte Firmen; wir prüfen im festen Rhythmus und melden per Webhook | Einen öffentlich erreichbaren HTTPS-Endpoint | Ein Zykluspreis pro Monitor für 30 Tage |
| Watchlist | Mitlesen ohne eigenen Server, im Browser oder im Feed-Reader | Nur die Web-App | 20 Credits pro Aktualisierung des Feeds, höchstens einmal pro Stunde |
Signals, Monitoring und Watchlist nutzen dieselben Themen. Neueintragungen, Stammdatenänderungen, Löschungen & Auflösungen, Führungswechsel und Kapitaländerungen gibt es für jedes Konto. Insolvenzen kommen mit Pro dazu, Umwandlungen & M&A mit Max.
Selbst abfragen mit fetch-organization
Wenn dich nur bestimmte Felder interessieren, ruf das Firmenprofil regelmäßig ab und vergleich es mit dem letzten Stand. Frag dafür mit der entity_id und den Features, die du vergleichen willst. Im Beispiel ist das die Hetzner Online GmbH, Ansbach HRB 6089.
curl -G "https://handelsregister.ai/api/v1/fetch-organization" \ -H "x-api-key: DEIN_API_SCHLUESSEL" \ --data-urlencode 'q=94eb910fef13f94585c48c263fa446d4' \ --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": "94eb910fef13f94585c48c263fa446d4", "feature": ["related_persons"], }, ) data = response.json()
const url = new URL("https://handelsregister.ai/api/v1/fetch-organization"); url.searchParams.append("q", "94eb910fef13f94585c48c263fa446d4"); 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 "entity_id": "94eb910fef13f94585c48c263fa446d4",3 "name": "Hetzner Online GmbH",4 "status": "ACTIVE",5 "address": {6 "house_number": "25",7 "street": "Industriestraße",8 "postal_code": "91710",9 "city": "Gunzenhausen",10 "county": "Weißenburg-Gunzenhausen",11 "state": "Bayern",12 "country": "DEU",13 "coordinates": {14 "latitude": 49.12483,15 "longitude": 10.7805216 }17 },18 "capital": {19 "current": {20 "amount": 50000,21 "currency": "EUR",22 "kind": "STAMMKAPITAL"23 },24 "history": [25 {26 "value": {27 "amount": 50000,28 "currency": "EUR",29 "kind": "GRUNDKAPITAL"30 },31 "effective_from": "2002-10-15",32 "effective_to": null33 }34 ]35 },36 "related_persons": {37 "current": [38 {39 "entity_id": "ea3a1670232611a992727ed067216d07",40 "label": "MANAGING_DIRECTOR",41 "role": {42 "en": {43 "long": "Managing Director",44 "short": "MD"45 },46 "de": {47 "long": "Geschäftsführer",48 "short": "GF"49 }50 },51 "name": "Paul Musterwald",52 "start_date": "2019-01-04",53 "end_date": null,54 "birth_date": "1989-07-18",55 "name_parts": {56 "given": "Paul",57 "family": "Musterwald",58 "maiden": null,59 "canonical_name": "Musterwald, Paul",60 "previous_names": null61 },62 "location": {63 "home": {64 "city": "Exempelingen i. Bay."65 }66 },67 "organization_representation_scheme": {68 "current": [69 "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."70 ],71 "history": [72 {73 "value": [74 "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."75 ],76 "effective_from": "2002-10-15",77 "effective_to": "2015-07-28"78 },79 {80 "value": [81 "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."82 ],83 "effective_from": "2015-07-28",84 "effective_to": null85 }86 ]87 },88 "role_representation_scheme": {89 "current": [90 "einzelvertretungsberechtigt."91 ],92 "history": [93 {94 "value": [95 "einzelvertretungsberechtigt."96 ],97 "effective_from": "2019-01-04",98 "effective_to": null99 }100 ]101 }102 },103 {104 "entity_id": "dd7e94b41f78de4195cc70c6b0f732f3",105 "label": "MANAGING_DIRECTOR",106 "role": {107 "en": {108 "long": "Managing Director",109 "short": "MD"110 },111 "de": {112 "long": "Geschäftsführer",113 "short": "GF"114 }115 },116 "name": "Jan Musterhuber",117 "start_date": "2019-01-04",118 "end_date": null,119 "birth_date": "1955-11-06",120 "name_parts": {121 "given": "Jan",122 "family": "Musterhuber",123 "maiden": null,124 "canonical_name": "Musterhuber, Jan",125 "previous_names": null126 },127 "location": {128 "home": {129 "city": "Probeingen"130 }131 },132 "organization_representation_scheme": {133 "current": [134 "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."135 ],136 "history": [137 {138 "value": [139 "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."140 ],141 "effective_from": "2002-10-15",142 "effective_to": "2015-07-28"143 },144 {145 "value": [146 "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."147 ],148 "effective_from": "2015-07-28",149 "effective_to": null150 }151 ]152 },153 "role_representation_scheme": {154 "current": [155 "einzelvertretungsberechtigt."156 ],157 "history": [158 {159 "value": [160 "einzelvertretungsberechtigt."161 ],162 "effective_from": "2019-01-04",163 "effective_to": null164 }165 ]166 }167 },168 {169 "entity_id": "08ed5f967956831ca6588930fd2693ed",170 "label": "MANAGING_DIRECTOR",171 "role": {172 "en": {173 "long": "Managing Director",174 "short": "MD"175 },176 "de": {177 "long": "Geschäftsführer",178 "short": "GF"179 }180 },181 "name": "Max Felix Mustermann",182 "start_date": "2015-07-28",183 "end_date": null,184 "birth_date": "1976-01-15",185 "name_parts": {186 "given": "Max Felix",187 "family": "Mustermann",188 "maiden": null,189 "canonical_name": "Mustermann, Max Felix",190 "previous_names": null191 },192 "location": {193 "home": {194 "city": "Musterheim"195 }196 },197 "organization_representation_scheme": {198 "current": [199 "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."200 ],201 "history": [202 {203 "value": [204 "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."205 ],206 "effective_from": "2002-10-15",207 "effective_to": "2015-07-28"208 },209 {210 "value": [211 "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."212 ],213 "effective_from": "2015-07-28",214 "effective_to": null215 }216 ]217 },218 "role_representation_scheme": {219 "current": [220 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen."221 ],222 "history": [223 {224 "value": [225 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen."226 ],227 "effective_from": "2015-07-28",228 "effective_to": null229 }230 ]231 }232 }233 ],234 "past": [235 {236 "entity_id": "ea3a1670232611a992727ed067216d07",237 "label": "PROCURA",238 "role": {239 "en": {240 "long": "Procura",241 "short": "Procura"242 },243 "de": {244 "long": "Prokura",245 "short": "Prokura"246 }247 },248 "name": "Paul Musterwald",249 "start_date": "2015-07-28",250 "end_date": "2019-01-04",251 "birth_date": "1989-07-18",252 "name_parts": {253 "given": "Paul",254 "family": "Musterwald",255 "maiden": null,256 "canonical_name": "Musterwald, Paul",257 "previous_names": null258 },259 "location": {260 "home": {261 "city": "Exempelingen i. Bay."262 }263 },264 "organization_representation_scheme": {265 "latest": [266 "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."267 ],268 "history": [269 {270 "value": [271 "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."272 ],273 "effective_from": "2002-10-15",274 "effective_to": "2015-07-28"275 },276 {277 "value": [278 "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."279 ],280 "effective_from": "2015-07-28",281 "effective_to": null282 }283 ]284 },285 "role_representation_scheme": {286 "latest": [287 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"288 ],289 "history": [290 {291 "value": [292 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"293 ],294 "effective_from": "2015-07-28",295 "effective_to": "2019-01-04"296 }297 ]298 }299 },300 {301 "entity_id": "dd7e94b41f78de4195cc70c6b0f732f3",302 "label": "PROCURA",303 "role": {304 "en": {305 "long": "Procura",306 "short": "Procura"307 },308 "de": {309 "long": "Prokura",310 "short": "Prokura"311 }312 },313 "name": "Jan Musterhuber",314 "start_date": "2015-07-28",315 "end_date": "2019-01-04",316 "birth_date": "1955-11-06",317 "name_parts": {318 "given": "Jan",319 "family": "Musterhuber",320 "maiden": null,321 "canonical_name": "Musterhuber, Jan",322 "previous_names": null323 },324 "location": {325 "home": {326 "city": "Probeingen"327 }328 },329 "organization_representation_scheme": {330 "latest": [331 "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."332 ],333 "history": [334 {335 "value": [336 "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."337 ],338 "effective_from": "2002-10-15",339 "effective_to": "2015-07-28"340 },341 {342 "value": [343 "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."344 ],345 "effective_from": "2015-07-28",346 "effective_to": null347 }348 ]349 },350 "role_representation_scheme": {351 "latest": [352 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"353 ],354 "history": [355 {356 "value": [357 "Gesamtprokura gemeinsam mit einem anderen Prokuristen:"358 ],359 "effective_from": "2015-07-28",360 "effective_to": "2019-01-04"361 }362 ]363 }364 },365 {366 "entity_id": "08ed5f967956831ca6588930fd2693ed",367 "label": "BOARD",368 "role": {369 "en": {370 "long": "Board Member",371 "short": "Board"372 },373 "de": {374 "long": "Vorstandsmitglied",375 "short": "Vorstand"376 }377 },378 "name": "Max Felix Mustermann",379 "start_date": "2002-10-15",380 "end_date": "2015-07-28",381 "birth_date": "1976-01-15",382 "name_parts": {383 "given": "Max Felix",384 "family": "Mustermann",385 "maiden": null,386 "canonical_name": "Mustermann, Max Felix",387 "previous_names": null388 },389 "location": {390 "home": {391 "city": "Musterheim"392 }393 },394 "organization_representation_scheme": {395 "latest": [396 "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."397 ],398 "history": [399 {400 "value": [401 "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."402 ],403 "effective_from": "2002-10-15",404 "effective_to": "2015-07-28"405 },406 {407 "value": [408 "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."409 ],410 "effective_from": "2015-07-28",411 "effective_to": null412 }413 ]414 },415 "role_representation_scheme": {416 "latest": [417 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen"418 ],419 "history": [420 {421 "value": [422 "einzelvertretungsberechtigt; mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen oder als Vertreter eines Dritten Rechtsgeschäfte abzuschließen"423 ],424 "effective_from": "2002-10-15",425 "effective_to": "2015-07-28"426 }427 ]428 }429 }430 ]431 },432 "meta": {433 "request_credit_cost": 7,434 "credits_remaining": 145435 }436}
Das Skript vergleicht Name, Status, Anschrift, Kapital und Geschäftsführung mit dem letzten Lauf und gibt jede Änderung aus. Lass es zum Beispiel einmal pro Woche per Cronjob laufen.
import json import pathlib import requests API = "https://handelsregister.ai/api/v1/fetch-organization" HEADERS = {"x-api-key": "DEIN_API_SCHLUESSEL", "Accept": "application/json"} FIRMEN = ["94eb910fef13f94585c48c263fa446d4"] # die entity_ids deiner Firmen STAND = pathlib.Path("stand.json") def snapshot(entity_id): response = requests.get( API, params={"q": entity_id, "feature": "related_persons"}, headers=HEADERS, timeout=120, ) response.raise_for_status() data = response.json() persons = (data.get("related_persons") or {}).get("current") or [] return { "name": data.get("name"), "status": data.get("status"), "address": data.get("address"), "capital": (data.get("capital") or {}).get("current"), "persons": sorted(f'{p["name"]} ({p["label"]})' for p in persons), } old = json.loads(STAND.read_text()) if STAND.exists() else {} new = {entity_id: snapshot(entity_id) for entity_id in FIRMEN} for entity_id, now in new.items(): before = old.get(entity_id) if before is None: continue for field, value in now.items(): if before.get(field) != value: print(f"{now['name']}: {field} geändert: {before.get(field)} -> {value}") STAND.write_text(json.dumps(new, ensure_ascii=False, indent=2))
Jeder Lauf kostet pro Firma bis zu 7 Credits: die Basisdaten und die Geschäftsführung, diese nur, wenn die API Personen findet. Für viele Firmen oder kurze Abstände sind Signals oder Monitoring günstiger.
Änderungen mit Signals durchsuchen
Signals sind Änderungen aus dem Handelsregister und den Insolvenzbekanntmachungen, aufbereitet als einheitliche Ereignisse. Du filterst über alle Firmen nach Thema (topics) und Zeitraum (from, to).
curl -G "https://handelsregister.ai/api/v1/signals" \ -H "x-api-key: DEIN_API_SCHLUESSEL" \ --data-urlencode 'topics=CAPITAL_CHANGES' \ --data-urlencode 'from=2026-10-26' \ --data-urlencode 'to=2026-10-30'
import requests response = requests.get( "https://handelsregister.ai/api/v1/signals", headers={"x-api-key": "DEIN_API_SCHLUESSEL"}, params={ "topics": "CAPITAL_CHANGES", "from": "2026-10-26", "to": "2026-10-30", }, ) data = response.json()
const url = new URL("https://handelsregister.ai/api/v1/signals"); url.searchParams.append("topics", "CAPITAL_CHANGES"); url.searchParams.append("from", "2026-10-26"); url.searchParams.append("to", "2026-10-30"); const response = await fetch(url, { headers: { "x-api-key": "DEIN_API_SCHLUESSEL" }, }); const data = await response.json();
1{2 "signals": [3 {4 "event": {5 "id": "3abb946f2d6030f1619ed833b226faed",6 "topic": "CAPITAL_CHANGES",7 "topic_name": {8 "de": "Kapitaländerungen",9 "en": "Capital changes"10 },11 "occurred_on": "2026-10-30",12 "announced_on": "2026-10-30",13 "date_basis": "REGISTER_ENTRY"14 },15 "organization": {16 "type": "ORGANIZATION",17 "entity_id": "c6b0c0721497f190aa5dfca1d4573c98",18 "current_profile": {19 "name": "Hans Hörner GmbH",20 "registration": {21 "register_type": "HRB",22 "register_number": "113000",23 "court": "München",24 "register_locality": "Munich",25 "registration_authority_id": "D2601",26 "register_entity_name": "München HRB 113000"27 },28 "legal_form": {29 "name": {30 "de": "Gesellschaft mit beschränkter Haftung"31 },32 "short": {33 "de": "GmbH"34 }35 },36 "seat": {37 "city": "Grafing"38 },39 "status": {40 "code": "ACTIVE"41 }42 }43 },44 "register_entry": {45 "entry_number": "4",46 "entry_date": "2026-10-30",47 "phase": "DECREASED",48 "description_text": "Herabsetzung des Stammkapitals um 25.000,00 EUR auf 25.000,00 EUR",49 "context": "PRIMARY",50 "flags": []51 },52 "source": {53 "kind": "COMMERCIAL_REGISTER"54 },55 "details": {56 "schema": "CAPITAL_CHANGE",57 "capital_kind": "SHARE_CAPITAL",58 "resulting_amount": {59 "amount": "25000.00",60 "currency": "EUR",61 "source_text": "25.000,00 EUR"62 },63 "change_amount": {64 "amount": "25000.00",65 "currency": "EUR",66 "source_text": "25.000,00 EUR"67 }68 }69 },70 {71 "event": {72 "id": "ba5eab558e65d2a4c3059b35e2d155a5",73 "topic": "CAPITAL_CHANGES",74 "topic_name": {75 "de": "Kapitaländerungen",76 "en": "Capital changes"77 },78 "occurred_on": "2026-10-30",79 "announced_on": "2026-10-30",80 "date_basis": "REGISTER_ENTRY"81 },82 "organization": {83 "type": "ORGANIZATION",84 "entity_id": "9bdf1b5c1ae812a39971e45be7d23bb5",85 "current_profile": {86 "name": "Communardo Technologies Group GmbH",87 "registration": {88 "register_type": "HRB",89 "register_number": "46202",90 "court": "Dresden",91 "register_locality": "Dresden",92 "registration_authority_id": "U1104",93 "register_entity_name": "Dresden HRB 46202"94 },95 "legal_form": {96 "name": {97 "de": "Gesellschaft mit beschränkter Haftung"98 },99 "short": {100 "de": "GmbH"101 }102 },103 "seat": {104 "city": "Dresden"105 },106 "status": {107 "code": "ACTIVE"108 }109 }110 },111 "register_entry": {112 "entry_number": "7",113 "entry_date": "2026-10-30",114 "phase": "INCREASED",115 "description_text": "Erhöhung des Stammkapitals um 761,00 EUR auf 32.326,00 EUR",116 "context": "PRIMARY",117 "flags": []118 },119 "source": {120 "kind": "COMMERCIAL_REGISTER"121 },122 "details": {123 "schema": "CAPITAL_CHANGE",124 "capital_kind": "SHARE_CAPITAL",125 "resulting_amount": {126 "amount": "32326.00",127 "currency": "EUR",128 "source_text": "32.326,00 EUR"129 },130 "change_amount": {131 "amount": "761.00",132 "currency": "EUR",133 "source_text": "761,00 EUR"134 }135 }136 },137 {138 "event": {139 "id": "666de98109b29e5270113942cee06f12",140 "topic": "CAPITAL_CHANGES",141 "topic_name": {142 "de": "Kapitaländerungen",143 "en": "Capital changes"144 },145 "occurred_on": "2026-10-29",146 "announced_on": "2026-10-29",147 "date_basis": "REGISTER_ENTRY"148 },149 "organization": {150 "type": "ORGANIZATION",151 "entity_id": "979610227990c4c5368c9356923080df",152 "current_profile": {153 "name": "Norlando GmbH",154 "registration": {155 "register_type": "HRB",156 "register_number": "25441",157 "court": "Bonn",158 "register_locality": "Bonn",159 "registration_authority_id": "R3201",160 "register_entity_name": "Bonn HRB 25441"161 },162 "legal_form": {163 "name": {164 "de": "Gesellschaft mit beschränkter Haftung"165 },166 "short": {167 "de": "GmbH"168 }169 },170 "seat": {171 "city": "Bonn"172 },173 "status": {174 "code": "ACTIVE"175 }176 }177 },178 "register_entry": {179 "entry_number": "2",180 "entry_date": "2026-10-29",181 "phase": "INCREASED",182 "description_text": "Erhöhung des Stammkapitals von 25.000,00 EUR um 75.000,00 EUR auf 100.000,00 EUR",183 "context": "PRIMARY",184 "flags": []185 },186 "source": {187 "kind": "COMMERCIAL_REGISTER"188 },189 "details": {190 "schema": "CAPITAL_CHANGE",191 "capital_kind": "SHARE_CAPITAL",192 "resulting_amount": {193 "amount": "100000.00",194 "currency": "EUR",195 "source_text": "100.000,00 EUR"196 },197 "change_amount": {198 "amount": "75000.00",199 "currency": "EUR",200 "source_text": "75.000,00 EUR"201 }202 }203 },204 {205 "event": {206 "id": "608f0aaddc78a4b9337587f111de0ece",207 "topic": "CAPITAL_CHANGES",208 "topic_name": {209 "de": "Kapitaländerungen",210 "en": "Capital changes"211 },212 "occurred_on": "2026-10-29",213 "announced_on": "2026-10-29",214 "date_basis": "REGISTER_ENTRY"215 },216 "organization": {217 "type": "ORGANIZATION",218 "entity_id": "2dea43c1c48f00f33709b577bec048b0",219 "current_profile": {220 "name": "Aksahin Holding GmbH",221 "registration": {222 "register_type": "HRB",223 "register_number": "10252",224 "court": "Recklinghausen",225 "register_locality": "Recklinghausen",226 "registration_authority_id": "R2204",227 "register_entity_name": "Recklinghausen HRB 10252"228 },229 "legal_form": {230 "name": {231 "de": "Gesellschaft mit beschränkter Haftung"232 },233 "short": {234 "de": "GmbH"235 }236 },237 "seat": {238 "city": "Recklinghausen"239 },240 "status": {241 "code": "ACTIVE"242 }243 }244 },245 "register_entry": {246 "entry_number": "2",247 "entry_date": "2026-10-29",248 "phase": "INCREASED",249 "description_text": "Erhöhung des Stammkapitals um 2,00 EUR auf 25.002,00 EUR",250 "context": "PRIMARY",251 "flags": []252 },253 "source": {254 "kind": "COMMERCIAL_REGISTER"255 },256 "details": {257 "schema": "CAPITAL_CHANGE",258 "capital_kind": "SHARE_CAPITAL",259 "resulting_amount": {260 "amount": "25002.00",261 "currency": "EUR",262 "source_text": "25.002,00 EUR"263 },264 "change_amount": {265 "amount": "2.00",266 "currency": "EUR",267 "source_text": "2,00 EUR"268 }269 }270 },271 {272 "event": {273 "id": "e7b2c5d66bdf3c158f4cfac737fa94fc",274 "topic": "CAPITAL_CHANGES",275 "topic_name": {276 "de": "Kapitaländerungen",277 "en": "Capital changes"278 },279 "occurred_on": "2026-10-29",280 "announced_on": "2026-10-29",281 "date_basis": "REGISTER_ENTRY"282 },283 "organization": {284 "type": "ORGANIZATION",285 "entity_id": "639b277378d2deda22c29275613b6646",286 "current_profile": {287 "name": "UP Projekt 03 GmbH",288 "registration": {289 "register_type": "HRB",290 "register_number": "38108",291 "court": "Dortmund",292 "register_locality": "Dortmund",293 "registration_authority_id": "R2402",294 "register_entity_name": "Dortmund HRB 38108"295 },296 "legal_form": {297 "name": {298 "de": "Gesellschaft mit beschränkter Haftung"299 },300 "short": {301 "de": "GmbH"302 }303 },304 "seat": {305 "city": "Dortmund"306 },307 "status": {308 "code": "ACTIVE"309 }310 }311 },312 "register_entry": {313 "entry_number": "2",314 "entry_date": "2026-10-29",315 "phase": "INCREASED",316 "description_text": "Erhöhung des Stammkapitals von 25.000,00 EUR um 5.000,00 EUR auf 30.000,00 EUR.",317 "context": "PRIMARY",318 "flags": []319 },320 "source": {321 "kind": "COMMERCIAL_REGISTER"322 },323 "details": {324 "schema": "CAPITAL_CHANGE",325 "capital_kind": "SHARE_CAPITAL",326 "resulting_amount": {327 "amount": "30000.00",328 "currency": "EUR",329 "source_text": "30.000,00 EUR"330 },331 "change_amount": {332 "amount": "5000.00",333 "currency": "EUR",334 "source_text": "5.000,00 EUR"335 }336 }337 },338 {339 "event": {340 "id": "dba137d903b8a9dd0bab1cfe3fe68762",341 "topic": "CAPITAL_CHANGES",342 "topic_name": {343 "de": "Kapitaländerungen",344 "en": "Capital changes"345 },346 "occurred_on": "2026-10-29",347 "announced_on": "2026-10-29",348 "date_basis": "REGISTER_ENTRY"349 },350 "organization": {351 "type": "ORGANIZATION",352 "entity_id": "906f01e5d6b10c9251dd39ba30e9df3f",353 "current_profile": {354 "name": "K. Sabelfeld GmbH",355 "registration": {356 "register_type": "HRB",357 "register_number": "18936",358 "court": "Moenchengladbach",359 "register_locality": "Mönchengladbach",360 "registration_authority_id": "R1504",361 "register_entity_name": "Moenchengladbach HRB 18936"362 },363 "legal_form": {364 "name": {365 "de": "Gesellschaft mit beschränkter Haftung"366 },367 "short": {368 "de": "GmbH"369 }370 },371 "seat": {372 "city": "Grevenbroich"373 },374 "status": {375 "code": "ACTIVE"376 }377 }378 },379 "register_entry": {380 "entry_number": "2",381 "entry_date": "2026-10-29",382 "phase": "INCREASED",383 "description_text": "Erhöhung des Stammkapitals von 25.000,00 EUR um 1,00 EUR auf 25.001,00 EUR zum Zwecke der Verschmelzung.",384 "context": "PRIMARY",385 "flags": []386 },387 "source": {388 "kind": "COMMERCIAL_REGISTER"389 },390 "details": {391 "schema": "CAPITAL_CHANGE",392 "capital_kind": "SHARE_CAPITAL",393 "resulting_amount": {394 "amount": "25001.00",395 "currency": "EUR",396 "source_text": "25.001,00 EUR"397 },398 "change_amount": {399 "amount": "1.00",400 "currency": "EUR",401 "source_text": "1,00 EUR"402 }403 }404 },405 {406 "event": {407 "id": "4b707f18b0de4a0752a1ad9178347770",408 "topic": "CAPITAL_CHANGES",409 "topic_name": {410 "de": "Kapitaländerungen",411 "en": "Capital changes"412 },413 "occurred_on": "2026-10-28",414 "announced_on": "2026-10-28",415 "date_basis": "REGISTER_ENTRY"416 },417 "organization": {418 "type": "ORGANIZATION",419 "entity_id": "078c9489680c8ddab48ec56c6946562b",420 "current_profile": {421 "name": "SML Immobilien GmbH",422 "registration": {423 "register_type": "HRB",424 "register_number": "759767",425 "court": "Mannheim",426 "register_locality": "Mannheim",427 "registration_authority_id": "B1601",428 "register_entity_name": "Mannheim HRB 759767"429 },430 "legal_form": {431 "name": {432 "de": "Gesellschaft mit beschränkter Haftung"433 },434 "short": {435 "de": "GmbH"436 }437 },438 "seat": {439 "city": "Reichartshausen"440 },441 "status": {442 "code": "ACTIVE"443 }444 }445 },446 "register_entry": {447 "entry_number": "2",448 "entry_date": "2026-10-28",449 "phase": "INCREASED",450 "description_text": "Stammkapital um 100,00 EUR auf 25.100,00 EUR erhöht.",451 "context": "PRIMARY",452 "flags": []453 },454 "source": {455 "kind": "COMMERCIAL_REGISTER"456 },457 "details": {458 "schema": "CAPITAL_CHANGE",459 "capital_kind": "SHARE_CAPITAL",460 "resulting_amount": {461 "amount": "25100.00",462 "currency": "EUR",463 "source_text": "25.100,00 EUR"464 },465 "change_amount": {466 "amount": "100.00",467 "currency": "EUR",468 "source_text": "100,00 EUR"469 }470 }471 },472 {473 "event": {474 "id": "e849cccdc57ee89b6585956ece263440",475 "topic": "CAPITAL_CHANGES",476 "topic_name": {477 "de": "Kapitaländerungen",478 "en": "Capital changes"479 },480 "occurred_on": "2026-10-28",481 "announced_on": "2026-10-28",482 "date_basis": "REGISTER_ENTRY"483 },484 "organization": {485 "type": "ORGANIZATION",486 "entity_id": "dd006e84d8117f6a4502cfa14757a492",487 "current_profile": {488 "name": "MPS Messe und Promotion Services GmbH",489 "registration": {490 "register_type": "HRB",491 "register_number": "86946",492 "court": "Frankfurt am Main",493 "register_locality": "Frankfurt",494 "registration_authority_id": "M1201",495 "register_entity_name": "Frankfurt am Main HRB 86946"496 },497 "legal_form": {498 "name": {499 "de": "Gesellschaft mit beschränkter Haftung"500 },501 "short": {502 "de": "GmbH"503 }504 },505 "seat": {506 "city": "Frankfurt am Main"507 },508 "status": {509 "code": "ACTIVE"510 }511 }512 },513 "register_entry": {514 "entry_number": "3",515 "entry_date": "2026-10-28",516 "phase": "CHANGED",517 "description_text": "Umstellung des Stammkapitals auf Euro und Erhöhung um 35,40 EUR auf 25.600,00 EUR.",518 "context": "PRIMARY",519 "flags": []520 },521 "source": {522 "kind": "COMMERCIAL_REGISTER"523 },524 "details": {525 "schema": "CAPITAL_CHANGE",526 "capital_kind": "SHARE_CAPITAL",527 "resulting_amount": {528 "amount": "25600.00",529 "currency": "EUR",530 "source_text": "25.600,00 EUR"531 },532 "change_amount": {533 "amount": "35.40",534 "currency": "EUR",535 "source_text": "35,40 EUR"536 }537 }538 },539 {540 "event": {541 "id": "f56d0c2941faef90880d9c9a631e7136",542 "topic": "CAPITAL_CHANGES",543 "topic_name": {544 "de": "Kapitaländerungen",545 "en": "Capital changes"546 },547 "occurred_on": "2026-10-28",548 "announced_on": "2026-10-28",549 "date_basis": "REGISTER_ENTRY"550 },551 "organization": {552 "type": "ORGANIZATION",553 "entity_id": "f9f9b34f2e0e95db74ad7256954a7e97",554 "current_profile": {555 "name": "c BEBUG Berliner Buch- und Musikverlagsgesellschaft mbH",556 "registration": {557 "register_type": "HRB",558 "register_number": "94440",559 "court": "Charlottenburg (Berlin)",560 "register_locality": "Berlin",561 "registration_authority_id": "F1103",562 "register_entity_name": "Charlottenburg (Berlin) HRB 94440"563 },564 "legal_form": {565 "name": {566 "de": "Gesellschaft mit beschränkter Haftung"567 },568 "short": {569 "de": "GmbH"570 }571 },572 "seat": {573 "city": "Berlin"574 },575 "status": {576 "code": "ACTIVE"577 }578 }579 },580 "register_entry": {581 "entry_number": "13",582 "entry_date": "2026-10-28",583 "phase": "INCREASED",584 "description_text": "Stammkapital um 100 EUR auf 30.100,00 EUR erhöht.",585 "context": "PRIMARY",586 "flags": []587 },588 "source": {589 "kind": "COMMERCIAL_REGISTER"590 },591 "details": {592 "schema": "CAPITAL_CHANGE",593 "capital_kind": "SHARE_CAPITAL",594 "resulting_amount": {595 "amount": "30100.00",596 "currency": "EUR",597 "source_text": "30.100,00 EUR"598 },599 "change_amount": {600 "amount": "100.00",601 "currency": "EUR",602 "source_text": "100 EUR"603 }604 }605 },606 {607 "event": {608 "id": "989461137203d93faaa8984eb5849772",609 "topic": "CAPITAL_CHANGES",610 "topic_name": {611 "de": "Kapitaländerungen",612 "en": "Capital changes"613 },614 "occurred_on": "2026-10-28",615 "announced_on": "2026-10-28",616 "date_basis": "REGISTER_ENTRY"617 },618 "organization": {619 "type": "ORGANIZATION",620 "entity_id": "585c00043199b60757c37cacfd574e9a",621 "current_profile": {622 "name": "Woltmann GmbH",623 "registration": {624 "register_type": "HRB",625 "register_number": "120446",626 "court": "Hannover",627 "register_locality": "Hanover",628 "registration_authority_id": "P2305",629 "register_entity_name": "Hannover HRB 120446"630 },631 "legal_form": {632 "name": {633 "de": "Gesellschaft mit beschränkter Haftung"634 },635 "short": {636 "de": "GmbH"637 }638 },639 "seat": {640 "city": "Wedemark"641 },642 "status": {643 "code": "ACTIVE"644 }645 }646 },647 "register_entry": {648 "entry_number": "3",649 "entry_date": "2026-10-28",650 "phase": "INCREASED",651 "description_text": "Kapitalerhöhung um EUR 435,41 auf EUR 26.000,00.",652 "context": "PRIMARY",653 "flags": []654 },655 "source": {656 "kind": "COMMERCIAL_REGISTER"657 },658 "details": {659 "schema": "CAPITAL_CHANGE",660 "capital_kind": "SHARE_CAPITAL",661 "resulting_amount": {662 "amount": "26000.00",663 "currency": "EUR",664 "source_text": "26.000,00 EUR"665 },666 "change_amount": {667 "amount": "435.41",668 "currency": "EUR",669 "source_text": "435,41 EUR"670 }671 }672 },673 {674 "event": {675 "id": "6817652ca014277545be153e172d6f69",676 "topic": "CAPITAL_CHANGES",677 "topic_name": {678 "de": "Kapitaländerungen",679 "en": "Capital changes"680 },681 "occurred_on": "2026-10-28",682 "announced_on": "2026-10-28",683 "date_basis": "REGISTER_ENTRY"684 },685 "organization": {686 "type": "ORGANIZATION",687 "entity_id": "585c00043199b60757c37cacfd574e9a",688 "current_profile": {689 "name": "Woltmann GmbH",690 "registration": {691 "register_type": "HRB",692 "register_number": "120446",693 "court": "Hannover",694 "register_locality": "Hanover",695 "registration_authority_id": "P2305",696 "register_entity_name": "Hannover HRB 120446"697 },698 "legal_form": {699 "name": {700 "de": "Gesellschaft mit beschränkter Haftung"701 },702 "short": {703 "de": "GmbH"704 }705 },706 "seat": {707 "city": "Wedemark"708 },709 "status": {710 "code": "ACTIVE"711 }712 }713 },714 "register_entry": {715 "entry_number": "3",716 "entry_date": "2026-10-28",717 "phase": "CHANGED",718 "description_text": "Umstellung des Stammkapitals von DEM 50.000,00 auf Euro (EUR 25.564,59).",719 "context": "PRIMARY",720 "flags": []721 },722 "source": {723 "kind": "COMMERCIAL_REGISTER"724 },725 "details": {726 "schema": "CAPITAL_CHANGE",727 "capital_kind": "SHARE_CAPITAL",728 "resulting_amount": {729 "amount": "25564.59",730 "currency": "EUR",731 "source_text": "25.564,59 EUR"732 }733 }734 },735 {736 "event": {737 "id": "206d0d384b0e69f8997f826f308607f7",738 "topic": "CAPITAL_CHANGES",739 "topic_name": {740 "de": "Kapitaländerungen",741 "en": "Capital changes"742 },743 "occurred_on": "2026-10-28",744 "announced_on": "2026-10-28",745 "date_basis": "REGISTER_ENTRY"746 },747 "organization": {748 "type": "ORGANIZATION",749 "entity_id": "a95014d03e1879452741a9a94477f0f1",750 "current_profile": {751 "name": "Innok Robotics GmbH",752 "registration": {753 "register_type": "HRB",754 "register_number": "18812",755 "court": "Regensburg",756 "register_locality": "Regensburg",757 "registration_authority_id": "D3410",758 "register_entity_name": "Regensburg HRB 18812"759 },760 "legal_form": {761 "name": {762 "de": "Gesellschaft mit beschränkter Haftung"763 },764 "short": {765 "de": "GmbH"766 }767 },768 "seat": {769 "city": "Regenstauf"770 },771 "status": {772 "code": "ACTIVE"773 }774 }775 },776 "register_entry": {777 "entry_number": "6",778 "entry_date": "2026-10-28",779 "phase": "CHANGED",780 "description_text": "Genehmigtes Kapital 2026/I nach teilweiser Ausschöpfung noch 3.320,00 EUR.",781 "context": "PRIMARY",782 "flags": []783 },784 "source": {785 "kind": "COMMERCIAL_REGISTER"786 },787 "details": {788 "schema": "CAPITAL_CHANGE",789 "capital_kind": "OTHER",790 "resulting_amount": {791 "amount": "3320.00",792 "currency": "EUR",793 "source_text": "3.320,00 EUR"794 }795 }796 },797 {798 "event": {799 "id": "7f710844b634d2385448ad42f3c4d4d5",800 "topic": "CAPITAL_CHANGES",801 "topic_name": {802 "de": "Kapitaländerungen",803 "en": "Capital changes"804 },805 "occurred_on": "2026-10-28",806 "announced_on": "2026-10-28",807 "date_basis": "REGISTER_ENTRY"808 },809 "organization": {810 "type": "ORGANIZATION",811 "entity_id": "a95014d03e1879452741a9a94477f0f1",812 "current_profile": {813 "name": "Innok Robotics GmbH",814 "registration": {815 "register_type": "HRB",816 "register_number": "18812",817 "court": "Regensburg",818 "register_locality": "Regensburg",819 "registration_authority_id": "D3410",820 "register_entity_name": "Regensburg HRB 18812"821 },822 "legal_form": {823 "name": {824 "de": "Gesellschaft mit beschränkter Haftung"825 },826 "short": {827 "de": "GmbH"828 }829 },830 "seat": {831 "city": "Regenstauf"832 },833 "status": {834 "code": "ACTIVE"835 }836 }837 },838 "register_entry": {839 "entry_number": "6",840 "entry_date": "2026-10-28",841 "phase": "INCREASED",842 "description_text": "Erhöhung des Stammkapitals um 9.550,00 EUR auf 62.259,00 EUR.",843 "context": "PRIMARY",844 "flags": []845 },846 "source": {847 "kind": "COMMERCIAL_REGISTER"848 },849 "details": {850 "schema": "CAPITAL_CHANGE",851 "capital_kind": "SHARE_CAPITAL",852 "resulting_amount": {853 "amount": "62259.00",854 "currency": "EUR",855 "source_text": "62.259,00 EUR"856 },857 "change_amount": {858 "amount": "9550.00",859 "currency": "EUR",860 "source_text": "9.550,00 EUR"861 }862 }863 },864 {865 "event": {866 "id": "bbdc65b67d242c528ad1bf59ab16e0bc",867 "topic": "CAPITAL_CHANGES",868 "topic_name": {869 "de": "Kapitaländerungen",870 "en": "Capital changes"871 },872 "occurred_on": "2026-10-28",873 "announced_on": "2026-10-28",874 "date_basis": "REGISTER_ENTRY"875 },876 "organization": {877 "type": "ORGANIZATION",878 "entity_id": "4e4a5bca9dcbdeb128e6649b3642388b",879 "current_profile": {880 "name": "Buzzi HoldCo GmbH",881 "registration": {882 "register_type": "HRB",883 "register_number": "173433",884 "court": "Hamburg",885 "register_locality": "Hamburg",886 "registration_authority_id": "K1101",887 "register_entity_name": "Hamburg HRB 173433"888 },889 "legal_form": {890 "name": {891 "de": "Gesellschaft mit beschränkter Haftung"892 },893 "short": {894 "de": "GmbH"895 }896 },897 "seat": {898 "city": "Hamburg"899 },900 "status": {901 "code": "ACTIVE"902 }903 }904 },905 "register_entry": {906 "entry_number": "2",907 "entry_date": "2026-10-28",908 "phase": "INCREASED",909 "description_text": "Erhöhung des Stammkapitals um 1,00 EUR auf 25.001,00 EUR",910 "context": "PRIMARY",911 "flags": []912 },913 "source": {914 "kind": "COMMERCIAL_REGISTER"915 },916 "details": {917 "schema": "CAPITAL_CHANGE",918 "capital_kind": "SHARE_CAPITAL",919 "resulting_amount": {920 "amount": "25001.00",921 "currency": "EUR",922 "source_text": "25.001,00 EUR"923 },924 "change_amount": {925 "amount": "1.00",926 "currency": "EUR",927 "source_text": "1,00 EUR"928 }929 }930 },931 {932 "event": {933 "id": "3595fab3bb5f62b05e1a5ab0efc9131f",934 "topic": "CAPITAL_CHANGES",935 "topic_name": {936 "de": "Kapitaländerungen",937 "en": "Capital changes"938 },939 "occurred_on": "2026-10-28",940 "announced_on": "2026-10-28",941 "date_basis": "REGISTER_ENTRY"942 },943 "organization": {944 "type": "ORGANIZATION",945 "entity_id": "e5371b14ba0875ee3885ad6f4517907c",946 "current_profile": {947 "name": "Kronos MidCo GmbH",948 "registration": {949 "register_type": "HRB",950 "register_number": "199097",951 "court": "Hamburg",952 "register_locality": "Hamburg",953 "registration_authority_id": "K1101",954 "register_entity_name": "Hamburg HRB 199097"955 },956 "legal_form": {957 "short": {958 "de": "GmbH"959 }960 },961 "seat": {962 "city": "Hamburg"963 },964 "status": {965 "code": "ACTIVE"966 }967 }968 },969 "register_entry": {970 "entry_number": "6",971 "entry_date": "2026-10-28",972 "phase": "INCREASED",973 "description_text": "Erhöhung des Stammkapitals um 7.751,00 EUR auf 32.751,00 EUR.",974 "context": "PRIMARY",975 "flags": []976 },977 "source": {978 "kind": "COMMERCIAL_REGISTER"979 },980 "details": {981 "schema": "CAPITAL_CHANGE",982 "capital_kind": "SHARE_CAPITAL",983 "resulting_amount": {984 "amount": "32751.00",985 "currency": "EUR",986 "source_text": "32.751,00 EUR"987 },988 "change_amount": {989 "amount": "7751.00",990 "currency": "EUR",991 "source_text": "7.751,00 EUR"992 }993 }994 },995 {996 "event": {997 "id": "110abb752ed50097b1b426539f1dd056",998 "topic": "CAPITAL_CHANGES",999 "topic_name": {1000 "de": "Kapitaländerungen",1001 "en": "Capital changes"1002 },1003 "occurred_on": "2026-10-28",1004 "announced_on": "2026-10-28",1005 "date_basis": "REGISTER_ENTRY"1006 },1007 "organization": {1008 "type": "ORGANIZATION",1009 "entity_id": "f97e7a325b4f85b8f37dc7024351c93c",1010 "current_profile": {1011 "name": "CPOT GmbH",1012 "registration": {1013 "register_type": "HRB",1014 "register_number": "128833",1015 "court": "Frankfurt am Main",1016 "register_locality": "Frankfurt",1017 "registration_authority_id": "M1201",1018 "register_entity_name": "Frankfurt am Main HRB 128833"1019 },1020 "legal_form": {1021 "name": {1022 "de": "Gesellschaft mit beschränkter Haftung"1023 },1024 "short": {1025 "de": "GmbH"1026 }1027 },1028 "seat": {1029 "city": "Frankfurt am Main"1030 },1031 "status": {1032 "code": "ACTIVE"1033 }1034 }1035 },1036 "register_entry": {1037 "entry_number": "3",1038 "entry_date": "2026-10-28",1039 "phase": "INCREASED",1040 "description_text": "Erhöhung des Stammkapitals um 24.000,00 EUR auf 25.000,00 EUR",1041 "context": "PRIMARY",1042 "flags": []1043 },1044 "source": {1045 "kind": "COMMERCIAL_REGISTER"1046 },1047 "details": {1048 "schema": "CAPITAL_CHANGE",1049 "capital_kind": "SHARE_CAPITAL",1050 "resulting_amount": {1051 "amount": "25000.00",1052 "currency": "EUR",1053 "source_text": "25.000,00 EUR"1054 },1055 "change_amount": {1056 "amount": "24000.00",1057 "currency": "EUR",1058 "source_text": "24.000,00 EUR"1059 }1060 }1061 },1062 {1063 "event": {1064 "id": "4563a35c76e510cdd2a68f98d935fcbb",1065 "topic": "CAPITAL_CHANGES",1066 "topic_name": {1067 "de": "Kapitaländerungen",1068 "en": "Capital changes"1069 },1070 "occurred_on": "2026-10-28",1071 "announced_on": "2026-10-28",1072 "date_basis": "REGISTER_ENTRY"1073 },1074 "organization": {1075 "type": "ORGANIZATION",1076 "entity_id": "3199feaf239ac1b9a5e45f6ea45a3c61",1077 "current_profile": {1078 "name": "Brave2change UG (haftungsbeschränkt)",1079 "registration": {1080 "register_type": "HRB",1081 "register_number": "270781",1082 "court": "München",1083 "register_locality": "Munich",1084 "registration_authority_id": "D2601",1085 "register_entity_name": "München HRB 270781"1086 },1087 "legal_form": {1088 "name": {1089 "de": "Unternehmergesellschaft (haftungsbeschränkt)"1090 },1091 "short": {1092 "de": "UG (haftungsbeschränkt)"1093 }1094 },1095 "seat": {1096 "city": "München"1097 },1098 "status": {1099 "code": "ACTIVE"1100 }1101 }1102 },1103 "register_entry": {1104 "entry_number": "2",1105 "entry_date": "2026-10-28",1106 "phase": "INCREASED",1107 "description_text": "Erhöhung des Stammkapitals um 1.400,- EUR auf 2.400,00 EUR",1108 "context": "PRIMARY",1109 "flags": []1110 },1111 "source": {1112 "kind": "COMMERCIAL_REGISTER"1113 },1114 "details": {1115 "schema": "CAPITAL_CHANGE",1116 "capital_kind": "SHARE_CAPITAL",1117 "resulting_amount": {1118 "amount": "2400.00",1119 "currency": "EUR",1120 "source_text": "2.400,00 EUR"1121 },1122 "change_amount": {1123 "amount": "1400.00",1124 "currency": "EUR",1125 "source_text": "1.400,- EUR"1126 }1127 }1128 },1129 {1130 "event": {1131 "id": "f810560be252c43dc031564fdb8fe653",1132 "topic": "CAPITAL_CHANGES",1133 "topic_name": {1134 "de": "Kapitaländerungen",1135 "en": "Capital changes"1136 },1137 "occurred_on": "2026-10-28",1138 "announced_on": "2026-10-28",1139 "date_basis": "REGISTER_ENTRY"1140 },1141 "organization": {1142 "type": "ORGANIZATION",1143 "entity_id": "d45fcce5200b18bf2f377c6f1a785897",1144 "current_profile": {1145 "name": "Benfele Ritter Ventures UG (haftungsbeschränkt)",1146 "registration": {1147 "register_type": "HRB",1148 "register_number": "307694",1149 "court": "München",1150 "register_locality": "Munich",1151 "registration_authority_id": "D2601",1152 "register_entity_name": "München HRB 307694"1153 },1154 "legal_form": {1155 "name": {1156 "de": "Unternehmergesellschaft (haftungsbeschränkt)"1157 },1158 "short": {1159 "de": "UG (haftungsbeschränkt)"1160 }1161 },1162 "seat": {1163 "city": "Unterföhring"1164 },1165 "status": {1166 "code": "ACTIVE"1167 }1168 }1169 },1170 "register_entry": {1171 "entry_number": "2",1172 "entry_date": "2026-10-28",1173 "phase": "INCREASED",1174 "description_text": "Erhöhung des Stammkapitals um 100,00 EUR auf 1.100,00 EUR",1175 "context": "PRIMARY",1176 "flags": []1177 },1178 "source": {1179 "kind": "COMMERCIAL_REGISTER"1180 },1181 "details": {1182 "schema": "CAPITAL_CHANGE",1183 "capital_kind": "SHARE_CAPITAL",1184 "resulting_amount": {1185 "amount": "1100.00",1186 "currency": "EUR",1187 "source_text": "1.100,00 EUR"1188 },1189 "change_amount": {1190 "amount": "100.00",1191 "currency": "EUR",1192 "source_text": "100,00 EUR"1193 }1194 }1195 },1196 {1197 "event": {1198 "id": "6d08eadf8c4fc9495d33af7c12d28f75",1199 "topic": "CAPITAL_CHANGES",1200 "topic_name": {1201 "de": "Kapitaländerungen",1202 "en": "Capital changes"1203 },1204 "occurred_on": "2026-10-27",1205 "announced_on": "2026-10-27",1206 "date_basis": "REGISTER_ENTRY"1207 },1208 "organization": {1209 "type": "ORGANIZATION",1210 "entity_id": "35dd2dbced656dd36cd55871f0b33a5e",1211 "current_profile": {1212 "name": "TÜNKERS-NICKEL Systeme GmbH",1213 "registration": {1214 "register_type": "HRB",1215 "register_number": "13742",1216 "court": "Siegburg",1217 "register_locality": "Siegburg",1218 "registration_authority_id": "R3208",1219 "register_entity_name": "Siegburg HRB 13742"1220 },1221 "legal_form": {1222 "name": {1223 "de": "Gesellschaft mit beschränkter Haftung"1224 },1225 "short": {1226 "de": "GmbH"1227 }1228 },1229 "seat": {1230 "city": "Troisdorf-Spich"1231 },1232 "status": {1233 "code": "ACTIVE"1234 }1235 }1236 },1237 "register_entry": {1238 "entry_number": "5",1239 "entry_date": "2026-10-27",1240 "phase": "INCREASED",1241 "description_text": "Erhöhung des Stammkapitals von 100.000,00 EUR um 112.500,00 EUR auf 212.500,00 EUR",1242 "context": "PRIMARY",1243 "flags": []1244 },1245 "source": {1246 "kind": "COMMERCIAL_REGISTER"1247 },1248 "details": {1249 "schema": "CAPITAL_CHANGE",1250 "capital_kind": "SHARE_CAPITAL",1251 "resulting_amount": {1252 "amount": "212500.00",1253 "currency": "EUR",1254 "source_text": "212.500,00 EUR"1255 },1256 "change_amount": {1257 "amount": "112500.00",1258 "currency": "EUR",1259 "source_text": "112.500,00 EUR"1260 }1261 }1262 },1263 {1264 "event": {1265 "id": "4851a8e6a7864e9efa3b7885b541897b",1266 "topic": "CAPITAL_CHANGES",1267 "topic_name": {1268 "de": "Kapitaländerungen",1269 "en": "Capital changes"1270 },1271 "occurred_on": "2026-10-27",1272 "announced_on": "2026-10-27",1273 "date_basis": "REGISTER_ENTRY"1274 },1275 "organization": {1276 "type": "ORGANIZATION",1277 "entity_id": "559c21619a8dfe0fbe549aec884afdad",1278 "current_profile": {1279 "name": "Wildkost und Feinfleisch JFG GmbH",1280 "registration": {1281 "register_type": "HRB",1282 "register_number": "262241",1283 "court": "Charlottenburg (Berlin)",1284 "register_locality": "Berlin",1285 "registration_authority_id": "F1103",1286 "register_entity_name": "Charlottenburg (Berlin) HRB 262241"1287 },1288 "legal_form": {1289 "name": {1290 "de": "Gesellschaft mit beschränkter Haftung"1291 },1292 "short": {1293 "de": "GmbH"1294 }1295 },1296 "seat": {1297 "city": "Berlin"1298 },1299 "status": {1300 "code": "ACTIVE"1301 }1302 }1303 },1304 "register_entry": {1305 "entry_number": "2",1306 "entry_date": "2026-10-27",1307 "phase": "INCREASED",1308 "description_text": "Stammkapital um 24.500,00 EUR auf 25.000,00 EUR erhöht.",1309 "context": "PRIMARY",1310 "flags": []1311 },1312 "source": {1313 "kind": "COMMERCIAL_REGISTER"1314 },1315 "details": {1316 "schema": "CAPITAL_CHANGE",1317 "capital_kind": "SHARE_CAPITAL",1318 "resulting_amount": {1319 "amount": "25000.00",1320 "currency": "EUR",1321 "source_text": "25.000,00 EUR"1322 },1323 "change_amount": {1324 "amount": "24500.00",1325 "currency": "EUR",1326 "source_text": "24.500,00 EUR"1327 }1328 }1329 }1330 ],1331 "pagination": {1332 "mode": "CURSOR",1333 "limit": 20,1334 "returned": 20,1335 "has_more": true,1336 "next_cursor": "sgc1.eyJiIjoiYjdlYTk2ODM1YjQxIiwiZyI6eyJnOGM2YzZkMDYiOnsiYyI6ImV5Sm1Jam9pTlROaU5EQmxPRFppT0RnelpqSXdZeUlzSW1sa0lqb2lObUZsTlRReU1UQXdPR001TVdKbU1XVXlNREF5TXpVMklpd2lhV1IwSWpvaWIySnFaV04wYVdRaUxDSnlJam9pTWpBeU5pMHdOeTB5T1M0eUlpd2ljeUk2SWpFdU1TSXNJbk5qSWpvaU5HWmxabVk0TVRSaU5tWTBNekF4WVNJc0luTmtJam9pTWpBeU5pMHhNQzB5TjFRd01Eb3dNRG93TUNJc0luTnZJam9pWVc1dWIzVnVZMlZ0Wlc1MFgyUmhkR1VpTENKMElqb3hOemt6TlRJeE9URXpmUS52WHRYZTljSjQ1THp4U25VRnR3cEtBIiwibiI6MCwibCI6bnVsbCwieCI6ZmFsc2V9fX0"1337 },1338 "filters": {1339 "topics": [1340 "CAPITAL_CHANGES"1341 ],1342 "organization_ids": [],1343 "from": "2026-10-26",1344 "to": "2026-10-30"1345 },1346 "warnings": [],1347 "meta": {1348 "generated_at": "2026-11-01T08:31:53+00:00",1349 "profiles_resolved_at": "2026-11-01T08:31:53+00:00",1350 "schema_version": "1.0",1351 "request_id": "req_01m6b3s49jw8hfrc1atz8rk0f2",1352 "request_credit_cost": 20,1353 "credits_remaining": 1451354 }1355}
Eine Seite enthält bis zu 20 Signals, die neuesten zuerst, und kostet 20 Credits. Gibt es mehr, steht in pagination.next_cursor ein Zeiger auf die nächste Seite. Gib ihn als cursor mit denselben Filtern zurück.
from und to beziehen sich auf das Datum der Bekanntmachung (announced_on). Das Ereignis selbst (occurred_on) kann früher liegen, etwa der Beschluss einer Verschmelzung.
Für bestimmte Firmen gibst du in organization_ids bis zu 5 entity_ids an. Für einen täglichen Abgleich fragst du die letzten Tage ab und blätterst weiter, bis has_more den Wert false hat.
event.id.
Einzelne Firmen mit Monitoring überwachen
Ein Monitor prüft eine Firma alle 1 bis 30 Tage auf neue Signals. Jedes neue Signal schicken wir als signierten Webhook an deinen Webhook-Endpoint. So richtest du ihn ein:
- Leg einen Webhook-Endpoint an: in der Web-App unter Monitoring oder per API mit
POST /v1/account/webhook-endpointsund den Feldernnameundurl(nur HTTPS). Diese Anfrage braucht das Admin-Token aus Konto › API-Schlüssel im HeaderAuthorization: Bearer …. Der API-Schlüssel reicht dafür nicht. Die Antwort enthält dieiddes Endpoints (wep_…) und das Signatur-Secret, das wir nur einmal zeigen. - Bestätige den Endpoint mit
POST /v1/account/webhook-endpoints/{id}/verify. Wir schicken dann eine Nachricht vom Typendpoint.verification. Dein Endpoint antwortet innerhalb von 15 Sekunden mit 2xx und gibtdata.challengeim Headerwebhook-verificationzurück. Erst danach bekommt er Zustellungen. - Leg den Monitor an, mit
entity_id,poll_interval_daysund deridaus Schritt 1 inendpoint_ids.
curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \ -H "x-api-key: DEIN_API_SCHLUESSEL" \ -H "Idempotency-Key: monitor-hetzner-1" \ -H "Content-Type: application/json" \ -d '{ "entity_id": "94eb910fef13f94585c48c263fa446d4", "label": "Hetzner Online GmbH", "poll_interval_days": 7, "endpoint_ids": ["wep_DEINE_ENDPOINT_ID"] }'
Schreibende Anfragen an Monitore brauchen einen Idempotency-Key. Wiederholst du sie mit demselben Key, entsteht kein zweiter Monitor.
Anlegen ist kostenlos. Zuerst merkt sich der Monitor die Signals der letzten Tage als bekannt, ohne sie zu senden. Dann bucht er den Preis für den ersten Zyklus von 30 Tagen und prüft sofort zum ersten Mal.
| Was | Credits |
|---|---|
| Monitor mit Prüfung jeden Tag, für 30 Tage | 50 |
| Monitor mit Prüfung alle 3 Tage, für 30 Tage | 40 |
| Monitor mit Prüfung alle 7 Tage, für 30 Tage | 20 |
| Monitor mit Prüfung alle 30 Tage, für 30 Tage | 10 |
| Jede weitere erfolgreiche Prüfung im Zeitraum | +2 |
Limit: 30 Anfragen pro Minute. Anlegen, Ändern und Löschen: 10 pro Minute.
Was ein Rhythmus kostet, fragst du vorher kostenlos ab:
curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \ -H "x-api-key: DEIN_API_SCHLUESSEL" \ --data-urlencode 'poll_interval_days=7'
import requests response = requests.get( "https://handelsregister.ai/api/v1/account/monitoring/pricing", headers={"x-api-key": "DEIN_API_SCHLUESSEL"}, params={ "poll_interval_days": "7", }, ) data = response.json()
const url = new URL("https://handelsregister.ai/api/v1/account/monitoring/pricing"); url.searchParams.append("poll_interval_days", "7"); const response = await fetch(url, { headers: { "x-api-key": "DEIN_API_SCHLUESSEL" }, }); const data = await response.json();
1{2 "pricing": {3 "policy_version": "2026-08.v2",4 "credits_per_run": 2,5 "cycle_minimum_credits": 20,6 "included_runs": 5,7 "cycle_days": 30,8 "estimated_runs": 5,9 "estimated_credits": 2010 },11 "entitled": true,12 "meta": {13 "request_credit_cost": 0,14 "credits_remaining": 14515 }16}
Pausieren, fortsetzen, den Rhythmus ändern und löschen beschreibt account/monitors.
Webhooks empfangen und prüfen
Jede Zustellung ist ein POST mit JSON. Beim Bestätigen schicken wir eine Nachricht mit dem type endpoint.verification. Antworte darauf mit 2xx und setz den Header webhook-verification auf den Wert aus data.challenge. Bei einem neuen Signal ist type gleich organization.signal.detected, und data.signal hat dasselbe Format wie ein Eintrag aus signals.
Jede Zustellung enthält drei Header:
| Feld | Bedeutung |
|---|---|
| webhook-id | Kennung der Nachricht, bei Wiederholungen gleich. Daran erkennst du Doppelte. |
| webhook-timestamp | Zeitpunkt dieses Zustellversuchs in Unix-Sekunden. |
| webhook-signature |
Eine oder mehrere Signaturen der Form v1,…, durch Leerzeichen getrennt. |
Die Signatur folgt dem offenen Standard „Standard Webhooks“: HMAC-SHA256 über webhook-id.webhook-timestamp.body. Der Schlüssel ist der Teil des Secrets nach whsec_, Base64-dekodiert. Prüf die Signatur mit dem unveränderten Body, bevor du ihn verarbeitest.
import base64 import hashlib import hmac import time def verify_webhook(secret: str, headers: dict, body: bytes) -> bool: """Prüft die Signatur einer Zustellung von handelsregister.ai.""" msg_id = headers["webhook-id"] timestamp = headers["webhook-timestamp"] if abs(time.time() - int(timestamp)) > 5 * 60: return False # älter oder neuer als fünf Minuten key = base64.b64decode(secret.removeprefix("whsec_")) signed = f"{msg_id}.{timestamp}.".encode() + body expected = base64.b64encode(hmac.new(key, signed, hashlib.sha256).digest()).decode() for candidate in headers["webhook-signature"].split(" "): version, _, signature = candidate.partition(",") if version == "v1" and hmac.compare_digest(signature, expected): return True return False
import crypto from "node:crypto"; // body: der unveränderte Body der Anfrage als Text export function verifyWebhook(secret, headers, body) { const id = headers["webhook-id"]; const timestamp = headers["webhook-timestamp"]; if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 5 * 60) { return false; // älter oder neuer als fünf Minuten } const key = Buffer.from(secret.replace(/^whsec_/, ""), "base64"); const expected = crypto .createHmac("sha256", key) .update(`${id}.${timestamp}.${body}`) .digest("base64"); return headers["webhook-signature"].split(" ").some((candidate) => { const [version, signature] = candidate.split(","); return ( version === "v1" && signature.length === expected.length && crypto.timingSafeEqual(Buffer.from(signature), Buffer.from(expected)) ); }); }
Antworte innerhalb von 15 Sekunden mit 2xx und verarbeite danach. Ohne 2xx wiederholen wir die Zustellung mit wachsendem Abstand, bis zu etwa drei Tage lang. Nach einem Wechsel des Secrets tragen Nachrichten sieben Tage lang beide Signaturen.
Zustellungen, Wiederholungen und alle Felder beschreibt account/webhook-endpoints.
Watchlist und Feeds
Die Watchlist ist der Weg ohne eigenen Server. In der Web-App unter Monitoring folgst du einer Firma mit einem Klick. Ohne Monitor kannst du bis zu 15 Firmen folgen. Firmen mit Monitor stehen automatisch auf der Watchlist.
Die Watchlist zeigt die Signals deiner Firmen aus den letzten zwölf Monaten, die neuesten zuerst. Mit „Feed-URL erzeugen“ bekommst du sie als RSS- oder Atom-Feed für jeden Feed-Reader.
Der Feed aktualisiert sich höchstens einmal pro Stunde, egal wie oft dein Reader ihn abruft. Jede Aktualisierung kostet 20 Credits. Reicht das Guthaben nicht, zeigt der Feed den letzten Stand und aktualisiert sich wieder, sobald Guthaben da ist.
Die URL enthält einen geheimen Schlüssel und wird nur einmal angezeigt. Erneuerst du sie, wird die alte sofort ungültig. Mit ?lang=en kommt der Feed auf Englisch.
Dieselben Daten bekommst du per API über Signals mit organization_ids.