Aadhaar OCR API

Sections

Developer Documentation

Welcome to the Deepvue Developer Hub! 🎉

Here, you'll find all the tools and resources you need to dive deep into Deepvue.

Whether you're digging into detailed guides or exploring our docs, we've got your back.

Ready to dive in and start building awesome stuff? Let's do this! 💻 🚀

Was this section helpful?

What made this section unhelpful for you?

Introduction

Deepvue's API Infrastructure for Financial Integrations and Insights enables businesses to launch financial products 10X faster. We provide various API products across Identity Verification, Banking, Credit, and more to cater to business' specific needs.

The Deepvue APIs are well organised around REST. All the APIs have predictable resource-oriented URLs, accept query parameters, form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, error codes, and authentication.

Just getting started? Let's integrate step-by-step 💻

Lazy to write code?

Use your API Dashboard to get started with Deepvue — no code required.

Ready to integrate?

Get started with our postman collection - in no time. Here is the Link to Postman Collection.

Was this section helpful?

What made this section unhelpful for you?

Base URL

Production:

https://production.deepvue.tech

Language Box

API Keys

Use API keys to Authenticate API requests.

Deepvue authenticates your API requests using your account’s API keys. If a request doesn’t include a valid key, Deepvue returns an invalid request error. If a request includes a deleted or expired key, Deepvue returns an authentication error.

Use the Deepvue Dashboard to find keys. To access your API keys, navigate to credential section on the Dashboard.

Trial account secret keys have the prefix free_tier and live account secret keys have live as prefix and your organization id. Alternatively, you can use ask our chat support to help you navigating API integrations and even scheduling an API integration call or a product demo.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Keep your keys safe

Anyone can use your live mode API key to make any API call on behalf of your account. Keep your keys safe by following these best practices:

  1. Grant access only to those who need it.
  2. Don’t store keys in a version control system.
  3. Control access to keys with a password manager or secrets management service.
  4. Don’t embed a key where it could be exposed to an attacker, such as in a mobile application.

View the API request logs

To open the API request logs, click the API Logs on your deepvue dashboard, then select data range and products. Opening the logs redirects you to the main Deepvue Dashboard.

Was this section helpful?

What made this section unhelpful for you?

Authentication

Deepvue APIs require authentication for access. We support OAuth2 and client_id/client_secret based authentication methods. Please refer to the below Authorize section for more details.

You will need an Authorization token to access most of the Platform APIs. While APIs such as Aadhaar eKYC and Digilocker can be accessed using your client_id and client_secret.


Authorize

The Authorize API Endpoint allows developers to securely authenticate their applications using their API keys.

By providing the required client_id and client_secret, users can obtain the necessary access_token to access protected resources within the API. This process ensures secure communication between the application and the API, enabling seamless integration and data exchange.

  • Authorization Token will be valid for only 24 hours from the time of generating the token
  • After 24 hours, you need to refresh the token by using the Authorize API Endpoint.

You can find your client_id & client_secret on your dashboard under credentials tab. Your 'x-api-key' is the same as your client_secret.

Body Parameters

client_idstring Required

required CLIENT_ID provided to you

client_secretstring Required

required CLIENT_SECRET provided to you

Responses

200
Object

Response Attributes

access_tokenstring
token_typestring
expirystring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

detailarray

Show child attributes

500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/authorize

Select
1 2 3 curl --location 'https://production.deepvue.tech/v1/authorize' \ --form 'client_id="YOUR CLIENT_ID"' \ --form 'client_secret="YOUR CLIENT_SECRET"'

Response

{
  "access_token": "string",
  "token_type": "string",
  "expiry": "string"
}

Offline Aadhaar eKYC API

With these APIs, users can seamlessly integrate Offline Aadhaar ekyc processes into their applications, ensuring a secure and simplified user identification experience.

Offline Aadhaar KYC, or OKYC, is a legally compliant KYC method as per UIDAI guidelines. Your customers can provide their Aadhaar number and verify with an OTP sent to their Aadhaar-linked mobile number, to access a downloadable XML file with their Aadhaar details.

How does Offline Aadhaar Verification work?

Provide Consent: Customers agree or disagree to continue at the initial screen.

Share Aadhaar Number: Customers provide their Aadhaar number to proceed with the verification.

Verify with OTP: Verify with an OTP sent to their Aadhaar-linked mobile number by UIDAI, to access a downloadable XML file with their Aadhaar details in a share code manner.

