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 usesfirst_page+last_page; Aadhaar uses one or two parts namedfile; driver license needsfile+ text fieldcountry; Indian vehicle RC usesfrontand/orback. - 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
- Create an API key in the Cryvis console.
- 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 type | Method + path | Product | Docs |
|---|---|---|---|
| Invoice | POST /v1/documents/invoice | /apis/invoice | /docs/api/extractInvoice |
| Receipt | POST /v1/documents/receipt | /apis/receipt | /docs/api/extractReceipt |
| Passport | POST /v1/documents/passport | /apis/passport | /docs/api/extractPassport |
| PAN | POST /v1/documents/pan | /apis/pan | /docs/api/extractPan |
| Aadhaar | POST /v1/documents/aadhaar | /apis/aadhaar | /docs/api/extractAadhaar |
| Driver license | POST /v1/documents/driver-license | /apis/driver-license | /docs/api/extractDriverLicense |
| Indian Vehicle RC | POST /v1/documents/indian-vehicle-rc | /apis/indian-vehicle-rc | /docs/api/extractIndianVehicleRc |
| Custom PDF fields | POST /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
- Extract invoice data into Google Sheets
- Invoice OCR to a database
- Automate invoice processing from Gmail
Receipts
KYC
- Automate KYC document checks
- Extract passport data
- Extract PAN card data
- Extract Aadhaar data
- Extract driver's license data
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.