Identity verification
built for Denmark 
CPR-driven identity cross-checked against the Danish Civil Registration system, Finanstilsynet-aligned, $0.33 full KYC, 500 free every month.




Trusted by 2,000+ organizations worldwide.
How identity verification works in Denmark.
- Fraud landscape
- Three pressures shape Danish identity fraud: deepfake and injection attacks on Copenhagen's neobank and crypto cluster (Lunar, Coinify, Saxo), document forgery against the Danish driving licence and residence permit, and AML pressure on the high-velocity Nordic-Baltic payments corridor. Didit scores 200+ real-time fraud signals on every session, face morph, replay, injection, document tampering, device intelligence, IP geolocation.
- Compliance frameworks
- Hvidvaskloven (Danish Anti-Money Laundering Act)
- AMLD6
- MiCA
- DORA
- GDPR / Danish Data Protection Act
- PSD2
- eIDAS 2.0
Who supervises identity verification in Denmark.
Finanstilsynet
Danish Financial Supervisory Authority. Supervises banks, payment institutions, electronic-money institutions, and crypto-asset service providers under the Hvidvaskloven (Danish Anti-Money Laundering Act).
Hvidvasksekretariatet
Danish Financial Intelligence Unit, sitting inside the State Prosecutor for Serious Economic and International Crime (SØIK). Receives every suspicious activity report.
Datatilsynet
Danish Data Protection Agency. GDPR supervisor under the Danish Data Protection Act for every identity verification on Danish residents.
Skat
Danish Tax Agency. Co-owns the CPR Civil Registration system that backs every Danish identity verification.
Spillemyndigheden
Danish Gambling Authority. Licenses online operators with mandatory KYC + AML controls.
Four modules. One verification.
Capture and read the ID.
Captured on any phone, auto-classified, OCR-parsed, and template-verified.
- Works for every primary Danish credential, Pas (with the chip read on e-Passports), Kørekort, Opholdskort, and the Sundhedskort yellow health card.
- Returns the name, CPR number, date of birth, sex, and expiry.
- Pas, chip read on e-Passport
- Kørekort · Opholdskort
- Sundhedskort (CPR card)
Match the face. Prove it's a real person..
Selfie confirmed live and matched against the ID portrait.
- Duplicate check: 1:N face search across existing users. Free.
- Active liveness ($0.15) for elevated-risk flows, user turns or blinks.
- Selfie on any phone or laptop camera
- Mobile-handoff QR when the user starts on desktop
Screen for sanctions, PEPs, and adverse media.
1,300+ global sanctions, PEP, and adverse-media lists, plus Danish watchlists:
- Danish Immigration Service, Banned Religious Preachers (Sanctions), individuals barred from entering Denmark under the Preacher Ban legislation.
- Spillemyndigheden (Danish Gambling Authority), operator warnings, enforcement warnings and disciplinary actions against licensed gambling operators.
- Public Company Accounting Oversight Board (PCAOB), State-Invested Enterprise register entries, state-invested entity designations with Danish nexus.
- European Union, Consolidated List of EU Financial Sanctions, full EU asset-freeze and travel-ban register.
- EU Consolidated List of Travel Bans, EU-wide travel restriction register.
- United Nations Security Council Consolidated Sanctions List, global UN sanctions.
Severity-scored. Ongoing monitoring ($0.07/user/yr) re-checks daily and fires a webhook on new hits.
Screen for sanctions, PEPs, and adverse media , see the docs for the full module surface.
Cross-check against the Danish Civil Registration system.
Cross-checked against the authoritative civil registry.
- The Civil Registration check (
dnk_national_id,$1.39, ~100% coverage) is the authoritative-source CPR lookup with name + DOB + national-ID cross-check. - The Combined-records check (
dnk_consumer_2,$0.97, ~50% coverage) hits a combined dataset of consumer, telephone, and utility records, useful for proof-of-address-grade onboarding. - The Consumer check (
dnk_consumer,$0.09, ~10% coverage) hits an aggregated consumer dataset for soft-signal verification.
Cross-check against the Danish Civil Registration system , see the docs for the full module surface.
Every Denmark document Didit accepts.
Civil-registry and AML coverage for Denmark.
Denmark National ID (Civil Registration / CPR)
Source: Danish Civil Registration system (Det Centrale Personregister, CPR). $1.39 per successful query. Coverage ~100% of adult population.
Denmark Combined Consumer + Telephone + Utility
Source: Combined Danish consumer, telephone, and utility records. $0.97 per successful query. Coverage ~50% of adult population.
Denmark Consumer
Source: Aggregated Danish consumer dataset. $0.09 per successful query. Coverage ~10% of adult population.
AML lists screened in Denmark
1,300+ sanctions, Politically Exposed Persons (PEP), and adverse-media lists, plus the country's regulatory watchlists and PEP registries.
Open a new country in one click. We do the hard work.
Common questions about Denmark.
What does Didit ship?
Didit is the infrastructure layer for identity and fraud. One Application Programming Interface (API), 25+ composable modules across four product lines:
- User Verification (KYC, know your customer), Identity Document Verification, liveness, face match, Anti-Money Laundering (AML) screening, Internet Protocol (IP) analysis. $0.33 per full bundle.
- Business Verification (KYB, know your business), registry, Ultimate Beneficial Owner (UBO), officers, entity AML, plus a linked KYC session per UBO.
- Transaction Monitoring, real-time rule engine, case management, Suspicious Activity Report (SAR) workflow.
- Wallet Screening (KYT, know your transaction), on-chain wallet risk at $0.15 per check, or bring your own screening provider and run it inside Didit.
Compose any module into a workflow with the visual no-code builder, ship in 5 minutes, 500 verifications free every month, forever.
How is Didit different from a single-product Know Your Customer (KYC) vendor?
Most identity vendors sell one slice, a KYC check, an Anti-Money Laundering (AML) list, a wallet screen. Didit ships the infrastructure underneath all of them, and the gap shows up on six axes:
- Pricing. Public price on every module, $0.33 for a full KYC, 500 verifications free every month, no minimums, no contracts. Single-product vendors hide six-figure minimums behind a sales call.
- Access. Sandbox in one click, self-serve from day one, production keys on signup. Single-product vendors gate the sandbox behind a contract, months to evaluate.
- Developer experience. Public docs, a Model Context Protocol (MCP) server for Claude Code and Cursor, and native Software Development Kits (SDKs) for Web, iOS, Android, React Native, and Flutter. Integrate in 5 minutes with an AI agent or in a working afternoon by hand.
- User experience. Highest pass rates in the market, sub-2-second end-to-end inference, country-specialised capture flows, 48+ languages out of the box.
- Flexibility. One
/v3/Application Programming Interface (API) composes 25+ modules across KYC, Know Your Business (KYB), Transaction Monitoring, and Wallet Screening (KYT, know your transaction). A KYB session spawns a linked KYC for every Ultimate Beneficial Owner (UBO); a flagged transaction spawns a step-up KYC remediation, same session, same webhook contract, same audit trail. Single-product vendors sell one shape of KYC and stop there. - AI-era fraud. 200+ real-time fraud signals scored on every session, deepfake, injection, synthetic-ID, document forgery, face-morph, device intelligence, replay. Single-product vendors treat deepfake and injection detection as roadmap items, not defaults.
Common in fintech and crypto, the same architecture fits marketplaces, iGaming, mobility, and any vertical where you need to know who someone is and what they are doing.
What does it cost? Is anything actually free?
500 verifications free every month, forever, on every account. No credit card. No sales call. No expiry.
Above the free tier, every module has a public per-success price on didit.me/pricing, $0.33 per full KYC bundle, $0.15 per Identity Document Verification, $0.15 per Wallet Screening, $0.20 per Anti-Money Laundering (AML) Screening, $0.10 per liveness, $0.05 per face match, $0.03 per Internet Protocol (IP) analysis.
Pay-as-you-go, no minimums, no overage surprises. Volume discounts kick in automatically as you grow.
Which Danish regulators sit on top of a digital onboarding flow?
Four supervisors sit on every Danish identity-verification flow:
- Finanstilsynet, Danish Financial Supervisory Authority. Sets remote-onboarding requirements for banks, payment institutions, electronic-money institutions, and MiCA-licensed crypto-asset service providers under the Hvidvaskloven (Anti-Money Laundering Act), Denmark's transposition of AMLD6.
- Hvidvasksekretariatet, Denmark's Financial Intelligence Unit, sitting inside the State Prosecutor for Serious Economic and International Crime (SØIK). Receives every suspicious activity report.
- Datatilsynet, Danish Data Protection Agency. GDPR supervisor under the Danish Data Protection Act.
- Spillemyndigheden, Danish Gambling Authority. Licenses online operators with mandatory KYC + AML controls.
Didit ships the hosted flow + the audit log + the watchlist coverage to satisfy all four at the same time, same POST /v3/session/ workflow, same JSON report, same SOC 2 Type 1 + ISO/IEC 27001 evidence pack.
Does Didit cross-check Danish identities against the CPR Civil Registration system?
Yes, via the `dnk_national_id` Database Validation service (POST /v3/database-validation/ with services=dnk_national_id).
- Source: Danish Civil Registration system (Det Centrale Personregister, CPR).
- Coverage: ~100% of the adult population.
- Price:
$1.39 per successful query. - Required inputs:
first_name,last_name,date_of_birth,national_id(the CPR number). - Returns:
identification_number,first_name,last_name,full_name,date_of_birth,name_match_score.
Two complementary services round out the surface: `dnk_consumer_2` (combined consumer + telephone + utility records, $0.97, ~50% coverage) and `dnk_consumer` ($0.09, ~10% coverage). All three are documented at docs.didit.me/api-reference/database-validation/denmark/.
Is Didit ready for MiCA-licensed Danish crypto-asset service providers?
Yes. Finanstilsynet authorises crypto-asset service providers under MiCA with mandatory KYC + AML controls per Hvidvaskloven.
Didit covers the full stack on one workflow:
- Identity Document Verification + Active Liveness + Face Match 1:1 for the tier-1 onboarding check.
- `dnk_national_id` Database Validation against the CPR Civil Registration system, the source check Finanstilsynet and Hvidvasksekretariatet expect.
- AML Screening ($0.20 per check) against the global 1,300+ pool plus Danish regulatory watchlists and EU Consolidated Sanctions.
- Wallet Screening (KYT) at $0.15 per check for the on-chain exposure assessment MiCA + Travel Rule require.
- Ongoing AML monitoring ($0.07 per user / year) for the periodic-review obligation under Hvidvaskloven.
How long does it take to integrate Didit in Denmark?
5 minutes to a working sandbox, a weekend to a production flow.
- Sign up at
business.didit.me, grab an API key, callPOST /v3/session/with aworkflow_idthat wires ID Verification + Active Liveness + Face Match + AML + thednk_national_iddatabase check, done. - AI-agent path: paste the integration prompt at
docs.didit.me/integration/integration-promptinto Claude Code, Cursor, Codex, Devin, Aider, or Replit Agent. The agent provisions the application, builds the workflow, wires the webhook, and runs a smoke test. - Five SDKs share the same session model: Web, iOS, Android, React Native, Flutter.
The first 500 verifications every month are free, forever, pilot the full Denmark stack at zero cost before flipping production traffic.
Which language does the hosted verification flow use for Danish users?
Danish, auto-detected from the user's browser / device locale. The hosted UI ships in 48+ languages; Danish users land on the Danish flow by default. English is also live on the same flow for cross-border or expat users.
The document-recognition layer is decoupled from the UI layer, capture works in any language, and the admin console can be set independently to whichever language your compliance team prefers.
What does the Denmark verification cost end-to-end?
Per-module public pricing, pay only for what runs on the session:
- ID Verification,
$0.15per document check. - Passive Liveness,
$0.10. Active Liveness,$0.15. - Face Match 1:1,
$0.05. Face Search 1:N, free. - AML Screening,
$0.20per check. Ongoing AML,$0.07 per user / year. - `dnk_national_id` (CPR Civil Registration),
$1.39per successful query. - `dnk_consumer_2` (combined consumer + telephone + utility records),
$0.97per successful query. - `dnk_consumer`,
$0.09per successful query.
The full KYC bundle (Identity + Passive Liveness + Face Match + IP Analysis) is `$0.33`, same anchor price worldwide, no Denmark surcharge. 500 verifications free every month, no credit card. Volume discounts auto-apply above the free tier; Enterprise adds a custom Master Services Agreement (MSA) and data-residency choice.
Infrastructure for identity and fraud.
One API for KYC, KYB, Transaction Monitoring, and Wallet Screening. Integrate in 5 minutes.