Skip to main content

Thai Bank Book OCR

Mobile & Web SDK available

Skip the camera work — our free open-source eKYC SDK (Web, Flutter, iOS, Android & React Native) auto-captures documents and faces and calls this API for you. View on GitHub.

The Thai Bank Book OCR API extracts the bank name, account number, account name, and branch from Thai bank passbook images, and detects whether the page carries a signature. It supports passbooks from the major Thai banks. The production service processes a page in 0.2 seconds (median) and sustains 29,000 pages per hour; see Accuracy for what to rely on and what to treat as advisory.

Live Demo

Upload a Thai bank passbook image, or use the synthetic specimen below.

Try Our AI Demo

Login or create a free account to use this AI service demo and explore our powerful APIs.

Get 100 Free Credits (IC) when you sign up!

Offer ends December 31, 2025

Example Images (Click to try)

Example 1
Try Demo

Try the SDK (Live Camera)

Prefer not to upload a file? The free open-source iApp eKYC Web SDK captures the bank book automatically from your camera — it detects the page boundary, waits for a sharp stable frame, perspective-corrects the image, and submits it to this API. See more flows on the full SDK live demo page.

Loading live demo…

Quick Start

You need an API key from the API Key Management page. Send the image as multipart/form-data:

curl -X POST https://api.iapp.co.th/v3/store/ekyc/book-bank \
-H "apikey: YOUR_API_KEY" \
-F "file=@bankbook.jpg"
{
"status": "success",
"bank_name": "ไทยพาณิชย์ (SCB)",
"account_number": "0123456789",
"account_name": "บริษัท ไอแอพพ์เทคโนโลยี จำกัด",
"bank_branch": "ฟิวเจอร์ พาร์ค รังสิต",
"signature_detected": true
}

Endpoints and Pricing

EndpointOutputPrice
POST /v3/store/ekyc/book-bankJSON with bank name, account number, account name, branch, and signature detection1.25 IC per page

The legacy paths /book-bank-ocr and /book-bank-ocr/file remain supported at the same price. For on-premise deployment, see Data Security.

Performance

Measured on the production service, August 2026.

MetricValue
Median processing time0.2 s per page
Sustained throughput8.2 pages per second (29,000 pages per hour)
Maximum file size10 MB
Supported input formatsJPEG, JPG, PNG
Supported banksSCB, Bangkok Bank, Krungthai, Kasikorn, Krungsri, TMB

Accuracy

FieldAccuracy
Bank name99.5%
Account number96.8%
Account name52.6%
Bank branch63.1%

Rely on the machine-readable fields — bank name, account number, and account type — and treat the free-text account_name and bank_branch as advisory: passbooks vary widely in layout, print quality, and wear, so verify those two against another source when they matter. The recognition engine was upgraded in August 2026 and audited field by field against the previous engine on identical passbook images: 99.45 percent overall agreement, with the account number, bank name, and account type identical on every book tested, and no field removed or changed type. Details in the whitepaper:

Download the engine audit whitepaper (PDF)

Data Security and Compliance

  • The service is GDPR and PDPA compliant.
  • Uploaded images are processed in memory and are not retained after the response is returned.
  • A fully self-contained on-premise deployment is available, in which no passbook data leaves your infrastructure. Contact us for details.

Technical Reference

Request

POST with multipart/form-data and the apikey header.

ParameterRequiredDescription
fileYesThai bank passbook image (the account-information page)

Response

{
"status": "success",
"processing_time": 0.2,
"bank_name": "ไทยพาณิชย์ (SCB)",
"account_number": "0123456789",
"account_name": "บริษัท ไอแอพพ์เทคโนโลยี จำกัด",
"bank_branch": "ฟิวเจอร์ พาร์ค รังสิต",
"signature_detected": true
}

Response Fields

FieldTypeDescription
statusStringsuccess or an error status
processing_timeFloatProcessing time in seconds
bank_nameStringIssuing bank
account_numberStringAccount number
account_nameStringAccount holder name (advisory — see Accuracy)
bank_branchStringBranch name (advisory — see Accuracy)
signature_detectedBooleanWhether a handwritten signature was found on the page

Code Examples

curl -X POST https://api.iapp.co.th/v3/store/ekyc/book-bank \
-H "apikey: YOUR_API_KEY" \
-F "file=@bankbook.jpg"

Limitations

  • Thai bank passbooks only; handwritten signature detection only.
  • Files larger than 10 MB are rejected; supported formats are JPEG, JPG, and PNG.
  • Keep the passbook flat, well lit, and free of glare; tilted or shadowed captures reduce accuracy.

Changelog

VersionDateChanges
v1.1.1-2026082323 Aug 2026Upgraded recognition engine, roughly 3–5 times faster per page (0.2 s median). Field-by-field audit against the previous engine on identical passbooks: 99.45% agreement, with account number, bank name, and account type identical on every book tested; response contract unchanged. Fully self-contained on-premise deployment available.
v2.0Aug 2022Added signature detection; overall accuracy improved to 93%.
v1.02022Initial release.