Realtime liveness & face match for liveness detection: The Aadhaar Offline document has Name, Address, Photo, Gender, DOB. Optionally, the photo in the UIDAI Issued Aadhaar document can be matched with customers' live photo or a selfie in real time to ensure face match and liveness checks.

As per the compliances by UIDAI on sharing and storage of Aadhaar number is not allowed. Service Providers shall not share, publish or display either Share Code or XML file or its contents with anyone else. Any non-compliance of these actions shall invite actions under Sections 17 and 25 of The Aadhaar (Authentication) Regulation, 2016, Sections 4 and 6 of The Aadhaar (Sharing of Information) Regulation, 2016 and Sections 29(2), 29 (3), and 37 of The Aadhaar Act, 2016. Consent should be mandatorily stored at the company end to proceed with verification.

If you want to integrate Aadhaar eKYC in your web application or want to build your own customized workflow you can use our Aadhaar eKYC APIs as detailed below.

Embed offline eKYC Aadhaar flow to verify users on your application using a simple flow.

  • Initiate Session: This API allows the platform to initiate a session to get the captcha before passing the Aadhaar number of the customer.
  • Generate OTP: This API allows the platform to pass the Aadhaar number to generate OTP to the linked mobile number.
  • Verify OTP: This API allows the platform to pass the OTP to Deepvue.tech to fetch the customer's Aadhaar information from UIDAI.

If the customer or the platform wishes to restart the session, a new captcha can be generated using the Reload Captcha API.

Offline Aadhaar eKYC API - V2

We’re excited to introduce v2 of Deepvue’s Aadhaar eKYC APIs, bringing faster verifications, higher success rates, and improved integration capabilities.

What’s New in v2?

No Captcha Required – A frictionless experience with reduced user input.

Higher Success Rates – Enhanced backend optimizations for improved reliability.

Improved Error Handling – Clear, customer-centric responses with detailed sub_code for seamless backend integration.

Automated PDF Generation – Instant Aadhaar eKYC PDFs for easy record-keeping and compliance.

As per the compliances by UIDAI on sharing and storage of Aadhaar number is not allowed. Service Providers shall not share, publish or display either Share Code or XML file or its contents with anyone else. Any non-compliance of these actions shall invite actions under Sections 17 and 25 of The Aadhaar (Authentication) Regulation, 2016, Sections 4 and 6 of The Aadhaar (Sharing of Information) Regulation, 2016 and Sections 29(2), 29 (3), and 37 of The Aadhaar Act, 2016. Consent should be mandatorily stored at the company end to proceed with verification.

Digilocker API

Digilocker is an initiative under Digital India Program which aims to remove the dependency on physical documents and power the sharing of verified electronic documents across authorised agencies.

Benefits of Digilocker

  1. Documents can be shared online, accessed anytime, anywhere.
  2. Documents can be authenticated by the users, legally on a par with originals.
  3. It's simple to use and very convenient.
  4. Documents are issued directly by the registered issuers such as Income Tax Department, CBSE, Registrar Office, etc.

Product Flow

Initiate Session : This API creates a session in which DigiLocker journey can be completed with other APIs in the flow.

Get User Access Token : This API allows the platform to get user access token from Digilocker by passing the authorisation code generated from Digilocker.

Download e-Aadhar : This API allows the platform to download the Aadhaar XML from Digilocker.

Get Issued Files : This API allows the platform to fetch a list of issued documents from Digilocker.

Download File : This API allows the platform to download the file from Digilocker by passing the URI for a particular document.

KYC APIs

With these APIs, users can seamlessly integrate identity verification processes into their applications, ensuring compliance and enhancing security measures.

Document OCR

The Document OCR section allows developers to extract text from images and PDF files through optical character recognition (OCR) technology. By utilizing these API endpoint, developers can enable their applications to automatically process and extract text data from various document formats, enhancing efficiency and streamlining document management workflows.

Our systems use Modern & Latest OCR technology to scan the document images for field’s like full name, dob, address, etc. on the photo IDs and extract these fields as key-value pairs.

Was this section helpful?

What made this section unhelpful for you?

India

Was this section helpful?

What made this section unhelpful for you?

Aadhaar OCR API

With the help of Aadhaar Card OCR API you can extract relevant fields like aadhaar_numbernamedobaddress from the image of an Aadhaar Card document in the form of key-value pairs.

Base64 encoded string of the document needs to be passed in request payload.

Header Parameters

Authorizationstring
x-api-keystring

Body Parameters

