护照 OCR API

护照 OCR API:ICAO 9303 MRZ 与字段提取

向单一 REST 接口发送护照图片,即可获得结构化 JSON 返回 — 包含 MRZ 字符串、护照号、完整姓名、出生日期、签发与有效期、出生地、签发地与国籍。符合 ICAO 9303 标准,覆盖 200+ 国家,适用于 KYC、用户注册和入住核验自动化。

  • 符合 ICAO 9303
  • 200+ 国家覆盖
  • TD1 / TD2 / TD3
  • 秒级返回 JSON
护照图片被识别为结构化 JSON 输出

10 秒即可调用护照 OCR API

单一接口、单一文档类型、单次 POST。以 multipart/form-data 上传护照图片,立即获得标准化的 JSON 响应。选择你熟悉的语言 — 响应结构完全一致。

Request
curl -X POST "https://pictotext.io/api/v1/ocr" \
-H "Authorization: Bearer sk_live_YOUR_API_KEY" \
-F "documentType=passport"
JSON 响应JSON
{
"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"
}

每次成功请求返回相同结构。日期统一为 ISO 8601 格式(YYYY-MM-DD),MRZ 字符串通过 \n 保留原始换行,便于在客户端继续校验 MRZ 校验位。

每本护照提取的字段

护照接口对所有支持的文档统一返回这 10 个字段。没有可选标志位,没有按字段付费的拓展项 — 你看到的就是 JSON 里实际返回的字段。

passportNumber

数据页可见的护照号,同时存在于 MRZ 编码中。

name

数据页可视区域中的完整姓名(姓 + 名)。

gender

性别字段,标准化为 Male / Female / X。

birthDay

出生日期,标准化为 YYYY-MM-DD。

birthPlace

数据页上印刷的出生地(如有)。

issueDay

护照签发日期,标准化为 YYYY-MM-DD。

expiryDay

护照有效期截止日期,标准化为 YYYY-MM-DD。

issuePlace

数据页上印刷的签发地 / 签发机关。

nationality

国籍,返回国家全称(少数数据页未印刷长格式时返回 ISO 三字母代码)。

mrz

MRZ 原始字符串,两行或三行通过 \n 连接,保留原始格式。

如果你需要头像裁切、签名区或单字段置信度等额外字段,欢迎联系我们 — 这些功能在路线图上,会按用户场景排期上线。

护照 OCR 引擎是如何工作的

每张护照图片在返回 JSON 之前都会经历三个阶段。理解每个阶段的工作内容,可以帮助你定位边缘情况 — 也解释了为什么基于 MRZ 的提取通常是最可靠的信号。

  1. 图像预处理

    引擎首先在你提交的图片(手机抓拍、平板扫描、屏幕翻拍)中定位护照数据页。它会校正旋转角度让 MRZ 行保持水平,标准化对比度以降低反光和阴影,并裁切掉装订边,让 OCR 模型只看到证件本体。真实场景中绝大多数失败发生在这个阶段,所以我们会主动做较激进的预处理,而不是假设输入已经干净。

  2. MRZ 解码(ICAO 9303)

    数据页底部的机器可读区是 ICAO 9303 文件定义的固定格式字符串。引擎会解析两行或三行 MRZ(TD3 用于标准护照,TD1 和 TD2 用于卡片型旅行证件),并按规范算法重新计算并比对内嵌的校验位。MRZ 使用 OCR-A 字体专门为机器阅读设计,因此这一阶段比直接读取上方的可视字段稳定得多 — 同时还能发现篡改:校验位不匹配的护照在定义上就属于可疑。

  3. 可视字段交叉校验

    引擎随后会读取 MRZ 上方的可视字段 — 护照号、姓名、出生日期、有效期 — 并与解码后的 MRZ 进行比对。两者一致时,响应具有较高置信度。两者冲突时(被篡改或扫描质量低),引擎会回退到更可靠的信号:结构化字段以 MRZ 为准,MRZ 未编码的字段(如出生地、签发地)则取自 VIZ。最终的 JSON 是一份合并后的记录,而不是两个不同的来源。

团队都用护照 OCR API 在做什么

同一个接口同时服务身份注册、酒店入住、出行租赁、机场航空与跨境电商。我们见到最常见的几种场景:

KYC 与用户注册

金融科技、虚拟银行、加密交易所和跨境汇款 App 把护照 OCR 作为完整 KYC 流程中的文档提取环节:在移动端采集护照,调用 API 完成 OCR,把 MRZ 和可视字段交给用户确认,再推送到制裁/PEP 筛查服务。结构化 JSON 与 MRZ 校验位信号让接入 AML 决策引擎变得简单。

酒店入住自动化

物业管理系统和自助入住设备在客人到店时扫描一次护照,自动填写登记单、按需上报本地公安/旅业系统,并将本次住宿与会员档案关联。替换前台手动录入后,每位客人入住时间平均节省两分钟左右,同时消除了一类高频录入错误。

汽车与设备租赁

租赁公司把护照 OCR 与驾照 OCR 配合使用,在柜台取车或在 App 取车前完成身份核验。护照接口贡献长格式姓名与国籍,驾照接口贡献驾照号与准驾车型,最终汇入同一个订单记录。

航司与出行 API

航空公司与 OTA 在预订或在线值机时采集预报旅客信息 (API) 与 Secure Flight 数据。MRZ 是国籍、证件号、出生日期和有效期的权威来源,因此先 OCR 再解码 MRZ 比让旅客手动输入相同字段要可靠得多。

保险理赔与身份核验

旅行险与理赔团队用护照 OCR 核验申请人身份、用出生日期计算保费、用有效期确认证件处于有效状态。配合自拍活体检测,可以构建无需到访网点的远程理赔流程。

跨境电商与海关

高客单跨境物流通常要求收件人证件信息以便通关。卖家在结账阶段一次性识别护照信息,在用户授权下缓存结构化记录,后续重复跨境订单复用,免去每次的人工填表。

护照 OCR — 常见问题

来自工程、产品与合规团队评估护照 OCR API 时最常问到的问题。

3 分钟开始识别护照数据

注册账户,在控制台获取 API Key,POST 第一张护照图片。免费试用包含 100 次调用,可以先用你自己的图片样本验证 JSON 结构再决定是否长期使用。