Denmark CVR Company Health & KYB Risk Score
Pricing
from $1.00 / 1,000 results
Denmark CVR Company Health & KYB Risk Score
Look up Danish companies in the official CVR registry and get a transparent 0-100 health/KYB risk score with a full reason breakdown. Company data only - GDPR-safe.
Pricing
from $1.00 / 1,000 results
Rating
0.0
(0)
Developer
Nicolas van Arkens
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
Share
Look up any Danish company in the official CVR registry (Det Centrale Virksomhedsregister) and get back a single, explainable 0–100 health score with a letter grade (A–F) and a risk band (LOW / MEDIUM / HIGH).
Most CVR tools hand you raw registry fields and leave the judgement to you. This one does the judgement: it turns the registry data into a defensible KYB/risk signal, and shows you the reason for every point.
What it's for
- KYB onboarding — score a Danish company in one call before you let it onto your platform.
- AML / compliance screening — automatically catch ceased, dissolved, and bankrupt entities.
- B2B sales & supplier due diligence — rank prospects or vendors by operational substance and standing.
- Lead enrichment — append a health grade to a list of Danish companies.
Input
| Field | Description |
|---|---|
companies | List of lookups. Each can be an 8-digit CVR number (24256790), a VAT number (DK24256790), or a company name (Novo Nordisk). CVR number matches most reliably. |
country | dk (Denmark, default) or no (Norway). |
contactEmail | A real email or app name. The registry requires every caller to self-identify; it is sent only in the request header. |
includeRawData | Include the normalized raw registry fields alongside the score (default true). |
Output (one record per company)
{"query": "24256790","found": true,"country": "dk","name": "Novo Nordisk A/S","vat": "24256790","healthScore": 100,"grade": "A","riskBand": "LOW","components": {"longevity": { "score": 30, "max": 30, "reason": "Long-standing entity (~36 yr)." },"statusIntegrity": { "score": 30, "max": 30, "reason": "Active and in normal standing." },"operationalFootprint": { "score": 20, "max": 20, "reason": "3 production units. ~50000+ employees." },"transparency": { "score": 20, "max": 20, "reason": "Public contact details. Industry-classified. Address listed." }},"raw": { "name": "...", "address": "...", "industrycode": "...", "productionUnitCount": 3, "...": "..." }}
How the score works
The score is fully transparent and additive (max 100), then gated:
- Longevity (0–30) — how long the entity has existed.
- Status integrity (0–30) — active and solvent vs. distressed.
- Operational footprint (0–20) — production units + employee headcount.
- Transparency (0–20) — reachable, industry-classified, address not protected.
A fatal flag — bankruptcy, cessation, or dissolution — caps the total at 25 (grade F, HIGH risk) no matter how strong the other signals are. A bankrupt 30-year-old company is exactly what a KYB check exists to catch, so it cannot score "investable".
Data source & privacy
Data comes from the official Danish CVR registry via its free public JSON gateway. Company-level (legal-entity) data only — this actor never requests or returns beneficial-ownership or natural-person records, which are access-restricted in Denmark since September 2025. GDPR-safe by construction.
For very high request volumes, the Danish Business Authority also offers an authenticated system-to-system distribution feed; the scoring logic in src/scoring.py is source-agnostic and can be pointed at it.
Notes
- Be specific with name searches — an exact CVR number always beats a fuzzy name.
- The actor paces requests gently to respect the free gateway's rate limits.
- Pricing is pay-per-result.