Präzisionsguss Sauerland GmbH
- The only shareholder is 67. No successor named, no holding company
- Profit flat for three years on €31.4M of sales. Spending on kit has halved
- Four aerospace-grade contracts won, so they can clearly do the work
Four moves, run on every company in your market, continuously. Nothing here is a batch job and nothing waits for somebody to log in and look. Here is each move, in detail, on one real company.
Watch a list of companies, or a saved search: “any German logistics company over €50M that changes its operations director”. Thirty-one things a register can tell you, plus the things it cannot — hiring, contracts won, new brands, new sites.
| Event type | Fires on | Volume / mo |
|---|---|---|
| entity.name_changed | Register name amendment | 61,400 |
| entity.status_changed | Liquidation, dissolution, reactivation | 248,900 |
| entity.insolvency_filed | Court insolvency notice | 9,120 |
| entity.officer_changed | Directors, managers, signatories | 412,700 |
| entity.capital_changed | Share capital increase or reduction | 38,500 |
| entity.address_changed | Registered seat relocation | 154,300 |
| entity.financials_filed | New annual accounts published | 643,000 |
| entity.merged | Merger, split, cross-border conversion | 14,600 |
| query.entered / query.exited | Entity enters or leaves a saved query | — |
Half of all changes reach your systems within 4.2 hours of the register publishing them. The webhook itself takes about 2.4 seconds.
{ "event_id": "evt_01JXR4T8M2C9KD", "type": "entity.officer_changed", "occurred_at": "2026-03-11T00:00:00Z", "observed_at": "2026-03-11T04:47:31Z", "entity_id": "ent_01JR8K3F5T2QW9", "opportunity": { "id": "opp_01JR8K3F5T2QW9", "score_before": 0.61, "score_after": 0.94, "rank": 3, "reason": "ops_leader_change + legacy_wms + automation_hiring" }, "source": { "authority": "Amtsgericht Hamburg", "document": "src_01JXQ0W5R8T2LP", "gazette": "HRB 148902 / 2026-03-11" } }
The event tells you the score it moved, not just the field it changed — an alert you can act on rather than one more thing to triage.
A filing tells you a company changed its board. It will not tell you that company is running a nine-year-old warehouse system and just posted four automation jobs. The second sentence is the one that gets your call taken.
HRB 148902: Nordwind Logistik GmbH, Hamburg, Sandtorkai 42, 20457 Hamburg.
Rechtsform: Gesellschaft mit beschränkter Haftung. Stammkapital: 250.000,00 EUR. Gegenstand des Unternehmens: Spedition, Lagerei und Kontraktlogistik.
Nicht mehr Geschäftsführer: Vogt, Michael, Hamburg, *14.07.1968. Bestellt als Geschäftsführer: Bergmann, Katrin, Hamburg, *02.11.1979, einzelvertretungsberechtigt mit der Befugnis, im Namen der Gesellschaft mit sich im eigenen Namen Rechtsgeschäfte abzuschließen.
Tag der Eintragung: 11.03.2026.
None of this is any use if it lands on the wrong company, which is why the boring part matters. Every source is matched to one company record, so a contract won under a trading name and a job posted on a subsidiary’s website end up on the same page as the parent’s accounts.
Write down what a good one looks like: the things that are non-negotiable, the things that just help, and the things that rule a company out. Spotit scores every company against that and re-scores the moment something moves. Nothing to train, no examples to collect, and you can read every weight.
A score you can’t argue with is a score nobody trusts.
{ "name": "DACH mid-market 3PL", "must": { "jurisdiction": ["DE", "AT", "CH"], "nace": ["49.41", "52.29"], "headcount": { "gte": 200, "lte": 800 }, "status": "active" }, "signals": { "runs_sap": { "weight": 0.9 }, "wms_age_years": { "weight": 0.8, "gte": 6 }, "ops_leader_change": { "weight": 1.0, "within": "90d" }, "automation_hiring": { "weight": 0.7, "within": "60d" }, "site_added": { "weight": 0.5, "within": "180d" } }, "exclude": { "owned_by": "crm.accounts.closed_lost" } }
Three part-scores, one total, and what to do. Everything below the line is a list you never have to open.
| Company | Register | Fit | Timing | Reach | Score | Rank | Call |
|---|---|---|---|---|---|---|---|
| Nordwind Logistik GmbH | HRB 148902 · Hamburg | 0.91 | 1.00 | 0.86 | 1 | act | |
| Kontraktlogistik Nord GmbH | HRB 204117 · Bremen | 0.88 | 0.72 | 0.79 | 7 | act | |
| Ostsee Terminal Betriebs GmbH | HRB 12844 · Rostock | 0.74 | 0.40 | 0.61 | 44 | watch | |
| Zeeland Koeltransport B.V. | KVK 34291180 · Vlissingen | 0.52 | 0.18 | 0.33 | — | drop |
Same card, different job. This one was scored for an acquisition search rather than a sales territory. It arrives the same way in your CRM, a webhook, or an AI tool call.
The answer lands on the account record, in the team channel, in your warehouse tables, and in the tool your AI already calls. There is a Spotit app. Most customers open it about twice a month, which is the point.
| Destination | Mechanism | Refresh | Writes back |
|---|---|---|---|
| Salesforce | Managed package, field map | 15 min | score, reason, owner |
| HubSpot | App + property map | 15 min | score, reason, next play |
| Snowflake | Secure data share (EU / US) | hourly | — |
| BigQuery | Analytics Hub listing | hourly | — |
| Slack · Teams | Channel per territory | on signal | the card |
| dbt | spotit_core package | on run | — |
| Clay · n8n · Zapier · Retool | Native blocks | on demand | configurable |
Seven first-party connectors above; a hundred more are community-maintained against the OpenAPI spec. Full list.
{ "mcpServers": { "spotit": { "url": "https://mcp.spotit.ai/sse", "headers": { "Authorization": "Bearer spk_test_..." } } } }
Ask your AI “who should I call in Hamburg this week” and it calls spotit_rank, then spotit_why for the reasoning — with the filing reference in the answer.
| spotit_rank | An ICP or thesis → the ranked shortlist, with reasons |
| spotit_why | One company → the evidence behind its score |
| spotit_get_entity | Full record, optionally as_of a date |
| spotit_search | Structured filters: sector, geo, size, form |
| spotit_events | What moved, for a set of companies |
| spotit_lineage | The source document behind any field |
| spotit_relations | Walk parents, subsidiaries, branches, brands |
4.2
Hours, on average, between a register publishing something and it reaching your systems.
Not a batch window. Not a nightly refresh. The gap between a court filing a notice and your rep being told about it.
The only thing that changes between these is what you are looking for. The answer always looks the same: a name, a reason and a date.
Score every company in the territory, not just the ones your SDRs already imported. The list comes back shorter than the one they have now — that is the point — and every row carries a sentence a rep can open the call with.
Signals that move a sales score most: operations or commercial leader change, a hiring burst in the function you sell to, a tender award in your category, a technology your product replaces reaching end-of-support.
| Companies in territory | 41,900 | — |
| Pass the hard filters | 6,204 | 14.8% |
| Score above 0.70 this week | 214 | 0.5% |
| Moved into range since last week | 38 | — |
| Already owned, suppressed | 1,109 | — |
| Routed to a named rep with a reason | 214 | 100% |
Succession, capital raises, ownership changes and quiet trouble, read together across 192 countries. Your thesis decides who is on the list; the events decide when you call. Each one arrives with the first line already written.
The combination that fires most often: owner over 62, no successor filed, three consecutive years of flat EBITDA, and an auditor change. On our book that pattern preceded a process by a median of seven months.
| Trigger | In universe | Fired, 90d | Median head start |
|---|---|---|---|
| Succession signal | 34,108 | 412 | 7 months |
| Auditor change | 34,108 | 188 | 5 months |
| Capital reduction | 34,108 | 61 | 4 months |
| Shareholder consolidation | 34,108 | 97 | 9 months |
An industry code someone picked in 2011 will not tell you who can machine the part. What a supplier has actually built, won and filed will. Spotit reads that from contract awards, patents, certifications and plant registrations, and attaches the solvency warning the day it appears.
The early warning that pays for the seat: an auditor resignation or a first overdue filing, on median 94 days before a payment default. Both are public. Almost nobody is watching for them.
| Supplier | Evidence of capability | Call |
|---|---|---|
| Präzisionsguss Sauerland GmbH | 4 awards, aerospace tolerance class | act |
| Salzach Anlagenbau GmbH | 2 patents, ISO 9100 site registered | act |
| Emilia Meccanica S.r.l. | 9 awards, same part family | watch |
| Grüne Werft Rostock GmbH | 3 awards, capacity matched | drop |
No one opens a depot in Germany. They open one in Duisburg, because of the corridor, the cluster and the eleven companies already there. Spotit scores demand town by town, and names the companies that make it real.
Why the commune: company formation rates, branch registrations and hiring density vary more inside a country than between countries. Aggregating to a national figure destroys exactly the signal you came for.
| Commune | Companies | Formations 24m | Demand index |
|---|---|---|---|
| Duisburg | 1,284 | +188 | 0.91 |
| Hamburg-Mitte | 2,041 | +204 | 0.87 |
| Leipzig | 918 | +241 | 0.84 |
| Bremerhaven | 402 | +38 | 0.44 |
Describe the shape you are looking for, or upload the accounts you already have. The first ranked report comes back in under a minute, on the free tier.