Passport OCR

Key
Description

type

Passport type (P,PA,etc.)

country_code

Country code (THA,etc.)

passport_number

Passport number

surname_en

Surname of passport holder in english

title_name_en

itle and name of passport holder in english

title_name_surname_th

Title, name, and surname of passport holder in Thai

nationality

Nationality of passport holder

date_of_birth

passport holder’s birth date

Identification_number

ID number of passport holder

sex

Sex of passport holder

height

Height of passport holder

place_of_birth

passport holder’s birthplace

date_of_issue

Passport issued date

date_of_expiry

Passport expired date

issuing_authority

Passport authorizer

holder_signature

Holder signature

mrz_1

Mrz line 1

mrz_2

Mrz line 2

Response Definition

HTTP Status
Code
Message
Description

200

-

OCR success.

400

-

Bad Request

error in request or cannot detect passport

500

-

Internal server error

some error occurs in server

Extract Passport Information

POST https://apis.aigen.online/aiscript/passport-ocr/v2

Request Body

Name
Type
Description

image*

String

Base64 image encoded string

option

Object

(Optional) get optional fields { return_face : bool } True = return face image from a passport.

Otherwise, do not return.

{
  "request_id": "",
  "error": [],
  "data": [
    {
      "type": {},
      "country_code": {
        "value": "THA",
        "bboxes": [
          [
            [
              576,
              2146
            ],
            [
              1888,
              2146
            ],
            [
              1888,
              2213
            ],
            [
              576,
              2213
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.6151
            ],
            [
              0.7483,
              0.6151
            ],
            [
              0.7483,
              0.6343
            ],
            [
              0.2283,
              0.6343
            ]
          ]
        ],
        "confidence": 0.9965
      },
      "passport_number": {
        "value": "ACXXXXXXX",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.9958
      },
      "surname_en": {
        "value": "XXXXXX",
        "bboxes": [
          [
            [
              576,
              2146
            ],
            [
              1888,
              2146
            ],
            [
              1888,
              2213
            ],
            [
              576,
              2213
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.6151
            ],
            [
              0.7483,
              0.6151
            ],
            [
              0.7483,
              0.6343
            ],
            [
              0.2283,
              0.6343
            ]
          ]
        ],
        "confidence": 0.9965
      },
      "title_name_en": {
        "value": "XXXXXXX",
        "bboxes": [
          [
            [
              380,
              460
            ],
            [
              484,
              460
            ],
            [
              484,
              473
            ],
            [
              380,
              473
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.1506,
              0.1318
            ],
            [
              0.1918,
              0.1318
            ],
            [
              0.1918,
              0.1356
            ],
            [
              0.1506,
              0.1356
            ]
          ]
        ],
        "confidence": 0.9974
      },
      "title_name_surname_th": {
        "value": "นาย ตัวอย่าง ตัวอย่าง",
        "bboxes": [
          [
            [
              379,
              480
            ],
            [
              489,
              480
            ],
            [
              489,
              492
            ],
            [
              379,
              492
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.1502,
              0.1376
            ],
            [
              0.1938,
              0.1376
            ],
            [
              0.1938,
              0.141
            ],
            [
              0.1502,
              0.141
            ]
          ]
        ],
        "confidence": 0.998
      },
      "nationality": {
        "value": "THAI",
        "bboxes": [
          [
            [
              380,
              501
            ],
            [
              411,
              501
            ],
            [
              411,
              511
            ],
            [
              380,
              511
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.1506,
              0.1436
            ],
            [
              0.1629,
              0.1436
            ],
            [
              0.1629,
              0.1465
            ],
            [
              0.1506,
              0.1465
            ]
          ]
        ],
        "confidence": 0.9923
      },
      "date_of_birth": {
        "value": "04/03/1979",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.9969
      },
      "identification_number": {
        "value": "1234567890123",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.9971
      },
      "sex": {
        "value": "M",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.6543
      },
      "height": {
        "value": "1.54",
        "bboxes": [
          [
            [
              380,
              539
            ],
            [
              413,
              539
            ],
            [
              413,
              547
            ],
            [
              380,
              547
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.1506,
              0.1545
            ],
            [
              0.1637,
              0.1545
            ],
            [
              0.1637,
              0.1568
            ],
            [
              0.1506,
              0.1568
            ]
          ]
        ],
        "confidence": 0.9784
      },
      "place_of_birth": {
        "value": "NAKHONPHANOM",
        "bboxes": [
          [
            [
              468,
              521
            ],
            [
              580,
              521
            ],
            [
              580,
              531
            ],
            [
              468,
              531
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.1855,
              0.1493
            ],
            [
              0.2299,
              0.1493
            ],
            [
              0.2299,
              0.1522
            ],
            [
              0.1855,
              0.1522
            ]
          ]
        ],
        "confidence": 0.9658
      },
      "date_of_issue": {
        "value": "09/06/2022",
        "bboxes": [
          [
            [
              380,
              558
            ],
            [
              459,
              558
            ],
            [
              459,
              567
            ],
            [
              380,
              567
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.1506,
              0.1599
            ],
            [
              0.1819,
              0.1599
            ],
            [
              0.1819,
              0.1625
            ],
            [
              0.1506,
              0.1625
            ]
          ]
        ],
        "confidence": 0.9549
      },
      "date_of_expiry": {
        "value": "08/06/2032",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.9905
      },
      "issuing_authority": {
        "value": "MINISTRYOFFOREIGNAFFAIRS",
        "bboxes": [
          [
            [
              580,
              549
            ],
            [
              688,
              549
            ],
            [
              688,
              561
            ],
            [
              580,
              561
            ]
          ],
          [
            [
              582,
              541
            ],
            [
              660,
              541
            ],
            [
              660,
              550
            ],
            [
              582,
              550
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2299,
              0.1574
            ],
            [
              0.2727,
              0.1574
            ],
            [
              0.2727,
              0.1608
            ],
            [
              0.2299,
              0.1608
            ]
          ],
          [
            [
              0.2307,
              0.1551
            ],
            [
              0.2616,
              0.1551
            ],
            [
              0.2616,
              0.1576
            ],
            [
              0.2307,
              0.1576
            ]
          ]
        ],
        "confidence": 0.9946
      },
      "holder_signature": {
        "value": "xxxxxxxx",
        "bboxes": [
          [
            [
              580,
              579
            ],
            [
              719,
              579
            ],
            [
              719,
              601
            ],
            [
              580,
              601
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2299,
              0.166
            ],
            [
              0.285,
              0.166
            ],
            [
              0.285,
              0.1723
            ],
            [
              0.2299,
              0.1723
            ]
          ]
        ],
        "confidence": 0.9956
      },
      "mrz_1": {
        "value": "X<XXXXXXXXXXX<<XXXXXXX<<<<<<<<<<<<<<<<<<<<<",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.999
      },
      "mrz_2": {
        "value": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
        "bboxes": [
          [
            [
              576,
              2219
            ],
            [
              1888,
              2219
            ],
            [
              1888,
              2291
            ],
            [
              576,
              2291
            ]
          ]
        ],
        "bboxes_norm": [
          [
            [
              0.2283,
              0.636
            ],
            [
              0.7483,
              0.636
            ],
            [
              0.7483,
              0.6566
            ],
            [
              0.2283,
              0.6566
            ]
          ]
        ],
        "confidence": 0.999
      }
    }
  "option": {
      "face": {
        "bboxes": [
          [
            369,
            766
          ],
          [
            495,
            641
          ],
          [
            638,
            784
          ],
          [
            512,
            909
          ]
        ],
        "bboxes_norm": [
          [
            0.3712,
            0.7698
          ],
          [
            0.498,
            0.6442
          ],
          [
            0.6419,
            0.7879
          ],
          [
            0.5151,
            0.9136
          ]
        ],
        "image_b64": "iVBORw0KGgoAAAANSUhEUgAAALE…}
      ],
      "status": "success"
    }
import requests

api = "https://apis.aigen.online/aiscript/passport-ocr/v2"
headers = {"x-aigen-key": "<key>"}
data = {"image": "<base64_string>","option": {} } #optional

res = requests.post(api, json=data, headers=headers)
print(res.json())

Last updated