Monitor changes
Find new entries in the register and get notified.
When something changes for a company in the register, you usually want to know quickly. There are four ways to do that. The table helps you choose; below it, each way is described with an example.
The ways compared
| Way | Good for | You need | Costs |
|---|---|---|---|
| Poll yourself | Single companies, any fields of the company profile, your own schedule | A cron job and storage for the last state | The price of the company profile per fetch |
| Signals | Changes across all companies by topic and period, or targeted for up to 5 companies | Regular requests through the API | 20 credits per page |
| Monitoring | Selected companies; we check on a fixed schedule and report by webhook | A publicly reachable HTTPS endpoint | One cycle price per monitor for 30 days |
| Watchlist | Following along without your own server, in the browser or a feed reader | Just the web app | 20 credits per feed update, at most once per hour |
Signals, Monitoring and the watchlist use the same topics. New registrations, master data changes, closures & dissolutions, management changes and capital changes are available for every account. Insolvencies come with Pro, Transformations & M&A with Max.
Poll yourself with fetch-organization
If you only care about certain fields, fetch the company profile regularly and compare it with the last state. Request it with the entity_id and the features you want to compare. In the example, that is Hetzner Online GmbH, Ansbach HRB 6089.
curl -G "https://handelsregister.ai/api/v1/fetch-organization" \ -H "x-api-key: YOUR_API_KEY" \ --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": "YOUR_API_KEY"}, 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": "YOUR_API_KEY" }, }); 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}
The script compares name, status, address, capital and management with the last run and prints every change. Run it, for example, once a week as a cron job.
import json import pathlib import requests API = "https://handelsregister.ai/api/v1/fetch-organization" HEADERS = {"x-api-key": "YOUR_API_KEY", "Accept": "application/json"} COMPANIES = ["94eb910fef13f94585c48c263fa446d4"] # the entity_ids of your companies STATE = pathlib.Path("state.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(STATE.read_text()) if STATE.exists() else {} new = {entity_id: snapshot(entity_id) for entity_id in COMPANIES} 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} changed: {before.get(field)} -> {value}") STATE.write_text(json.dumps(new, ensure_ascii=False, indent=2))
Each run costs up to 7 credits per company: the basic data and the management, the latter only when the API finds people. For many companies or short intervals, Signals or Monitoring are cheaper.
Search changes with Signals
Signals are changes from the Handelsregister (commercial register) and the insolvency notices, prepared as uniform events. You filter across all companies by topic (topics) and period (from, to).
curl -G "https://handelsregister.ai/api/v1/signals" \ -H "x-api-key: YOUR_API_KEY" \ --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": "YOUR_API_KEY"}, 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": "YOUR_API_KEY" }, }); 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}
A page contains up to 20 Signals, the most recent first, and costs 20 credits. If there are more, pagination.next_cursor holds a pointer to the next page. Pass it back as cursor with the same filters.
from and to refer to the date of the announcement (announced_on). The event itself (occurred_on) can be earlier, for example the resolution on a merger.
For specific companies, pass up to 5 entity_ids in organization_ids. For a daily sync, request the last few days and keep paging until has_more is false.
event.id.
Watch single companies with Monitoring
A monitor checks a company for new Signals every 1 to 30 days. We send each new signal as a signed webhook to your webhook endpoint. This is how you set it up:
- Create a webhook endpoint: in the web app under Monitoring, or through the API with
POST /v1/account/webhook-endpointsand the fieldsnameandurl(HTTPS only). This request needs the admin token from Account › API keys in the headerAuthorization: Bearer …. The API key is not enough for this. The response contains the endpoint'sid(wep_…) and the signing secret, which we show only once. - Verify the endpoint with
POST /v1/account/webhook-endpoints/{id}/verify. We then send a message of typeendpoint.verification. Your endpoint responds within 15 seconds with 2xx and returnsdata.challengein the headerwebhook-verification. Only then does it receive deliveries. - Create the monitor, with
entity_id,poll_interval_daysand theidfrom step 1 inendpoint_ids.
curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \ -H "x-api-key: YOUR_API_KEY" \ -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_YOUR_ENDPOINT_ID"] }'
Write requests to monitors need an Idempotency-Key. If you repeat one with the same key, no second monitor is created.
Creating a monitor is free. First the monitor marks the Signals of the last few days as known, without sending them. Then it books the price for the first cycle of 30 days and runs its first check right away.
| What | Credits |
|---|---|
| Monitor checked every day, for 30 days | 50 |
| Monitor checked every 3 days, for 30 days | 40 |
| Monitor checked every 7 days, for 30 days | 20 |
| Monitor checked every 30 days, for 30 days | 10 |
| Each further successful check in the period | +2 |
Limit: 30 requests per minute. Create, update and delete: 10 per minute.
You can ask what a schedule costs beforehand, for free:
curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \ -H "x-api-key: YOUR_API_KEY" \ --data-urlencode 'poll_interval_days=7'
import requests response = requests.get( "https://handelsregister.ai/api/v1/account/monitoring/pricing", headers={"x-api-key": "YOUR_API_KEY"}, 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": "YOUR_API_KEY" }, }); 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}
Pausing, resuming, changing the schedule and deleting are described under account/monitors.
Receive and verify webhooks
Each delivery is a POST with JSON. When verifying, we send a message with the type endpoint.verification. Respond with 2xx and set the header webhook-verification to the value from data.challenge. For a new signal, type is organization.signal.detected, and data.signal has the same format as an entry from signals.
Each delivery contains three headers:
| Field | Meaning |
|---|---|
| webhook-id | Identifier of the message, the same on retries. Use it to spot duplicates. |
| webhook-timestamp | Time of this delivery attempt in Unix seconds. |
| webhook-signature |
One or more signatures of the form v1,…, separated by spaces. |
The signature follows the open standard “Standard Webhooks”: HMAC-SHA256 over webhook-id.webhook-timestamp.body. The key is the part of the secret after whsec_, Base64-decoded. Verify the signature against the unchanged body before you process it.
import base64 import hashlib import hmac import time def verify_webhook(secret: str, headers: dict, body: bytes) -> bool: """Checks the signature of a delivery from handelsregister.ai.""" msg_id = headers["webhook-id"] timestamp = headers["webhook-timestamp"] if abs(time.time() - int(timestamp)) > 5 * 60: return False # older or newer than five minutes 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: the unchanged request body as 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; // older or newer than five minutes } 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)) ); }); }
Respond within 15 seconds with 2xx and process afterwards. Without 2xx, we retry the delivery at growing intervals for up to about three days. After a secret rotation, messages carry both signatures for seven days.
Deliveries, retries and all fields are described under account/webhook-endpoints.
Watchlist and feeds
The watchlist is the way without your own server. In the web app under Monitoring, you follow a company with one click. Without a monitor, you can follow up to 15 companies. Companies with a monitor are on the watchlist automatically.
The watchlist shows the Signals of your companies from the last twelve months, the most recent first. With “Generate feed URL” you get them as an RSS or Atom feed for any feed reader.
The feed updates at most once per hour, no matter how often your reader fetches it. Each update costs 20 credits. If your balance is not enough, the feed shows the last state and updates again as soon as you have credits.
The URL contains a secret key and is shown only once. If you renew it, the old one stops working immediately. With ?lang=en, the feed comes in English.
You get the same data through the API from Signals with organization_ids.