Domain name for API request: ocr.tencentcloudapi.com.
This API is used to recognize all fields on the front and back sides of a second-generation resident identity card for the Chinese mainland: name, gender, ethnicity, date of birth, domicile, identification number, issuing authority, and validity period, with a recognition accuracy of over 99%.
In addition, this API supports multiple value-added capabilities to meet the needs of different scenarios. It can crop ID card photos and profile photos, and provide warnings for nine cases, as detailed below.
Capability | Description |
---|---|
Cropping | Crops the ID card photo (by removing extra edges outside the ID card and automatically correcting the shooting angle). |
Crops the profile photo (by automatically cutting out the face area in the ID card). | |
Warning | Warns about invalid ID card validity periods. |
Warns about incomplete ID card borders. | |
Warns about photocopied images. | |
Warns about spoofed images. | |
Warns about border and frame occlusions. | |
Warns about temporary ID cards. | |
Warns about photoshopped images. | |
Warns about blurry ID card images (blurriness can be determined based on the image quality score). |
A maximum of 20 requests can be initiated per second for this API.
The following request parameter list only provides API request parameters and some common parameters. For the complete common parameter list, see Common Request Parameters.
Parameter Name | Required | Type | Description |
---|---|---|---|
Action | Yes | String | Common Params. The value used for this API: IDCardOCR. |
Version | Yes | String | Common Params. The value used for this API: 2018-11-19. |
Region | No | String | Common Params. This parameter is not required for this API. |
ImageBase64 | No | String | The Base64-encoded value of an image. The image cannot exceed 7 MB after being Base64-encoded. A resolution above 500 x 800 is recommended. PNG, JPG, JPEG, and BMP formats are supported. It is recommended that the card part occupy more than 2/3 area of the image. Either ImageUrl or ImageBase64 of the image must be provided. If both are provided, ImageUrl is used. |
ImageUrl | No | String | The URL of the image. The image cannot exceed 7 MB after being Base64-encoded. A resolution above 500 x 800 is recommended. PNG, JPG, JPEG, and BMP formats are supported. It is recommended that the card part occupy more than 2/3 area of the image. We recommend that you store the image in Tencent Cloud for higher download speed and stability. |
CardSide | No | String | FRONT : The side with the profile photo.BACK : The side with the national emblem.If this parameter is not specified, the system will automatically determine the ID card side. |
Config | No | String | The following parameters are all of bool type and default to false :CropIdCard : Crops the ID card photo (by removing extra edges outside the ID card and automatically correcting the shooting angle).CropPortrait : Crops the profile photo (by automatically cutting out the face area in the ID card).CopyWarn : Warns about photocopied images.BorderCheckWarn : Warns about border and frame occlusions.ReshootWarn : Warns about spoofed images.DetectPsWarn : Warns about photoshopped images.TempIdWarn : Warns about temporary ID cards.InvalidDateWarn : Warns about invalid ID card validity periods.Quality : Gets the image quality score (by evaluating the blurriness of the image).MultiCardDetect : Enables multi-card detection.ReflectWarn : Enables glare detection.Parameter setting method via SDK: Config = Json.stringify({"CropIdCard":true,"CropPortrait":true}) Parameter setting method via API 3.0 Explorer: Config = {"CropIdCard":true,"CropPortrait":true} |
Parameter Name | Type | Description |
---|---|---|
Name | String | Name (profile photo side) |
Sex | String | Gender (profile photo side) |
Nation | String | Ethnicity (profile photo side) |
Birth | String | Date of birth (profile photo side) |
Address | String | Address (profile photo side) |
IdNum | String | ID number (profile photo side) |
Authority | String | Issuing authority (national emblem side) |
ValidDate | String | Validity period (national emblem side) |
AdvancedInfo | String | Extended information, which will be returned only when requested. For the input parameters, please see example 3 and example 4.IdCard : Base64-encoded content of the cropped ID card photo, which will be returned if Config.CropIdCard is set to true .Portrait : Base64-encoded content of the ID photo on the card, which will be returned if Config.CropPortrait is set to true .Quality : Image quality score, which will be returned if Config.Quality is set to true . Value range: 0–100. The lower the score, the blurrier the image. The recommended threshold is ≥ 50.BorderCodeValue : Warning threshold score for incomplete ID card borders, which will be returned if Config.BorderCheckWarn is set to true . Value range: 0–100. The lower the score, the lower the probability of border occlusion. The recommended threshold value is ≤ 50.WarnInfos : Warning information. Warning codes and descriptions are as follows:-9100: The ID card validity period is invalid. -9101: The ID card borders are incomplete. -9102: The ID card image is photocopied. -9103: The ID card image is spoofed. -9104: The ID card is a temporary one. -9105: The ID card frame is occluded. -9106: The ID card image is photoshopped. -9107: The ID card image has glares. |
RequestId | String | The unique request ID, which is returned for each request. RequestId is required for locating a problem. |
This example shows you how to recognize the front side of a Chinese mainland identity card.
POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: IDCardOCR
<Common request parameters>
{
"ImageUrl": "https://xx/a.jpg",
"CardSide": "FRONT"
}
{
"Response": {
"Name": "",
"Sex": "",
"Nation": "",
"Birth": "1987/1/1",
"Address": "",
"IdNum": "440524198701010014",
"Authority": "",
"ValidDate": "",
"AdvancedInfo": "{}",
"RequestId": "ab2c132e-9e1c-43d3-b0ef-9b4d80f00330"
}
}
This example shows you how to recognize the back side of a Chinese mainland identity card.
POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: IDCardOCR
<Common request parameters>
{
"ImageUrl": "https://xx/a.jpg",
"CardSide": "BACK"
}
{
"Response": {
"Name": "",
"Sex": "",
"Nation": "",
"Birth": "",
"Address": "",
"IdNum": "",
"Authority": "",
"ValidDate": "2010.07.21-2020.07.21",
"AdvancedInfo": "{}",
"RequestId": "0d394478-6d4d-48fc-8b19-552415bf46de"
}
}
This example shows you how to crop the ID card photo and profile photo.
POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: IDCardOCR
<Common request parameters>
{
"ImageUrl": "https://xx/a.jpg",
"Config": "{\"CropIdCard\":true,\"CropPortrait\":true}",
"CardSide": "FRONT"
}
{
"Response": {
"Name": "",
"Sex": "",
"Nation": "",
"Birth": "1987/1/1",
"Address": "",
"IdNum": "440524198701010014",
"Authority": "",
"ValidDate": "",
"AdvancedInfo": "{\"IdCard\":\"/9j/4AAA.........\",\"Portrait\":\"/9j/4AAQSkZJRBA=...........\"}",
"RequestId": "97c323da-5fd3-4fe6-b0b3-1cf10b04422c"
}
}
This example shows you how to recognize a temporary ID card.
POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: IDCardOCR
<Common request parameters>
{
"ImageUrl": "https://xx/a.jpg",
"Config": "{\"TempIdWarn\":true}",
"CardSide": "FRONT"
}
{
"Response": {
"Name": "",
"Sex": "",
"Nation": "",
"Birth": "",
"Address": "",
"IdNum": "",
"Authority": "",
"ValidDate": "",
"AdvancedInfo": "{\"WarnInfos\":[-9104]}",
"RequestId": "sd33222eqd1dqq948487"
}
}
TencentCloud API 3.0 integrates SDKs that support various programming languages to make it easier for you to call APIs.
The following only lists the error codes related to the API business logic. For other error codes, see Common Error Codes.
Error Code | Description |
---|---|
FailedOperation.CardSideError | The CardSide type of the ID card is incorrect. |
FailedOperation.DownLoadError | File download failed. |
FailedOperation.EmptyImageError | The image is empty. |
FailedOperation.IdCardInfoIllegal | The ID card information (ID number, name, etc.) is invalid. |
FailedOperation.IdCardTooSmall | The resolution of the image is too low or the proportion of the ID card in the image is too small. |
FailedOperation.ImageBlur | The image is blurry. |
FailedOperation.ImageDecodeFailed | Image decoding failed. |
FailedOperation.ImageNoIdCard | No ID card is detected in the image. |
FailedOperation.ImageSizeTooLarge | The image is too large. Please see the description of image size limit in the output parameters. |
FailedOperation.MultiCardError | There are multiple cards in the photo. |
FailedOperation.OcrFailed | OCR failed. |
FailedOperation.UnKnowError | Unknown error. |
FailedOperation.UnOpenError | The service is not activated. |
InvalidParameter.ConfigFormatError | Config is not in valid JSON format. |
InvalidParameterValue.InvalidParameterValueLimit | Incorrect parameter value. |
LimitExceeded.TooLargeFileError | The file is too large. |
ResourcesSoldOut.ChargeStatusException | Exceptional billing status. |
Was this page helpful?