Enterprise-grade KYC API, without enterprise pricing.
Verify people, businesses, bank accounts, documents and biometrics through one developer-first API platform built for Indonesia. Pay only for completed results.
Built for fintechs, lenders, marketplaces, payment platforms, e-commerce and other Indonesian digital businesses.
{ "decision": "approved", "faceMatch": "PASS", "liveness": "PASS", "document": "PASS" }
{ "nama": "B••• S•••••", "sex": "L", "tglLahir": "••-••-1990" }
{ "namaPerusahaan": "PT C•••• M••••", "npwp": "60•••••••••010", "tglTerbitOss": "2023-06-09" }
{ "bank": "Mandiri", "accountHolder": "R•••• A••••" }
{ "decision": "match", "quality": "ok", "embeddings": "never returned" }
{ "nik": "3201••••••••0001", "nama": "B••• S•••••", "nik_matches_birth_date": "PASS" }
One integration standard for every check.
One signing scheme, one response format and one audit trail — use a single API or the complete KYC flow.
Registry checks
Confirm the person behind a NIK.
Registered name, sex and date of birth from a 16-digit NIK.
Verify a company by its NIB.
Legal name, tax ID and OSS issuance date from a 13-digit NIB.
Know who owns the account before you pay.
Holder name for 120+ banks and DANA, OVO, GoPay, ShopeePay.
Data checks
Read what a NIK says about itself.
Province, regency, district, birth date, gender and an optional age gate decoded from a NIK, with plausibility checks.
Is it the same name, written differently?
Indonesian-aware name comparison: titles, old spelling, Muhammad variants, initials and word order.
Biometric & document
Is the selfie the person on the KTP?
Compares a selfie with the KTP portrait, after checking both images are usable.
A live person, not a photo of one.
Presentation-attack detection from a single selfie.
Read every field on an e-KTP.
Structured identity fields from a KTP photo, with NIK consistency checks.
Does this look like a genuine e-KTP?
Document integrity and data-consistency checks on a KTP photo, without returning personal data.
Is the card in their hand their own?
Checks a photo of the user holding their KTP against the card they uploaded.
One call. One decision you can act on.
Selfie and KTP in — approved, review or rejected out.
Instead of building four verification systems yourself, use one API.
- The whole check, one price. Quality gate, face match, passive liveness and document checks in a single call.
- Never approved on a guess. Approval requires every component to pass; anything inconclusive returns review.
- Document checks included. Document integrity and data-consistency checks run on every card.
- 01Quality gate
- 02Face match
- 03Passive liveness
- 04Document checks
- 05Decision
More than verification APIs.
Run the verification operation, not just the verification request — fraud signals, policies, reviews, webhooks, batches, hosted verification, audit and certificates, all included.
Verify
Fraud signals & blocklist
Every NIK and account check flags identities reused across your users, unusual velocity and your own blocklist — stored as keyed fingerprints only.
riskSignalsVerification policies
Your rules on top of every KYC decision: minimum age, blocklist, reuse, document strictness. Policies can only make a decision stricter.
options.policyIdOperate
Case management
A review queue for your operations team: case details, notes, assignment and approve/reject — all audited.
Dashboard → ReviewsWebhooks
Signed, retried event delivery when analyses complete, reviews resolve, batches finish or hosted sessions are submitted.
Kenalyx-SignatureBatch verification
Up to 1,000 identity, business, account, NIK or name checks per batch, from JSON or CSV. Results by API, CSV or webhook.
POST /v1/batchesHosted verification link
No front-end work: send a link and users complete KTP and selfie on a secure page in Bahasa Indonesia or English, with your name and colour.
POST /v1/verification-sessionsGovern
Governance controls
Per-key IP allowlists and monthly spend limits, your own data retention period and an erasure API for UU PDP requests.
DELETE /v1/analyses/:idVerification certificates
Signed, tamper-evident proof of which checks ran and when, verifiable with a published public key.
GET /v1/analyses/:id/certificateEvery request has to earn its answer.
Built for sensitive identity data. An ordered chain of checks runs before a single field is returned — and sensitive data is encrypted at rest.
Simple pricing. No enterprise maze.
Know what you'll pay before you integrate — published per-result pricing, no annual commitment, volume pricing when you scale.
- Don't pay for failed inputsInvalid input, rate limits, provider errors and rejected photos are never billed.
- No annual commitmentNo monthly minimum on pay-as-you-go.
- Volume pricingFrom 1,000 verifications a month, custom from 50,000.
Launch pricing Temporary launch prices from Rp70 per check.
Common questions
Anything else? Our team answers technical and commercial questions.
How does pricing work?
You pay per completed result, and each product has its own price. Invalid input, rate limits, provider errors and photos rejected by the quality gate are not billed.
Is there a minimum commitment?
No annual commitment or monthly minimum on pay-as-you-go pricing. Volume pricing is available from 1,000 verifications a month.
Can I use a single API, like Face Match only?
Yes. Every API works on its own. KYC Verify combines them into one call when you want a single decision.
How do I get access?
Request access and we activate your dashboard account. You then create API keys with only the scopes you need.
How is personal data handled?
Photos are processed in memory and not stored. Face embeddings are never stored or returned. OCR values go only to the caller; our records keep a masked NIK.
Do you offer webhooks, batch processing or a no-code option?
Yes. Signed webhooks, batches of up to 1,000 checks, and a hosted verification link you can send to users without building any screens.
Ready to verify your first customer?
Start with one API. Add complete KYC when you need it.