Cheque OCR

1 endpoint · Core API

Check OCR, or Check Optical Character Recognition, is a technology that converts bank checks into machine-readable data. It extracts essential details like amount, payees, and dates, which can be automatically transmitted to software via APIs or libraries. This eliminates manual data entry, reducing errors and friction in the process.

Benefits

  • 1. Efficient data extraction: OCR technology swiftly converts check images into machine-readable data, streamlining the process.
  • 2. Error reduction: Automated data extraction minimizes the risk of human errors associated with manual entry.
  • 3. Frictionless processing: By eliminating manual data entry, OCR enhances the efficiency and speed of check processing workflows.
  • 4. Enhanced accuracy: OCR ensures accurate extraction of key information from checks, enhancing overall data accuracy and integrity.

What you can do

This API extracts bank account and owner information from a copy of a cheque, facilitating efficient retrieval of relevant details for banking and financial processing purposes.

POST

/api/v1/cheque/ocr

#

Get Cheque OCR details

docs.signcare.io/core/api/ocr-pages/cheque-ocr/#post-api-v1-cheque-ocr

Request body: FileBase64 (required) is the cheque image as a raw Base64 string without a data-URI prefix, line breaks or whitespace. consent and consent_text are required; request_id is optional.

Headers

  • X-API-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • consent
    stringrequired
    Required. The end user's consent to this verification. Send `Y`.
    minLength 1default Y
  • consent_text
    stringrequired
    Required. The consent statement shown to the end user. Send the default text from the sample.
    minLength 1default I hear by declare my consent agreeme…
  • request_id
    stringoptional
    Optional. Your own id to correlate this call in your logs. A unique id is generated if you leave it out.
    nullable
  • fileBase64
    stringrequired
    Required. Cheque image as a raw Base64 string. Send the Base64 only: no `data:image/...;base64,` prefix and no line breaks or whitespace, or the request is rejected with 400.
    minLength 1pattern ^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2…default iVBORw0KGgo=
Sample request body
{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "fileBase64": "iVBORw0KGgo=" }

Responses

200OK
  • success
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 200
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • data
    objectoptional
    Response model containing the extracted data from cheque OCR processing.
    7 fields
    • accNo
      stringoptional
      Gets or sets the bank account number extracted from the cheque.
      nullable
    • bank
      stringoptional
      Gets or sets the bank name extracted from the cheque.
      nullable
    • chequeNo
      stringoptional
      Gets or sets the cheque number extracted from the cheque.
      nullable
    • ifsc
      stringoptional
      Gets or sets the IFSC code extracted from the cheque.
      nullable
    • micr
      stringoptional
      Gets or sets the MICR code extracted from the cheque.
      nullable
    • bankDetails
      objectoptional
      Represents the branch details of a bank.
      6 fields
      • address
        stringoptional
        Gets or sets the bank branch address.
        nullable
      • branch
        stringoptional
        Gets or sets the bank branch name.
        nullable
      • city
        stringoptional
        Gets or sets the city where the branch is located.
        nullable
      • contact
        stringoptional
        Gets or sets the contact information for the bank branch.
        nullable
      • district
        stringoptional
        Gets or sets the district where the branch is located.
        nullable
      • state
        stringoptional
        Gets or sets the state where the branch is located.
        nullable
    • name
      array<string>optional
      Gets or sets the list of account holder names extracted from the cheque.
      nullable
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • isBillable
    booleanoptional
    Whether this request was charged: true if it was, false if not. Errors always show false. Flows that finish later (ITR Fetch, SHCIL eStamp, DigiLocker, eSign) show false here, because the charge is made when the result is ready. eSign charges each signer when they complete signing. DigiLocker deducts the credit when the link is created and refunds it automatically if the link expires before the user completes it.
Example
{ "success": false, "statusCode": 200, "message": "XXXXX", "data": { "accNo": "string", "bank": "string", "chequeNo": "string", "ifsc": "string", "micr": "string", "bankDetails": { "address": "string", "branch": "string", "city": "string", "contact": "string", "district": "string", "state": "string" }, "name": [ "string" ] }, "messages": [ "string" ], "request_id": "string", "isBillable": false }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/api/v1/cheque/ocr' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "consent": "Y", "consent_text": "I hear by declare my consent agreement for fetching my information via SignCare API", "fileBase64": "iVBORw0KGgo=" }'