ID Extraction
Introduction
ID Extraction is designed to extract information from ID cards, which are issued to Indian residents. The API's core functionality is to extract relevant details from ID cards, such as the name, gender, date of birth, address, PIN code, and other essential information.
API Input Guidelines
Developers can integrate the API into their applications by sending HTTP requests with a JSON payload that contains the URLs of the ID card images and an Authorization header for authentication. The API's response is in JSON format and includes the extracted information from the ID card.
Sample cURL Request
curl --location 'https://api.signzy.app/api/v3/identity/extraction' \
--header 'Content-Type: application/json' \
--header 'Authorization: <auth_key>' \
--data '{
"frontUrl": "https://persist.signzy.tech/api/files/1306400383/download/XXXX.png",
"backUrl": "https://persist.signzy.tech/api/files/1306399909/download/XXXX.png",
"additionalChecks": true,
"mask": false
}'
Input Parameters
Parameter | Data Type | Example Value | Required | Description |
|---|---|---|---|---|
frontUrl | String | "https://persist.signzy.tech/api/files/xx.jpg" | Yes | URL of front side image of the ID card in JPEG, PNG or PDF format. Note: If you have both front and Back side of the ID in same page, pass it in frontURL and backUrl. |
backUrl | String | "https://persist.signzy.tech/api/files/xx.jpg" | No | URL of back side image of the ID card in JPEG, PNG or PDF format. Note: If you have both front and Back side of the ID in same page, pass it in frontURL and backUrl. |
additionalChecks | Boolean | true/false | No | When set to true, the API performs additional validation checks and includes the corresponding validation fields (such as validFront and validBack) in the response. When set to false or left blank, these additional validation checks are skipped, and the corresponding fields are omitted from the response.  Default value: false |
mask | Boolean | true/false | No | When set to true, the API returns the masked ID number in an additional paramter called as "unmaskedPoi". When set to false the API returns the unmasked ID number.  Default value: true |
Output Parameters
Parameter | Data Type | Description |
|---|---|---|
result.poi | String | The ID number. |
result.vid | String | The Virtual ID, if present. |
result.name | String | The name of the ID card holder. |
result.dob | String | The date of birth, if available on the ID card. Otherwise, "Not available on ID card" is returned. |
result.yob | String | The year of birth, if available on the ID card. Otherwise, an empty string is returned. |
result.pincode | String | The PIN code of the address on the ID card. |
result.address | String | The address on the ID card. |
result.gender | String | The gender of the ID card holder. |
result.idHash | String | The hash of the ID number. |
result.summary | Object | A summary of the extracted information from the ID card. |
result.summary.number | String | The ID number. |
result.summary.name | String | The name of the ID card holder. |
result.summary.dob | String | The date of birth, if available on the ID card. Otherwise, "Not available on ID Card" is returned. |
result.summary.address | String | The address on the ID card. |
result.summary.gender | String | The gender of the ID card holder. |
result.splitAddress | Object | The address on the ID card, split into individual components. |
result.validBackAndFront | Boolean | Indicates whether both front and back images belong to the same ID card |
result.dateOfBirth | String | The date of birth, if available on the ID card. Otherwise, an emp |
Sample Response:
//When mask is passed as true
{
"poi": "**********",
"vid": "",
"name": "RavXXXan LXXXxminaXXXXXan DuXXm",
"dob": "Not available on ID card",
"yob": "1978",
"pincode": "421503",
"address": "sai krupa building A / 103 , manjarli , deepali park , manjarli gaon , Badlapur , Thane , Kulgaon , Maharashtra , 421503",
"gender": "Male",
"splitAddress": {
"district": [
"THANE"
],
"state": [
[
"MAHARASHTRA",
"MH"
]
],
"city": [
"SAI"
],
"pincode": "421503",
"country": [
"IN",
"IND",
"INDIA"
],
"addressLine": "KRUPA BUILDING A 103,MANJARLI,DEEPALI PARK,MANJARLI GAON,BADLAPUR KULGAON"
},
"idHash": "********************************************",
"guardianName": "",
"issueDate": "",
"expiryDate": "",
"validBackAndFront": true,
}
}
//When mask is passed as false
{
"poi": "000000000101",
"vid": "",
"name": "PraXXXX XXXXX",
"dob": "28/03/1985",
"yob": "1985",
"pincode": "",
"address": "",
"gender": "Male",
"splitAddress": {
"district": [],
"state": [
[]
],
"city": [],
"pincode": " ",
"country": [
"IN",
"IND",
"INDIA"
],
"addressLine": ""
},
"idHash": "a709480a8deed0c8c546581b50815d21ac5f8f1384b9e0bf1f7292d86431d7ce",
"guardianName": "",
"issueDate": "",
"expiryDate": "",
"validBackAndFront": true,
"validFront": true,
"validBack": null,
"unmaskedPoi": "919XXXX20101"
}
Document related constraints
The size of the document should not exceed 10 MB.
For best results, ensure the image you use fits tightly in the camera view and horizontally aligned.
Only ASCII characters are supported during extraction.
Supported document types:
- Image - JPEG, JPG, PNG and TIFF/TIF.
- Single page PDF - In the case of multipage PDF input the API will only consider the first page for extraction.
- Digilocker Aadhaar is not supported for information extraction by this API.
Status Codes
Status Code | Description |
|---|---|
200 | OK |
400 | Bad Request (Input Body Invalid) |
409 | Upstream Down |
422 | Unprocessable Entity |