OCCI-Membership-Certificate OCR API
Introduction
The OCCI Membership Certificate OCR API provides a structured way to extract information from an Oman Chamber of Commerce & Industry (OCCI) Membership Certificate. The API accepts a URL of an OCCI membership certificate (image or PDF) as input and returns the parsed certificate fields as a structured JSON response wrapped in an event envelope.
The OCCI Membership Certificate is a bilingual (English / Arabic) document issued by the Oman Chamber of Commerce & Industry that certifies a registered entity as a member of the chamber. It contains the company name, Commercial Registration (CR) number, registration grade, OCCI membership number, date of issue, date of expiry, and head office location, along with official stamps, an authorised signature, and a QR code.
This API enables seamless integration into onboarding, KYB (Know Your Business), and merchant verification workflows, eliminating the need for manual data entry from scanned or photographed certificates. The structured output preserves the original field semantics of the certificate, making it suitable for direct mapping into KYB systems, CRMs, or compliance archives.
Customers (banks, NBFCs, fintechs, lenders, insurers, payment aggregators, marketplaces operating in Oman or transacting with Omani entities) routinely collect OCCI membership certificates as supporting business-proof during merchant onboarding. They are required to validate the certificate, key in the printed fields against the merchant record, and store the extracted data in downstream KYB systems. Doing the extraction manually is operationally infeasible at onboarding scale; doing it with generic OCR tools is error-prone and produces inconsistent output across scan qualities and bilingual layouts.
The product gap is a single, deterministic, audit-friendly API that takes an OCCI membership certificate URL and returns a structured JSON of all printed fields along with a derived active/expired status indicator for downstream verification.
The response is delivered as a typed event (occi.membership_certificate.issued) with a unique event_id and a server timestamp, making it straightforward to log, replay, or fan out to downstream KYB consumers and audit stores.
By incorporating the OCCI Membership Certificate OCR API into your applications, you can accelerate merchant verification, reduce manual data-entry errors, and strengthen KYB compliance for Omani-entity onboarding flows.
API Details
Endpoint:
POST https://api.signzy.app/api/v3/extraction/OCCI-Membership-CertificatePOST https://api-preproduction.signzy.app/api/v3/extraction/OCCI-Membership-CertificateRequest body parameters:
Parameter | Type | Required | Description |
|---|---|---|---|
file_url | string (url) | Yes | Persist URL of OCCI Membership Certificate to be extracted. accepts: png, jpeg, pdf |
{
"file_url": "img_url"
}Request headers:
Name | Value | Required | Description |
|---|---|---|---|
Content-Type | application/json | Yes | The type of content that the request body contains. |
Authorization | XXXXXXXXXXX | Yes | An authentication token to authorize the request. Reach out to the Signzy support team to get one created. |
Code samples:
curl --location 'https://api-preproduction.signzy.app/api/v3/extraction/OCCI-Membership-Certificate' \
--header 'Content-Type: application/json' \
--header 'Authorization:<auth_key>' \
--data '{
"file_url": "<img_url>"
}'Response body parameters:
Parameter | Data type | Description |
|---|---|---|
event_type | string | Type of the emitted event. Always occi.membership_certificate.issued for a successful extraction. |
event_id | string | Unique identifier of the extraction event. Useful for logging, idempotency, and audit trails. |
timestamp | string | Server-side UTC timestamp of when the extraction was performed. |
data.certificate_type | string | Type of certificate detected. Expected value: MEMBERSHIP. |
data.company_name_en | string | Name of the company / entity certified by OCCI, as printed on the English side of the certificate. Null if not detected. |
data.cr_no | string | Commercial Registration (CR) number of the company. Null if not detected. |
data.occi_no | string | OCCI Membership Number (chamber-issued unique number). Null if not detected. |
data.grade | string | Registration grade of the entity (value printed against "Registered in the grade"). Null if not detected. |
data.date_of_issue | string | Date of issue of the certificate as printed on the document. Null if not detected. |
data.date_of_expiry | string | Date of expiry of the certificate as printed on the document. Null if not detected. |
data.head_office | string | Head office location of the entity as printed on the certificate. Null if not detected. |
data.is_active | boolean | Derived validity flag. true if date_of_expiry is on or after the current UTC date, false if expired. Null if date_of_expiry could not be parsed. |
{
"event_type": "occi.membership_certificate.issued",
"event_id": "evt_0000000000000001",
"timestamp": "2026-05-18T06:38:43.848111791Z",
"data": {
"certificate_type": "MEMBERSHIP",
"company_name_en": null,
"cr_no": null,
"occi_no": null,
"grade": null,
"date_of_issue": null,
"date_of_expiry": null,
"head_office": null,
"is_active": null
}
}Contact Us for Any Assistance
If you have any questions or need assistance, please reach out to our customer support team. You can contact us via email at [email protected]. We strive to provide prompt and reliable assistance, ensuring your queries are addressed effectively.
We value your feedback and are committed to making your experience smooth and enjoyable. Our team is dedicated to assisting you with any needs you may have. Thank you for choosing our services. We look forward to helping you!