document1string Required
document2string
namestring

Responses

200
Object

Response Attributes

dataobject

Show child attributes

messagestring
transaction_idstring
codenumber
400
Object

Response Attributes

detailstring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

transaction_idstring
codenumber
messagestring
500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/documents/extraction/ind_aadhaar

Select
1 2 3 4 5 6 7 8 curl --location 'https://production.deepvue.tech/v1/documents/extraction/ind_aadhaar' \ --header 'Authorization: Bearer <ACCESS_TOKEN>' \ --header 'x-api-key: API_KEY(a.k.a CLIENT_SECRET)' \ --data '{ "document1": "{{Aadhaar Card Image}}", "document2": "{{Aadhaar Card Image}}", "name": "" }'

Response

{
  "data": {
    "address": "string",
    "date_of_birth": "string",
    "district": "string",
    "fathers_name": "string",
    "gender": "string",
    "house_number": "string",
    "id_number": "string",
    "is_scanned": true,
    "name_on_card": "string",
    "pincode": "string",
    "state": "string",
    "street_address": "string",
    "year_of_birth": "string"
  },
  "message": "Document processed successfuly",
  "transaction_id": "string",
  "code": 200
}

Pan OCR API

PAN Card OCR API lets you extract relevant fields like pan_numbername, and dob from the image of a PAN Card document in the form of key-value pairs.

Base64 encoded string of the document needs to be passed in request payload.

Header Parameters

Authorizationstring
x-api-keystring

Body Parameters

document1string Required
namestring

Responses

200
Object

Response Attributes

dataobject

Show child attributes

messagestring
transaction_idstring
codenumber
400
Object

Response Attributes

detailstring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

transaction_idstring
codenumber
messagestring
500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/documents/extraction/ind_pancard

Select
1 2 3 4 5 6 7 curl --location 'https://production.deepvue.tech/v1/documents/extraction/ind_pancard' \ --header 'Authorization: Bearer <ACCESS_TOKEN>' \ --header 'x-api-key: API_KEY(a.k.a CLIENT_SECRET)' \ --data '{ "document1": "{{PAN Card Image}}", "name": "" }'

Response

{
  "data": {
    "age": null,
    "date_of_birth": "string",
    "date_of_issue": "string",
    "fathers_name": "string",
    "id_number": "string",
    "is_scanned": true,
    "minor": true,
    "name_on_card": "string",
    "pan_type": "string"
  },
  "message": "Document processed successfuly",
  "transaction_id": "string",
  "code": 200
}

Driving License OCR API

Driving License OCR API lets you extract relevant fields like dl_numbernamevaliditydob, and address etc. from the image of a DL document in the form of key-value pairs.

Base64 encoded string of the document needs to be passed in request payload.

Header Parameters

Authorizationstring
x-api-keystring

Body Parameters

document1string Required
document2string
namestring

Responses

200
Object

Response Attributes

dataobject

Show child attributes

messagestring
transaction_idstring
codenumber
400
Object

Response Attributes

detailstring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

transaction_idstring
codenumber
messagestring
500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/documents/extraction/ind_driving_license

Select
1 2 3 4 5 6 7 8 curl --location 'https://production.deepvue.tech/v1/documents/extraction/ind_driving_license' \ --header 'Authorization: Bearer <ACCESS_TOKEN>' \ --header 'x-api-key: API_KEY(a.k.a CLIENT_SECRET)' \ --data '{ "document1": "{{DL Image}}", "document2": "{{DL Image}}", "name": "" }'

Response

{
  "data": {
    "address": "string",
    "date_of_birth": "string",
    "date_of_validity": "string",
    "district": "string",
    "fathers_name": "string",
    "id_number": "string",
    "is_scanned": "string",
    "issue_dates": {},
    "name_on_card": "string",
    "pincode": "string",
    "state": "string",
    "street_address": "string",
    "type": [
      "string"
    ],
    "validity": {}
  },
  "message": "Document processed successfuly",
  "transaction_id": "string",
  "code": 200
}

Voter Id OCR API

Voter Card OCR API lets you extract voter fields like voter_idnamefather namedob, and address etc. from the image of a Voter Card document in the form of key-value pairs.

Base64 encoded string of the document needs to be passed in request payload.

Header Parameters

Authorizationstring

The access token used for authentication and authorization purposes for the API request.

x-api-keystring

The API key used for authenticating the API request and accessing the extraction service.

Body Parameters

document1string Required

