← Back to blog

n8n Document Extraction with Cryvis

Call Cryvis OCR APIs from n8n with HTTP Request multipart, $binary files, Bearer auth, and workflows for invoices, KYC, and document ETL.

n8n can watch Drive folders, receive webhooks, and fork logic with IF/Switch nodes. Cryvis turns document binaries into structured JSON. Together they form a document ETL pipeline you can run in n8n Cloud or self-hosted.

This hub covers how Cryvis fits in an n8n workflow, which endpoint to call, how auth and credits work, and a full index of tutorials.

Prefer Zapier? See the Zapier + Cryvis hub. Prefer Make.com? See the Make.com + Cryvis hub.

How Cryvis fits in an n8n workflow

Cryvis has no dedicated n8n node. Use HTTP Request with multipart body and a binary property from a previous node ($binary.data by default after Drive download or webhook upload).

Typical pattern:

[Trigger: Google Drive / Gmail / Webhook]
        |
        v
[Download file → $binary.data]
        |
        v
[HTTP Request]
  POST https://api.cryvis.com/v1/documents/<type>
  Authorization: Bearer <API_KEY>
  Body Content Type: multipart-form-data
  Body: file = binary data
        |
        v
[IF: {{ $json.success }} equals true]
        |
        v
[Google Sheets / Postgres / HubSpot / Slack]

Notes that save debugging time:

  • File bytes live in $binary, not $json. After a Drive download, map the binary property name into the HTTP Request multipart field — do not send a URL string as the file.
  • Multipart field names depend on the endpoint: invoices/receipts/PAN use file; passport uses first_page + last_page; Aadhaar uses one or two parts named file; driver license needs file + text field country; Indian vehicle RC uses front and/or back.
  • Accepted MIME types (typical): application/pdf, image/jpeg, image/png, image/webp.
  • Response shape: { success, data: { ...fields }, meta }. Expressions should read {{ $json.data.invoice_number }}, not {{ $json.invoice_number }}.
  • Credit cost: 1 credit per PDF page or image. See Credits.

Auth

  1. Create an API key in the Cryvis console.
  2. On the HTTP Request node, add a header:
Authorization: Bearer <API_KEY>

Prefer an n8n credential (Header Auth or generic credential) over hardcoding the key in the node. On self-hosted instances, keep keys in environment variables your ops team rotates.

Endpoint cheat sheet

Document typeMethod + pathProductDocs
InvoicePOST /v1/documents/invoice/apis/invoice/docs/api/extractInvoice
ReceiptPOST /v1/documents/receipt/apis/receipt/docs/api/extractReceipt
PassportPOST /v1/documents/passport/apis/passport/docs/api/extractPassport
PANPOST /v1/documents/pan/apis/pan/docs/api/extractPan
AadhaarPOST /v1/documents/aadhaar/apis/aadhaar/docs/api/extractAadhaar
Driver licensePOST /v1/documents/driver-license/apis/driver-license/docs/api/extractDriverLicense
Indian Vehicle RCPOST /v1/documents/indian-vehicle-rc/apis/indian-vehicle-rc/docs/api/extractIndianVehicleRc
Custom PDF fieldsPOST /v1/custom-extractors/:slug/apis/custom/docs/custom-extractors

Base URL: https://api.cryvis.com.

Credits

Every successful extraction consumes credits: 1 per PDF page or image. Multi-page PDFs cost one credit per page. See Credits before scaling a Drive watcher that re-processes the same folder.

Tutorial index

Invoice

Receipts

KYC

Vehicle

PDF / structured extraction

HTTP building blocks

Start here

If you only need invoice headers in a spreadsheet, begin with Extract invoice data into Google Sheets. For Postgres ETL, use Invoice to database. For the HTTP Request mechanics, jump to HTTP Request OCR setup.

Ready to extract: sign up, create a key, open the Invoice API, and wire the first HTTP Request against extractInvoice.