Skip to main content
Didit Raises $7.5M to Build the Infrastructure for Identity and Fraud
Didit
Back to blog
Blog · May 21, 2026

KYB Document Collection & OCR at $0.20 per Document

Collect certificates of incorporation, articles, proof of address, and financials, then read them with OCR and run a tamper check — $0.20 per document, inside a KYB session.

By DiditUpdated
kyb-document-collection-ocr.png

Registry data tells you a company exists. Documents tell you what it actually is. A certificate of incorporation, the articles of association, a recent proof of address, financial statements — these are the artifacts that turn a registry line item into a verified business relationship. The problem is that collecting them has always been the most manual, most error-prone part of KYB: documents arrive over email in a dozen formats, someone keys the details into a system by hand, and nobody checks whether the PDF was edited before it landed in the inbox.

Didit's Business Verification API makes document handling part of the session. The kyb_documents feature collects the supporting documents, reads them with OCR, and runs a tamper check — so a document isn't just filed, it's verified. KYB documents are $0.20 per document, inside a KYB session whose full company verification is $2.00.

This guide walks through what document collection covers, how OCR and tamper detection work, and how to integrate it.

Key takeaways

  • Collection plus verification. The kyb_documents feature collects supporting documents and verifies them — it doesn't just store an upload.
  • OCR built in. Documents are read automatically, so the data inside them is structured, not trapped in a PDF.
  • Tamper check. Each document is analyzed for signs of editing or forgery before it's accepted.
  • $0.20 per document. Document verification is priced per document, inside a KYB session whose full verification is $2.00.
  • Status-tracked. kyb_documents reports NOT_FINISHED, APPROVED, DECLINED, IN_REVIEW, RESUB_REQUESTED, or AWAITING_USER — including a clear resubmission path.
  • One session. Documents sit alongside registry, key people, and entity AML in the same KYB session on the unified /v3/ API.

What KYB document collection does

Business onboarding almost always requires documents the registry doesn't hold: proof that the entity is incorporated, the rules that govern it, evidence of where it operates, and proof of its financial standing. The kyb_documents feature handles the full lifecycle of those documents inside the session — requesting them, receiving them, reading them with OCR, and checking them for tampering.

Typical KYB documents include:

  • Certificate of incorporation — proof the company is legally registered.
  • Articles of association / bylaws — the company's governing rules and structure.
  • Proof of address — evidence of the registered or operating address.
  • Financial statements — accounts and financial standing.

Each document moves through its own status, so an applicant who submits a blurry scan or the wrong file is routed to resubmit rather than silently failing the whole verification.

Why it matters

Document verification is where many KYB processes leak risk. A registry lookup is hard to fake; an emailed PDF is not. Edited certificates, recycled proof-of-address documents, and outright forgeries are common attack vectors when onboarding business entities, and a process that merely stores a document without checking it gives a false sense of assurance.

Reading documents with OCR also removes the manual-keying step that introduces transcription errors and slows onboarding. Instead of a person reading a certificate and typing the registration number into a form, the data is extracted automatically and can be cross-checked against the registry record in the same session.

Technical details

Document verification is one feature of a KYB session created against the unified /v3/ API.

curl -X POST https://verification.didit.me/v3/session/ \
  -H "x-api-key: $DIDIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "workflow_id": "your_kyb_workflow_id",
    "vendor_data": "vendor_corp_7720",
    "callback": "https://yourapp.com/kyb/callback"
  }'

The kyb_documents block reports the verification of each collected document:

{
  "kyb_documents": {
    "status": "APPROVED",
    "documents": [
      {
        "type": "CERTIFICATE_OF_INCORPORATION",
        "status": "APPROVED",
        "ocr": { "registration_number": "B12345678", "company_name": "Acme Logistics S.L." },
        "tamper_check": "PASSED"
      },
      {
        "type": "PROOF_OF_ADDRESS",
        "status": "RESUB_REQUESTED",
        "reason": "Document older than accepted window"
      }
    ]
  }
}

Feature status. kyb_documents reports NOT_FINISHED, APPROVED, DECLINED, IN_REVIEW, RESUB_REQUESTED, or AWAITING_USER. The RESUB_REQUESTED state is what makes document collection workable at scale — a rejected document asks for a clean resubmission instead of failing the whole session.

Webhooks. Subscribe to data.updated (session_kind: business) to receive extracted document data and status.updated to react when a document is approved or a resubmission is requested.

Price. $0.20 per document. The full KYB company verification — registry, UBO, officers, and entity AML — is $2.00.

OCR and tamper detection

Two things happen to every document. First, OCR reads it, structuring the content so a registration number, company name, or address becomes data your system can use and cross-check — not pixels in a PDF. Second, a tamper check analyzes the document for signs of editing or forgery, so a manipulated certificate or a doctored proof of address is caught before it's accepted.

Together they turn document collection from a filing exercise into a verification step. The OCR output can be reconciled against the kyb_registry record — does the registration number on the certificate match the one in the registry? — and the tamper check guards against the documents that would otherwise pass a human glance.

Use cases

  • Marketplaces onboarding business sellers collect incorporation and address documents, verify them automatically, and reject doctored uploads before payouts.
  • Fintech and banking platforms opening corporate accounts gather articles and financials with OCR-extracted data feeding straight into their records.
  • Lending providers underwriting business borrowers verify financial statements and incorporation documents as part of the same KYB session.
  • Crypto B2B platforms onboarding corporate clients collect and tamper-check the documentation regulators expect on file.

How to integrate with Didit

  1. Build the workflow. In the Business Console, create a KYB workflow with kyb_documents enabled and configure which document types you require.
  2. Create the session. POST /v3/session/ with your KYB workflow_id and a vendor_data reference for your internal business record.
  3. Handle webhooks. Listen for data.updated and status.updated (session_kind: business) to receive OCR-extracted data and react to approvals or resubmission requests.
  4. Reconcile and resolve. Cross-check OCR output against the registry record, and route RESUB_REQUESTED documents back to the applicant for a clean resubmission.

Because documents live in the same KYB session as registry, key people, and entity AML, you verify the whole company — not four disconnected checks stitched together after the fact.

Frequently asked questions

How much does KYB document verification cost?

$0.20 per document. The full company verification — registry, UBO, officers, and entity AML — is $2.00.

What documents can it collect?

Supporting KYB documents such as certificates of incorporation, articles of association, proof of address, and financial statements.

Does it read the documents or just store them?

It reads them with OCR, so the data inside — registration numbers, company names, addresses — is structured and can be cross-checked against the registry record.

Does it detect forged or edited documents?

Yes. Each document runs through a tamper check that analyzes it for signs of editing or forgery before it's accepted.

What happens if a document is rejected?

The document moves to RESUB_REQUESTED, prompting the applicant to submit a clean version, rather than failing the entire session.

Ready to get started?

Read the Business Verification overview in the docs, see how it fits the rest of the platform on the Business Verification product page, and check transparent per-call pricing on the pricing page. When you're ready, start free — 500 free KYC checks every month, and KYB documents at $0.20 each.

Infrastructure for identity and fraud.

One API for KYC, KYB, Transaction Monitoring, and Wallet Screening. Integrate in 5 minutes.

Ask an AI to summarise this page
KYB Document Collection & OCR | Didit