KYC OCR API

Ship identity document intake without building OCR plumbing

Send passport, national ID, or driver license images to one OCR layer. PicToText returns document-specific structured data your onboarding backend can route, store, and review.

Built for developer-owned KYC pipelines, not a black-box compliance suite.

Document intake pipeline

One request moves raw document images into typed structuredData.

Passport OCR document input

Passport

passport

ID card OCR document input

ID card

cn_id_card

Driver license OCR document input

Driver license

us_drivers_license

curl -X POST "https://pictotext.io/api/v1/ocr" \
  -H "Authorization: Bearer sk_live_..." \
  -F "[email protected]" \
  -F "documentType=passport"
POST/api/v1/ocr
FORMimage + documentType
MODELdetect + extract
OUTPUTstructuredData
Review queue
Risk rules
User profile

Real response structures by document type

KYC flows span multiple identity documents. These examples use the documented response shape for passport, Chinese ID card, and US driver license endpoints.

Passport

passport

docs
passportNumbernamebirthDayexpiryDaymrz
{
  "passportNumber": "P12345678",
  "name": "JOHN MICHAEL DOE",
  "gender": "Male",
  "birthDay": "1990-01-01",
  "birthPlace": "NEW YORK, USA",
  "issueDay": "2020-01-01",
  "expiryDay": "2030-01-01",
  "issuePlace": "WASHINGTON D.C.",
  "nationality": "UNITED STATES OF AMERICA",
  "mrz": "P<USADOE<<JOHN<MICHAEL<<<<<<<<<<<<<<<<<<<<<\n1234567890USA9001011M3001012<<<<<<<<<<<<<<08"
}

ID card

cn_id_card

docs
namegenderdateOfBirthidNumbervalidityPeriod
{
  "name": "张三",
  "gender": "男",
  "ethnicity": "汉",
  "dateOfBirth": "1990-01-01",
  "address": "北京市朝阳区xxx街道xxx号",
  "idNumber": "110101199001011234",
  "issuingAuthority": "北京市公安局朝阳分局",
  "validityPeriod": "2010.01.01-2030.01.01"
}

Driver's license

us_drivers_license

docs
firstNamelastNamelicenseNumberdateOfBirthexpiryDate
{
  "firstName": "JOHN",
  "lastName": "DOE",
  "licenseNumber": "D123456789012",
  "dateOfBirth": "1990-01-01",
  "issueDate": "2020-01-01",
  "expiryDate": "2025-01-01",
  "address": "123 MAIN STREET",
  "city": "LOS ANGELES",
  "state": "CA",
  "zipCode": "90001",
  "gender": "M",
  "height": "6'00\"",
  "eyeColor": "BRO",
  "vehicleClass": "C",
  "restrictions": "NONE"
}

Integrate it like infrastructure

Keep your own decisioning, review UX, and storage rules. PicToText handles document OCR and field extraction before your KYC backend takes over.

01

Upload from any intake surface

Accept document images from web, mobile, support tools, or backend jobs.

02

Pass the document type

Use the matching documentType so the API applies the right schema and field extraction model.

03

Consume typed JSON

Receive document-specific structuredData instead of screenshots or loose OCR text blocks.

04

Route downstream

Send the result into profile creation, risk checks, manual review, or your own KYC rules.

Designed for developer-owned KYC systems

PicToText fits into your existing onboarding stack. Use it before manual review, risk scoring, document storage, or downstream verification providers.

  • REST API for backend ingestion
  • Document-specific structuredData responses
  • Works with your own fraud, risk, and compliance logic
  • Scales from testing to higher-volume KYC workflows
Read quickstart

Security and data handling built into the workflow

Identity documents contain sensitive data. PicToText uses encrypted transport, encrypted storage, and automatic cleanup windows so teams can reduce unnecessary data retention.

  • TLS-protected API requests
  • Encrypted storage for uploaded content and OCR results
  • Uploaded files and OCR results are automatically purged after 30 days
  • API keys and dashboard controls for operational access

Where KYC OCR fits

Fintech onboarding
Crypto exchange verification
Lending applications
Marketplace seller checks
Mobility and gig platform onboarding
Remote account opening

KYC OCR API FAQ

Start building automated KYC document intake

Use PicToText to turn identity document images into structured data your onboarding workflow can use.