The main document being submitted for extraction of Indian voter ID information.

document2string

The secondary document being submitted along with the primary document for extraction of Indian voter ID information.

namestring

The name of the document being submitted for extraction of Indian voter ID information.

Responses

200
Object

Response Attributes

dataobject

Show child attributes

messagearray

Show child attributes

transaction_idarray

Show child attributes

codenumber
400
Object

Response Attributes

detailstring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

transaction_idstring
codenumber
messagestring
500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/documents/extraction/ind_voter_id

Select
1 2 3 4 5 6 7 8 curl --location 'https://production.deepvue.tech/v1/documents/extraction/ind_voter_id' \ --header 'Authorization: Bearer <ACCESS_TOKEN>' \ --header 'x-api-key: API_KEY(a.k.a CLIENT_SECRET)' \ --data '{ "document1": "{{Voter ID Image}}", "document2": "", "name": "" }'

Response

{
  "data": {
    "address": "string",
    "age": "string",
    "date_of_birth": "string",
    "district": "string",
    "fathers_name": "string",
    "gender": "string",
    "house_number": "string",
    "id_number": "string",
    "is_scanned": "string",
    "name_on_card": "string",
    "pincode": "string",
    "state": "string",
    "street_address": "string",
    "year_of_birth": "string"
  },
  "message": [
    "Document processed successfuly"
  ],
  "transaction_id": [
    "25859290-2a81-4327-b269-484fb17e76b9"
  ],
  "code": 200
}

Bank Cheque OCR API

Manually typing in or verifying bank details like the account number, IFSC and account holder name is slow and cumbersome. Deepvue.tech’s Bank Cheque OCR API lets you do it in a blink of an eye and enables your Operations with instant Bank Cheque OCR.

With Bank Cheque OCR API, you can digitize an image of a bank cheque in no time.

Base64 encoded string of the document needs to be passed in request payload.

Header Parameters

Authorizationstring

This header parameter is used to authorize API requests made to the POST /v1/documents/extraction/ind_bank_cheque endpoint. It should contain the authorization token required for access to the specified resource.

x-api-keystring

This header parameter is used to authenticate API requests made to the POST /v1/documents/extraction/ind_bank_cheque endpoint. It should contain the API key provided by the developer.

Body Parameters

document1string

This body parameter should contain the document (such as an image of a bank cheque) that needs to be processed and extracted by the API. The content of the document should be in a format that the API can interpret.

Responses

200
Object

Response Attributes

dataobject

Show child attributes

messagestring
transaction_idstring
codenumber
400
Object

Response Attributes

detailstring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

transaction_idstring
codenumber
messagestring
500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/documents/extraction/ind_bank_cheque

Select
1 2 3 4 5 6 curl --location 'https://production.deepvue.tech/v1/documents/extraction/ind_bank_cheque' \ --header 'Authorization: Bearer <ACCESS_TOKEN>' \ --header 'x-api-key: API_KEY(a.k.a CLIENT_SECRET)' \ --data '{ "document1": "{{Bank Cheque Image}}" }'

Response

{
  "data": {
    "account_name": "string",
    "account_no": "string",
    "bank_address": "string",
    "bank_name": "string",
    "date_of_issue": "string",
    "ifsc_code": "string",
    "is_scanned": true,
    "micr_cheque_number": "string",
    "micr_code": "string"
  },
  "message": "Document processed successfuly",
  "transaction_id": "string",
  "code": 200
}

GSTIN Certificate OCR API

This API helps you extract details from image of a GST Certificate in real-time. Base64 encoded string or publically accessible URL of the document needs to be passed in request payload.

Header Parameters

Authorizationstring Required

The ACCESS_TOKEN that is required for authentication, generated from the authorize endpoint. Example format: Bearer .

x-api-keystring Required

The CLIENT_SECRET that is required for authentication and provided to you.

Body Parameters

document1string

The document that needs to be processed for GSTIN certificate extraction.

Responses

200
Object

Response Attributes

dataobject

Show child attributes

messagestring
transaction_idstring
codenumber
400
Object

Response Attributes

detailstring
401
Object

Response Attributes

detailstring
403
Object

Response Attributes

detailstring
422
Object

Response Attributes

transaction_idstring
codenumber
messagestring
500
Object

Response Attributes

detailstring
Was this section helpful?

What made this section unhelpful for you?

POST

/v1/documents/extraction/gstin-certificate

