---
title: "A receipt or any document → structured JSON (OCR, no AI, no form). `type=identify` says what the document is (passport, birth or marriage certificate, ID card, receipt, or which of our forms) and reads a passport's machine-readable zone. Send the file itself as the body with its Content-Type. Nothing is kept."
method: POST
path: "/api/v1/engine/extract"
tags: ["Read"]
---

# A receipt or any document → structured JSON (OCR, no AI, no form). \`type=identify\` says what the document is (passport, birth or marriage certificate, ID card, receipt, or which of our forms) and reads a passport's machine-readable zone. Send the file itself as the body with its Content-Type. Nothing is kept.

`POST /api/v1/engine/extract`

## Request

- Base URL: `https://philforms.com`
- URL: `https://philforms.com/api/v1/engine/extract`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-PDFPhile-Embed`

## Query parameters

- `type` 'receipt' | 'document' | 'identify'

## Response `200`

Receipt fields (vendor, date, total, …) with field_confidence, or OCR lines; `low_field` lists fields under 0.7 confidence

## Other responses

- `400`: Not a PNG, JPEG, WebP or PDF body
- `403`: Reading is off for this site key
- `500`: Could not read this document
- `503`: OCR not installed on this server

---

[API](https://skmtc.dev/philforms/apis/philforms-api.md) · [All operations](https://skmtc.dev/philforms/apis/philforms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/philforms/apis/philforms-api/revisions/a43bf313729c?raw)
