Thailand Driver's License

Extract data from Thai Driver's License with high accuracy using our advanced OCR technology.

Request Parameters

Required Parameters

Parameter Type Required Description
image File ✅ Driver's license image file (JPG, PNG, WebP, HEIC and HEIF, max 10MB)
documentType String ✅ Must be th_drivers_license

Response Format

Success Response (200 OK)

{
  "cardTypeTh": "ใบอนุญาตขับรถ",
  "cardTypeEn": "Driver's License",
  "licenseNumber": "DL123456789",
  "idNumber": "1234567890123",
  "nameTh": "สมชาย ใจดี",
  "nameEn": "SOMCHAI JAIDEE",
  "birthTh": "๑ มกราคม ๒๕๓๓",
  "birthEn": "1990-01-01",
  "issueDate": "2020-01-01",
  "expiryDate": "2025-01-01"
}

Response Fields

Field Type Description Example
cardTypeTh string Card type in Thai ใบอนุญาตขับรถ
cardTypeEn string Card type in English Driver's License
licenseNumber string Driver's license number DL123456789
idNumber string 13-digit ID number 1234567890123
nameTh string Full name in Thai สมชาย ใจดี
nameEn string Full name in English SOMCHAI JAIDEE
birthTh string Birth date in Thai ๑ มกราคม ๒๕๓๓
birthEn string Birth date in English (YYYY-MM-DD) 1990-01-01
issueDate string Issue date (YYYY-MM-DD) 2020-01-01
expiryDate string Expiry date (YYYY-MM-DD) 2025-01-01

Code Examples

cURL

curl -X POST "https://pictotext.io/api/v1/ocr" \\
  -H "Authorization: Bearer sk_live_123456789abcdef" \\
  -F "image=@thai_drivers_license.jpg" \\
  -F "documentType=th_drivers_license"

JavaScript (Browser)

async function processThaiDriversLicense(imageFile, apiKey) {
  const formData = new FormData();
  formData.append('image', imageFile);
  formData.append('documentType', 'th_drivers_license');

  try {
    const response = await fetch('https://pictotext.io/api/v1/ocr', {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${apiKey}`
      },
      body: formData
    });

    if (!response.ok) {
      const error = await response.json();
      throw new Error(error.error.message);
    }

    return await response.json();
  } catch (error) {
    console.error('Error processing Thai driver\'s license:', error);
    throw error;
  }
}

// Usage example
const fileInput = document.getElementById('thai-license-file');
fileInput.addEventListener('change', async (event) => {
  const file = event.target.files[0];
  if (file) {
    try {
      const result = await processThaiDriversLicense(file, 'YOUR_API_KEY');
      console.log('Extracted data:', result);
    } catch (error) {
      alert('Processing failed: ' + error.message);
    }
  }
});

Python

import requests
import os

def extract_thai_license_data(image_path, api_key):
    """Extract data from Thai driver's license image"""

    url = 'https://pictotext.io/api/v1/ocr'
    headers = {'Authorization': f'Bearer {api_key}'}

    try:
        with open(image_path, 'rb') as f:
            files = {
                'image': (os.path.basename(image_path), f, 'image/jpeg')
            }
            data = {'documentType': 'th_drivers_license'}

            response = requests.post(url, headers=headers, files=files, data=data, timeout=30)
            response.raise_for_status()

            return response.json()

    except requests.exceptions.RequestException as e:
        print(f"Request failed: {e}")
        if hasattr(e, 'response') and e.response is not None:
            print(f"Status code: {e.response.status_code}")
            print(f"Error response: {e.response.text}")
        return None

# Usage
result = extract_thai_license_data('thai_drivers_license.jpg', 'YOUR_API_KEY')
if result:
    print("License Number:", result['licenseNumber'])
    print("Name (English):", result['nameEn'])
    print("Full response:", result)
else:
    print("Failed to extract Thai driver's license data")

Node.js

const FormData = require('form-data');
const fs = require('fs');
const axios = require('axios');

async function processThaiDriversLicense(imagePath, apiKey) {
  const formData = new FormData();
  formData.append('image', fs.createReadStream(imagePath));
  formData.append('documentType', 'th_drivers_license');

  try {
    const response = await axios.post('https://pictotext.io/api/v1/ocr', formData, {
      headers: {
        ...formData.getHeaders(),
        'Authorization': `Bearer ${apiKey}`
      }
    });

    return response.data;
  } catch (error) {
    if (error.response) {
      console.error('API Error:', error.response.data);
    }
    throw error;
  }
}

// Usage
processThaiDriversLicense('./thai_drivers_license.jpg', 'YOUR_API_KEY')
  .then(result => console.log(result))
  .catch(error => console.error('Error:', error.message));

Related Documentation