Get Company Historical Owners
Get Company Historical Owners
Build an async owner-change timeline from historical Handelsregister Gesellschafterliste filings for a mirrored German company.
[!NOTE]
This enrichment always runs asynchronously. You may omit async=true; the API still returns 202 Accepted and uses the normal enrichment polling/callback flow.
Try it
Pricing
- 25 credits when at least two historical shareholder-list filings are parsed and diffed.
- 0 credits/refund when the company is unknown, historical filings cannot be enumerated, there is only one filing, or a scanned legacy PDF blocks parsing.
Endpoint
Examples
Historical owners with polling
curl -X POST https://api.skael.de/api/enrichments/get_company_historical_owners \
-H "Authorization: Bearer eak_..." \
-H "Content-Type: application/json" \
-d '{
"company_id": "DE-HRB-F1103-267645"
}'
Historical owners with callback
curl -X POST https://api.skael.de/api/enrichments/get_company_historical_owners \
-H "Authorization: Bearer eak_..." \
-H "Content-Type: application/json" \
-d '{
"company_id": "DE-HRB-F1103-267645",
"callback_url": "https://your-app.example/webhooks/registry"
}'
Output Fields
Output Shape
owners[] contains the latest parsed owners from the newest historical snapshot.
snapshots[] lists parsed source documents in chronological order with source_document_id, document_date, and owner_count.
history[] contains added, removed, and changed events diffed between successive snapshots.
_registry_meta.status is available, company_not_found, or historical_owners_unavailable.
_registry_meta.warnings explains unsupported paths such as legacy_scan_unsupported, insufficient_historical_filings, or historical_enumeration_unavailable.
Unsupported Historical Enumeration
When Handelsregister only exposes a legacy scan, the upstream document-box shape changes, or fewer than two historical shareholder lists are available, the enrichment completes with no charge instead of returning invented history:
{
"company_id": "DE-HRB-F1103-267645",
"owners": [],
"snapshots": [],
"history": [],
"_registry_meta": {
"source": "handelsregister",
"status": "historical_owners_unavailable",
"snapshot_count": 0,
"history_event_count": 0,
"warnings": ["legacy_scan_unsupported"]
}
}
Async and Polling
This endpoint uses the same enrichment lifecycle as other async enrichments. The initial request returns 202 Accepted; poll GET /api/enrichments/{id}?wait=true or provide callback_url to receive the completed result.
Feature Disabled (403)
{
"message": "German registry enrichments are not enabled for this organization."
}