> For the complete documentation index, see [llms.txt](https://docs.tutelar.io/tutelar-api-document/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.tutelar.io/tutelar-api-document/kyc-verification/document-extraction/india/kyc-ocr-plus.md).

# KYC OCR Plus

KYC OCR Plus is a unified OCR API that enables extraction of key information from multiple Officially Valid Documents (OVDs) and utility bills through a single endpoint. The API automatically identifies the uploaded document type and returns structured data, simplifying identity verification and document processing workflows. Supports Aadhaar, Pan, Voter Id, Passport, Driving License.

## &#x20;kyc\_ocr\_plus

<mark style="color:green;">`POST`</mark> `https://secctrl.tutelar.io/api/v1/kyc/vision/kyc_ocr_plus`

### Post parameters description is given below,

<table><thead><tr><th width="197">Post Parameter </th><th width="139">Type</th><th>Is  Mandatory</th><th>Description</th></tr></thead><tbody><tr><td>frontSide </td><td>String </td><td>Yes </td><td>Image Url</td></tr><tr><td>backSide</td><td>String</td><td>No</td><td>Image Url</td></tr></tbody></table>

#### Sample Post Parameters

```json
{
    "frontSide": "Url",
    "backSide": "Url"
}
```

{% tabs %}
{% tab title="200: Success Response" %}

```json
{
  "action": "extract",
  "completedAt": "2026-05-22T13:28:35",
  "createdAt": "1779436715.2925098",
  "requestId": "7783fee3-4851-4704-a40c-246e70f54ede",
  "voterId": {},
  "aadhaar": {
    "uid": "000000004931",
    "vid": "",
    "name": "Dayanand Ningayya Mayur",
    "dob": "01/07/1969",
    "yob": "1969",
    "pincode": "",
    "address": "",
    "gender": "MALE",
    "splitAddress": {
      "district": [],
      "state": [],
      "city": [],
      "pincode": " ",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    },
    "uidHash": "ed82701784e20d1a524c42e05dcb40139f0e4482b17e09250da64bcd6420bb19",
    "summary": {
      "number": "000000004931",
      "name": "Dayanand Ningayya Mayur",
      "dob": "01/07/1969",
      "address": "",
      "splitAddress": {
        "district": [],
        "state": [],
        "city": [],
        "pincode": " ",
        "country": [
          "IN",
          "IND",
          "INDIA"
        ],
        "addressLine": ""
      },
      "gender": "MALE",
      "guardianName": "",
      "issueDate": "",
      "expiryDate": "",
      "dateOfBirth": "01/07/1969"
    },
    "validBackAndFront": true,
    "dateOfBirth": "01/07/1969"
  },
  "passport": {},
  "drivingLicense": {},
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "aadhaar"
}



{
  "action": "extract",
  "completedAt": "2026-05-22T13:35:23",
  "createdAt": "1779437123.8643353",
  "requestId": "164b3909-db48-428d-88e7-3740f596b5cb",
  "voterId": {},
  "aadhaar": {},
  "passport": {},
  "drivingLicense": {},
  "pan": {
    "panType": "Adult",
    "dob": "04/05/1997",
    "name": "KOCHERLA SRIKANTH",
    "fatherName": "MUKKANTI KOCHERLA",
    "number": "GQBPK8700C",
    "summary": {
      "number": "GQBPK8700C",
      "name": "KOCHERLA SRIKANTH",
      "dob": "04/05/1997",
      "address": "",
      "splitAddress": {
        "district": [],
        "state": [],
        "city": [],
        "pincode": "",
        "country": [],
        "addressLine": ""
      },
      "gender": "",
      "guardianName": "MUKKANTI KOCHERLA",
      "issueDate": "",
      "expiryDate": ""
    }
  },
  "status": "completed",
  "taskId": "",
  "docType": "individualPan"
}


{
  "action": "extract",
  "completedAt": "2026-05-22T13:36:48",
  "createdAt": "1779437208.08582",
  "requestId": "55272f62-15b8-4097-bc01-ab6e4d4c5510",
  "voterId": {
    "name": "SUDAM CHHURA",
    "fatherName": "MACHA CHHURA",
    "address": "",
    "state": "",
    "ageAsOn": "",
    "dob": "",
    "gender": "",
    "yob": "",
    "epicNumber": "TIS1672195",
    "splitAddress": {
      "district": [],
      "state": [],
      "city": [],
      "pincode": "",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    }
  },
  "aadhaar": {},
  "passport": {},
  "drivingLicense": {},
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "voterId"
}

{
  "action": "extract",
  "completedAt": "2026-05-22T13:38:10",
  "createdAt": "1779437290.9262798",
  "requestId": "0f2c50bf-88b3-47b3-a253-490f650c4181",
  "voterId": {},
  "aadhaar": {},
  "passport": {
    "parentsGuardianName": "",
    "issueDate": "11/10/2011",
    "expiryDate": "10/10/2021",
    "birthDate": "23/09/1959",
    "name": "SITA MAHA LAKSHMI RAMADUGULA",
    "country": [
      "IN",
      "IND",
      "India"
    ],
    "nationality": "INDIAN",
    "sex": "F",
    "address": "",
    "pincode": "",
    "passportNumber": "J8369854",
    "fileNumber": "",
    "placeOfBirth": "GUNDUGOLANU",
    "placeOfIssue": "HYDERABAD",
    "splitAddress": {
      "district": [
        ""
      ],
      "state": [
          "",
          ""
        ]
      ],
      "city": [
        ""
      ],
      "pincode": "",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    },
    "summary": {
      "number": "J8369854",
      "name": "SITA MAHA LAKSHMI RAMADUGULA",
      "dob": "23/09/1959",
      "address": "",
      "splitAddress": {
        "district": [
          ""
        ],
        "state": [
            "",
            ""
        ],
        "city": [
          ""
        ],
        "pincode": "",
        "country": [
          "IN",
          "IND",
          "INDIA"
        ],
        "addressLine": ""
      },
      "gender": "F",
      "guardianName": "",
      "issueDate": "11/10/2011",
      "expiryDate": "10/10/2021"
    }
  },
  "drivingLicense": {},
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "passport"
}


{
  "action": "extract",
  "completedAt": "2026-05-22T13:40:20",
  "createdAt": "1779437420.1906567",
  "requestId": "fbfd6421-8f2d-4b84-a738-2da1cdeba08a",
  "voterId": {},
  "aadhaar": {},
  "passport": {},
  "drivingLicense": {
    "dlType": [],
    "issueDate": "29/06/2021",
    "expiryDate": "11/01/2042",
    "dob": "12/01/2002",
    "guardianName": "MANORANJAN DUTTA",
    "name": "SUBROTO DUTTA",
    "number": "AR0220210000074",
    "state": "Arunachal Pradesh",
    "address": "",
    "gaurdianName": "MANORANJAN DUTTA",
    "splitAddress": {
      "district": [
        "NA"
      ],
      "state": [],
      "city": [
        "NA"
      ],
      "pincode": "NA",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    }
  },
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "dl"
}


```

{% endtab %}

{% tab title="200: In Progress Response" %}

```json
{
    "success": true,
    "code": 200,
    "message": "The request is being processed. Please wait for completion.",
    "reference_id": "2fd4c21f-478d-4e52-bdc1-87ac29cdb300",
    "status": "in_progress",
    "requested_at": "2026-01-14T06:15:03.375Z"
}
```

{% endtab %}

{% tab title="400: Validation Error Response" %}

```json
{
    "success": false,
    "code": 400,
    "message": "Upload the front image of Document",
    "error": {
        "message": "Upload the front image of Document",
        "field": "frontSide",
        "code": "BAD_REQUEST"
    }
}
```

{% endtab %}

{% tab title="200: Failure Response" %}

```json
{
    "success": true,
    "code": 200,
    "message": "The request could not be completed due to an error.",
    "reference_id": "27271d8f-fa3b-4ae7-9ab9-1eda0c599955",
    "status": "failed",
    "error": {
        "message": "No result found",
        "code": "ERROR"
    },
    "requested_at": "2026-06-19T06:30:13.438Z",
    "completed_at": "2026-06-19T06:30:16.244Z"
}
```

{% endtab %}
{% endtabs %}

#### Check Document Status

## Get document details

<mark style="color:blue;">`GET`</mark> `https://secctrl.tutelar.io/api/v1/kyc/vision/kyc_ocr_plus`

### Query parameters description is given below,

<table><thead><tr><th width="197">Query Parameter </th><th width="139">Type</th><th>Is  Mandatory</th><th>Description</th></tr></thead><tbody><tr><td>reference_id </td><td>String </td><td>Yes </td><td>Document reference id</td></tr></tbody></table>

{% tabs %}
{% tab title="200: Success Response" %}

```json
{
  "action": "extract",
  "completedAt": "2026-05-22T13:28:35",
  "createdAt": "1779436715.2925098",
  "requestId": "7783fee3-4851-4704-a40c-246e70f54ede",
  "voterId": {},
  "aadhaar": {
    "uid": "000000004931",
    "vid": "",
    "name": "Dayanand Ningayya Mayur",
    "dob": "01/07/1969",
    "yob": "1969",
    "pincode": "",
    "address": "",
    "gender": "MALE",
    "splitAddress": {
      "district": [],
      "state": [],
      "city": [],
      "pincode": " ",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    },
    "uidHash": "ed82701784e20d1a524c42e05dcb40139f0e4482b17e09250da64bcd6420bb19",
    "summary": {
      "number": "000000004931",
      "name": "Dayanand Ningayya Mayur",
      "dob": "01/07/1969",
      "address": "",
      "splitAddress": {
        "district": [],
        "state": [],
        "city": [],
        "pincode": " ",
        "country": [
          "IN",
          "IND",
          "INDIA"
        ],
        "addressLine": ""
      },
      "gender": "MALE",
      "guardianName": "",
      "issueDate": "",
      "expiryDate": "",
      "dateOfBirth": "01/07/1969"
    },
    "validBackAndFront": true,
    "dateOfBirth": "01/07/1969"
  },
  "passport": {},
  "drivingLicense": {},
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "aadhaar"
}



{
  "action": "extract",
  "completedAt": "2026-05-22T13:35:23",
  "createdAt": "1779437123.8643353",
  "requestId": "164b3909-db48-428d-88e7-3740f596b5cb",
  "voterId": {},
  "aadhaar": {},
  "passport": {},
  "drivingLicense": {},
  "pan": {
    "panType": "Adult",
    "dob": "04/05/1997",
    "name": "KOCHERLA SRIKANTH",
    "fatherName": "MUKKANTI KOCHERLA",
    "number": "GQBPK8700C",
    "summary": {
      "number": "GQBPK8700C",
      "name": "KOCHERLA SRIKANTH",
      "dob": "04/05/1997",
      "address": "",
      "splitAddress": {
        "district": [],
        "state": [],
        "city": [],
        "pincode": "",
        "country": [],
        "addressLine": ""
      },
      "gender": "",
      "guardianName": "MUKKANTI KOCHERLA",
      "issueDate": "",
      "expiryDate": ""
    }
  },
  "status": "completed",
  "taskId": "",
  "docType": "individualPan"
}


{
  "action": "extract",
  "completedAt": "2026-05-22T13:36:48",
  "createdAt": "1779437208.08582",
  "requestId": "55272f62-15b8-4097-bc01-ab6e4d4c5510",
  "voterId": {
    "name": "SUDAM CHHURA",
    "fatherName": "MACHA CHHURA",
    "address": "",
    "state": "",
    "ageAsOn": "",
    "dob": "",
    "gender": "",
    "yob": "",
    "epicNumber": "TIS1672195",
    "splitAddress": {
      "district": [],
      "state": [],
      "city": [],
      "pincode": "",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    }
  },
  "aadhaar": {},
  "passport": {},
  "drivingLicense": {},
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "voterId"
}


{
  "action": "extract",
  "completedAt": "2026-05-22T13:38:10",
  "createdAt": "1779437290.9262798",
  "requestId": "0f2c50bf-88b3-47b3-a253-490f650c4181",
  "voterId": {},
  "aadhaar": {},
  "passport": {
    "parentsGuardianName": "",
    "issueDate": "11/10/2011",
    "expiryDate": "10/10/2021",
    "birthDate": "23/09/1959",
    "name": "SITA MAHA LAKSHMI RAMADUGULA",
    "country": [
      "IN",
      "IND",
      "India"
    ],
    "nationality": "INDIAN",
    "sex": "F",
    "address": "",
    "pincode": "",
    "passportNumber": "J8369854",
    "fileNumber": "",
    "placeOfBirth": "GUNDUGOLANU",
    "placeOfIssue": "HYDERABAD",
    "splitAddress": {
      "district": [
        ""
      ],
      "state": [
          "",
          ""
        ]
      ],
      "city": [
        ""
      ],
      "pincode": "",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    },
    "summary": {
      "number": "J8369854",
      "name": "SITA MAHA LAKSHMI RAMADUGULA",
      "dob": "23/09/1959",
      "address": "",
      "splitAddress": {
        "district": [
          ""
        ],
        "state": [
            "",
            ""
        ],
        "city": [
          ""
        ],
        "pincode": "",
        "country": [
          "IN",
          "IND",
          "INDIA"
        ],
        "addressLine": ""
      },
      "gender": "F",
      "guardianName": "",
      "issueDate": "11/10/2011",
      "expiryDate": "10/10/2021"
    }
  },
  "drivingLicense": {},
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "passport"
}


{
  "action": "extract",
  "completedAt": "2026-05-22T13:40:20",
  "createdAt": "1779437420.1906567",
  "requestId": "fbfd6421-8f2d-4b84-a738-2da1cdeba08a",
  "voterId": {},
  "aadhaar": {},
  "passport": {},
  "drivingLicense": {
    "dlType": [],
    "issueDate": "29/06/2021",
    "expiryDate": "11/01/2042",
    "dob": "12/01/2002",
    "guardianName": "MANORANJAN DUTTA",
    "name": "SUBROTO DUTTA",
    "number": "AR0220210000074",
    "state": "Arunachal Pradesh",
    "address": "",
    "gaurdianName": "MANORANJAN DUTTA",
    "splitAddress": {
      "district": [
        "NA"
      ],
      "state": [],
      "city": [
        "NA"
      ],
      "pincode": "NA",
      "country": [
        "IN",
        "IND",
        "INDIA"
      ],
      "addressLine": ""
    }
  },
  "pan": {},
  "status": "completed",
  "taskId": "",
  "docType": "dl"
}


```

{% endtab %}

{% tab title="200: In Progress Response" %}

```json
{
    "success": true,
    "code": 200,
    "message": "The request is being processed. Please wait for completion.",
    "reference_id": "2fd4c21f-478d-4e52-bdc1-87ac29cdb300",
    "status": "in_progress",
    "requested_at": "2026-01-14T06:15:03.375Z"
}
```

{% endtab %}

{% tab title="200: Failure Response" %}

```json
{
    "success": true,
    "code": 200,
    "message": "The request could not be completed due to an error.",
    "reference_id": "27271d8f-fa3b-4ae7-9ab9-1eda0c599955",
    "status": "failed",
    "error": {
        "message": "No result found",
        "code": "ERROR"
    },
    "requested_at": "2026-06-19T06:30:13.438Z",
    "completed_at": "2026-06-19T06:30:16.244Z"
}
```

{% endtab %}
{% endtabs %}
