Proof of address
Accept a utility bill and check it is recent and readable.
Passports, utility bills, CAC certificates and more, checked on our own infrastructure.
KYC often needs a document as well as an ID number. Upload a passport (with MRZ validation), a NIN slip, a utility bill (with date-recency checks), a CAC certificate, a bank statement header, a certificate of occupancy or a custom document. Our OCR runs on IdentifyOrg's own servers and the result is sent to you by webhook.
Accept a utility bill and check it is recent and readable.
Read a CAC certificate when a company signs up.
Validate a passport's machine-readable zone.
Collect and check supporting documents with one call.
Create a free account and set a webhook URL.
Upload a document with its type.
Receive the extracted fields and checks by webhook.
Create a free account, copy your test key and try an upload in the API reference.
Test keys are free and return realistic responses without charging you, so you can build the whole flow before you pay for a single live check.
POST /v1/verify/document, authenticated with your X-IdentifyOrg-Key header.
curl -X POST https://api.identifyorg.com/v1/verify/document \
-H "X-IdentifyOrg-Key: io_live_xxxx" \
-F "file=@passport.jpg"{
"id": "ver_01hxyz...",
"type": "document",
"status": "success",
"match": null,
"confidence_score": 91,
"data": {
"full_name": "OKAFOR ADAEZE N",
"document_number": "A12345678",
"expiry_date": "2030-05-01"
},
"cost": 30.0,
"currency": "NGN",
"is_test": false,
"created_at": "2026-07-02T10:24:00Z"
}When the test convinces you, the developer section shows exactly how to connect it: the endpoint, the request and response, SDKs for your language and webhooks.
International passports, NIN slips, utility bills, CAC certificates, bank statement headers, certificates of occupancy and custom documents.
On IdentifyOrg's own infrastructure. No third-party OCR service receives the document.
By webhook, normally within 30 seconds. See the webhooks page for the signature format.
Pay as you go from ₦50 per document.