> 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/tutelar-api-document-v2/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;ind\_ocr\_plus

<mark style="color:green;">`POST`</mark> `https://secctrl.tutelar.io/api/v2/kyc/vision/ind_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/v2/kyc/vision/ind_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 %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.tutelar.io/tutelar-api-document/tutelar-api-document-v2/kyc-verification/document-extraction/india/kyc-ocr-plus.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