Select
1 2 3 4 5 6 curl --location 'https://production.deepvue.tech/v1/documents/extraction/gstin-certificate' \ --header 'Authorization: Bearer ACCESS_TOKEN' \ --header 'x-api-key: API_KEY(a.k.a CLIENT_SECRET)' \ --data '{ "document1": "{{Certificate Image}}" }'

Response

{
  "data": {
    "address": "string",
    "constitution_of_business": "string",
    "date_of_liability": "string",
    "gstin": "string",
    "is_provisional": "string",
    "legal_name": "string",
    "pan_number": "string",
    "trade_name": "string",
    "type_of_registration": "string",
    "valid_from": "string",
    "valid_upto": "string"
  },
  "message": "Document processed successfuly",
  "transaction_id": "string",
  "code": 200
}

Mobile Number Intelligence

Find, verify, and fetch multiple data points associated with a mobile number, including the Full Name, KYC Details, UPI ID, IFSC code, Network Details, Digital Age, Employment Information, and more.

Document Forensics

Set of APIs that help with document forensic checks like template validation, image quality, photocopy, and spoof checks.

Face Forensics

APIs for facial recognition and liveliness verification in real time. The Face Match API employs advanced algorithms for reliable facial matching, crucial for secure access control and compliance. The Passive Liveness API enhances security by detecting and confirming the liveliness of faces during authentication, providing an additional layer of protection against impersonation and fraud.

Async APIs

Verify other Identity documents such as Driving License, Vehicle Registration Certificate etc. in real time for fast KYC checks. These are Asynchronous APIs which return a request ID and use a webhook mechanism to return the response back to your servers. You can then use this request ID and feed this into our GET API to consume the response.

GST APIs

Set of APIs that help with GST Registered business verification and onboarding.

GST Taxpayer

The GST Taxpayer APIs are provided by the GSTN for public usage. These APIs, together, mirror the GST Portal. Therefore, you can use these APIs to integrate GST compliance into your workflow itself.

Use the following workflow to access the GST Taxpayer APIs:

  1. The GST taxpayer is authenticated using OTP Verification.
  2. After successful authentication, the GST Taxpayer APIs can be accessed.
    1. Ledger APIs - Fetch the taxpayer's ledger like a) Cash ITC Balance, b) Cash Ledger, c) ITC Ledger.
    2. Returns APIs - Fetch the taxpayer's detailed summaries of GSTR -1 and GSTR -3B Returns

Generate Otp

First the taxpayer has to allow access to the GST Portal and enable it on his own GST Portal Account.

Follow the following steps to do the same:

  1. Login to your GST Account on https://gst.gov.in
  2. Click 'View Profile' on Dashboard
  3. In the 'Quick Links' section, go to Manage API Access
  4. Set 'Enable API Access Request' to Yes
  5. Set 'Duration' to 30days
  • Once the taxpayer has enabled API access onto GST Portal, the OTP verification can be carried out.
  • First, Generate One Time Password API is called.
  • This API takes in the gstin & username as per GST Portal. And then sends OTP to the phone number and email id of the GST Taxpayer.

OTP Message is as follows and OTP sent will be valid for 10 minutes.

OTP Message Sent to the Taxpayer

Dear taxpayer,

{{OTP}} is the OTP to verify your GST registration: {{GSTIN}}.

OTP is valid till {{hh:mm:ss IST}}. Do not share OTP with anyone.

Business Compliance

Taxpayer

Taxpayer APIs includes TAN Verification.

Taxpayer APIs help businesses verify their vendors, customers & employees using TAN. APIs also provide publicly available data such as name, address, and contact details that can be verified against physical documents.

ITR APIs

ITR APIs includes ITR Verification APIs including 26AS.

ITR APIs helps businesses download ITR information, such as ITR ID, Filing Year, Acknowledgement Number, ITR Form, Filing Date, ITR status, etc.

MCA APIs

Set of APIs that help fetch MCA's Director Master Data & Company Master Data.

MSME APIs

Set of APIs that help with MSME Registered business verification and onboarding.

Financial Services

Suite that provides you whole array of APIs to serve multiple financial services and fetch data for an organisation or individual from various data sources in a streamlined manner.

Some of the key things that you can do here are:

  1. Fetch the Credit Report from any of our partner credit bureaus.
  2. Fetch customer's Customer Data Pull basis mobile number and name to simplify your onboarding.

EPFO

Real-time UAN Verification API to extract employment details of employees and verify EPFO details.

Bulk Validations

Set of APIs to perform bulk operations for different checks.