v1.0 · Malaysia · Borang 3 & Borang 4

Verify Malaysia society certificates and extract registration data.

Upload a Sijil Pendaftaran Pertubuhan (Borang 3 / Borang 4 under Akta Pertubuhan 1966) and instantly receive a verdict on whether the document is a valid certificate, plus normalized JSON: society name, registration number, registration date, address, postcode, city, and state. Ready for NGO onboarding, compliance, or grant verification.

🔒 HTTPS · Bearer / X-API-Key 📄 PDF / JPG / PNG up to 20MB ✓ Acceptance verdict + reasons 🗑️ No persistent storage

Restricted access

Sign in with the demo password to open the certificate analyzer.

Don't have access? Contact the administrator.

What you get

Accept / Reject verdict

Every response includes an is_acceptable boolean plus a reasons array — you know why a document was rejected, not just that it was.

PDF or image → JSON

Submit a multipart upload (PDF, JPG, or PNG) and receive a strict-schema JSON object, ready to drop into your KYC pipeline.

Date normalized

Bahasa Malaysia dates like "29 haribulan Jun 2018" are converted to 29-06-2018 automatically.

Postcode + city + state

Address is split cleanly into the street lines, 5-digit postcode, city/area, and Malaysian state — uppercase, normalized.

Key-based auth

Send Authorization: Bearer … or X-API-Key. Keys are validated server-side and never logged in client-facing errors.

Privacy by default

Uploads are processed in a private temp directory and removed after the request. Nothing retained on disk by default.

How it works

1

Upload a certificate

POST multipart/form-data with a single pdf field (PDF / JPG / PNG · ≤ 20MB).

2

Verify & extract

The service checks whether the document is a genuine Sijil Pendaftaran Pertubuhan and extracts the standard fields.

3

Get verdict + JSON

Receive an is_acceptable flag, reasons array, and a normalized fields object.

Extracted fields

{
  "result": {
    "is_acceptable": true,
    "reasons": [
      "Valid Sijil Pendaftaran Pertubuhan",
      "Registration number and date are clearly visible"
    ],
    "fields": {
      "foundation_name": "PERSATUAN STEAM MALAYSIA",
      "foundation_registration_number": "PPM-003-10-29062018",
      "foundation_registration_date": "29-06-2018",
      "foundation_cert_type": "BORANG 3 (Peraturan 5)",
      "foundation_address": "NO. 1, JALAN CONTOH, TAMAN CONTOH",
      "foundation_postcode_no": "43000",
      "foundation_postcode_name": "KAJANG",
      "foundation_state": "SELANGOR"
    }
  }
}