Surveiller les modifications
Repérer les nouvelles inscriptions au registre et être notifié.
Quand quelque chose change au registre pour une entreprise, tu veux généralement le savoir vite. Il y a quatre façons de le faire. Le tableau t’aide à choisir ; en dessous, chaque voie est décrite avec un exemple.
Les voies comparées
| Voie | Idéal pour | Il te faut | Coûts |
|---|---|---|---|
| Interroger toi-même | Des entreprises isolées, n’importe quels champs du profil d’entreprise, ton propre rythme | Un cron job et un stockage pour le dernier état | Le prix du profil d’entreprise par récupération |
| Signals | Les modifications sur toutes les entreprises par thème et période, ou ciblées sur jusqu’à 5 entreprises | Des requêtes régulières via l’API | 20 crédits par page |
| Monitoring | Des entreprises choisies ; nous vérifions selon un rythme fixe et informons par webhook | Un endpoint HTTPS accessible publiquement | Un prix de cycle par moniteur pour 30 jours |
| Watchlist | Suivre sans serveur propre, dans le navigateur ou un lecteur de flux | Uniquement l’application web | 20 crédits par mise à jour du flux, au plus une fois par heure |
Signals, Monitoring et la watchlist utilisent les mêmes thèmes. Immatriculations, modifications des données de base, fermetures & dissolutions, changements de direction et modifications de capital sont disponibles pour chaque compte. Les insolvabilités sont incluses à partir de Pro, Transformations & fusions-acquisitions avec Max.
Interroger toi-même avec fetch-organization
Si seuls certains champs t’intéressent, récupère régulièrement le profil d’entreprise et compare-le avec le dernier état. Demande-le avec l’entity_id et les fonctionnalités à comparer. Dans l’exemple, il s’agit de Hetzner Online GmbH, Ansbach HRB 6089.
curl -G "https://handelsregister.ai/api/v1/fetch-organization" \ -H "x-api-key: TA_CLE_API" \ --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": "TA_CLE_API"}, 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": "TA_CLE_API" }, }); 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}
Le script compare nom, statut, adresse, capital et direction avec la dernière exécution et affiche chaque modification. Exécute-le, par exemple, une fois par semaine en cron job.
import json import pathlib import requests API = "https://handelsregister.ai/api/v1/fetch-organization" HEADERS = {"x-api-key": "TA_CLE_API", "Accept": "application/json"} ENTREPRISES = ["94eb910fef13f94585c48c263fa446d4"] # les entity_ids de tes entreprises ETAT = pathlib.Path("etat.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(ETAT.read_text()) if ETAT.exists() else {} new = {entity_id: snapshot(entity_id) for entity_id in ENTREPRISES} 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} modifié: {before.get(field)} -> {value}") ETAT.write_text(json.dumps(new, ensure_ascii=False, indent=2))
Chaque exécution coûte jusqu’à 7 crédits par entreprise : les données de base et la direction, cette dernière seulement si l’API trouve des personnes. Pour de nombreuses entreprises ou des intervalles courts, Signals ou Monitoring sont moins chers.
Rechercher des modifications avec Signals
Les Signals sont des modifications issues du Handelsregister (registre du commerce) et des publications d’insolvabilité, préparées sous forme d’événements uniformes. Tu filtres sur toutes les entreprises par thème (topics) et période (from, to).
curl -G "https://handelsregister.ai/api/v1/signals" \ -H "x-api-key: TA_CLE_API" \ --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": "TA_CLE_API"}, 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": "TA_CLE_API" }, }); 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}
Une page contient jusqu’à 20 Signals, les plus récents en premier, et coûte 20 crédits. S’il y en a davantage, pagination.next_cursor contient un pointeur vers la page suivante. Renvoie-le comme cursor avec les mêmes filtres.
from et to se rapportent à la date de publication (announced_on). L’événement lui-même (occurred_on) peut être antérieur, par exemple la décision sur une fusion.
Pour des entreprises précises, passe jusqu’à 5 entity_ids dans organization_ids. Pour une synchronisation quotidienne, demande les derniers jours et continue à paginer jusqu’à ce que has_more vaille false.
event.id.
Surveiller des entreprises avec Monitoring
Un moniteur vérifie une entreprise tous les 1 à 30 jours à la recherche de nouveaux Signals. Nous envoyons chaque nouveau signal sous forme de webhook signé à ton endpoint webhook. Voici comment le configurer :
- Crée un endpoint webhook : dans l’application web sous Monitoring, ou via l’API avec
POST /v1/account/webhook-endpointset les champsnameeturl(HTTPS uniquement). Cette requête nécessite le token admin de Compte › Clés API dans le headerAuthorization: Bearer …. La clé API ne suffit pas pour cela. La réponse contient l’idde l’endpoint (wep_…) et le secret de signature, que nous n’affichons qu’une fois. - Vérifie l’endpoint avec
POST /v1/account/webhook-endpoints/{id}/verify. Nous envoyons alors un message de typeendpoint.verification. Ton endpoint répond dans les 15 secondes avec 2xx et renvoiedata.challengedans le headerwebhook-verification. Ce n’est qu’ensuite qu’il reçoit des livraisons. - Crée le moniteur, avec
entity_id,poll_interval_dayset l’idde l’étape 1 dansendpoint_ids.
curl -X POST "https://handelsregister.ai/api/v1/account/monitors" \ -H "x-api-key: TA_CLE_API" \ -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_TON_ENDPOINT_ID"] }'
Les requêtes d’écriture sur les moniteurs nécessitent une Idempotency-Key. Si tu en répètes une avec la même clé, aucun second moniteur n’est créé.
Créer un moniteur est gratuit. Le moniteur marque d’abord les Signals des derniers jours comme connus, sans les envoyer. Puis il facture le prix du premier cycle de 30 jours et effectue immédiatement sa première vérification.
| Quoi | Crédits |
|---|---|
| Moniteur vérifié chaque jour, pendant 30 jours | 50 |
| Moniteur vérifié tous les 3 jours, pendant 30 jours | 40 |
| Moniteur vérifié tous les 7 jours, pendant 30 jours | 20 |
| Moniteur vérifié tous les 30 jours, pendant 30 jours | 10 |
| Chaque vérification réussie supplémentaire dans la période | +2 |
Limite : 30 requêtes par minute. Créer, modifier et supprimer : 10 par minute.
Tu peux demander à l’avance, gratuitement, ce que coûte un rythme :
curl -G "https://handelsregister.ai/api/v1/account/monitoring/pricing" \ -H "x-api-key: TA_CLE_API" \ --data-urlencode 'poll_interval_days=7'
import requests response = requests.get( "https://handelsregister.ai/api/v1/account/monitoring/pricing", headers={"x-api-key": "TA_CLE_API"}, 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": "TA_CLE_API" }, }); 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}
Mise en pause, reprise, changement de rythme et suppression sont décrits sous account/monitors.
Recevoir et vérifier des webhooks
Chaque livraison est un POST avec du JSON. Lors de la vérification, nous envoyons un message avec le type endpoint.verification. Réponds avec 2xx et définis le header webhook-verification à la valeur de data.challenge. Pour un nouveau signal, type vaut organization.signal.detected, et data.signal a le même format qu’une entrée de signals.
Chaque livraison contient trois headers :
| Champ | Signification |
|---|---|
| webhook-id | Identifiant du message, identique lors des nouvelles tentatives. Utilise-le pour repérer les doublons. |
| webhook-timestamp | Heure de cette tentative de livraison en secondes Unix. |
| webhook-signature |
Une ou plusieurs signatures de la forme v1,…, séparées par des espaces. |
La signature suit le standard ouvert « Standard Webhooks » : HMAC-SHA256 sur webhook-id.webhook-timestamp.body. La clé est la partie du secret après whsec_, décodée en Base64. Vérifie la signature sur le corps inchangé avant de le traiter.
import base64 import hashlib import hmac import time def verify_webhook(secret: str, headers: dict, body: bytes) -> bool: """Vérifie la signature d’une livraison de handelsregister.ai.""" msg_id = headers["webhook-id"] timestamp = headers["webhook-timestamp"] if abs(time.time() - int(timestamp)) > 5 * 60: return False # plus ancien ou plus récent que cinq 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 : le corps de requête inchangé, en texte 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; // plus ancien ou plus récent que cinq 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)) ); }); }
Réponds dans les 15 secondes avec 2xx et traite ensuite. Sans 2xx, nous retentons la livraison à intervalles croissants pendant environ trois jours. Après une rotation du secret, les messages portent les deux signatures pendant sept jours.
Livraisons, nouvelles tentatives et tous les champs sont décrits sous account/webhook-endpoints.
Watchlist et flux
La watchlist est la voie sans serveur propre. Dans l’application web sous Monitoring, tu suis une entreprise en un clic. Sans moniteur, tu peux suivre jusqu’à 15 entreprises. Les entreprises avec un moniteur figurent automatiquement sur la watchlist.
La watchlist montre les Signals de tes entreprises des douze derniers mois, les plus récents en premier. Avec « Générer l’URL du flux », tu les obtiens sous forme de flux RSS ou Atom pour n’importe quel lecteur de flux.
Le flux se met à jour au plus une fois par heure, quelle que soit la fréquence à laquelle ton lecteur le récupère. Chaque mise à jour coûte 20 crédits. Si ton solde ne suffit pas, le flux affiche le dernier état et se remet à jour dès que tu as des crédits.
L’URL contient une clé secrète et n’est affichée qu’une fois. Si tu la renouvelles, l’ancienne cesse immédiatement de fonctionner. Avec ?lang=en, le flux arrive en anglais.
Tu obtiens les mêmes données via l’API à partir de Signals avec organization_ids.