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.
Every response includes an is_acceptable boolean plus a reasons array — you know why a document was rejected, not just that it was.
Submit a multipart upload (PDF, JPG, or PNG) and receive a strict-schema JSON object, ready to drop into your KYC pipeline.
Bahasa Malaysia dates like "29 haribulan Jun 2018" are converted to 29-06-2018 automatically.
Address is split cleanly into the street lines, 5-digit postcode, city/area, and Malaysian state — uppercase, normalized.
Send Authorization: Bearer … or X-API-Key. Keys are validated server-side and never logged in client-facing errors.
Uploads are processed in a private temp directory and removed after the request. Nothing retained on disk by default.
POST multipart/form-data with a single pdf field (PDF / JPG / PNG · ≤ 20MB).
The service checks whether the document is a genuine Sijil Pendaftaran Pertubuhan and extracts the standard fields.
Receive an is_acceptable flag, reasons array, and a normalized fields object.
{
"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"
}
}
}