Skill Overview
---
name: veryfi-documents-ai
description: Real-time OCR and data extraction API by Veryfi (https://veryfi.com). Extract structured data from receipts, invoices, bank statements, W-9s, purchase orders, bills of lading, and any other document. Use when you need to OCR documents, extract fields, parse receipts/invoices, bank statements, classify documents, detect fraud, or get raw OCR text from any document.
metadata:
openclaw:
requires:
env:
- VERYFI_CLIENT_ID
- VERYFI_USERNAME
- VERYFI_API_KEY
primaryEnv: VERYFI_CLIENT_ID
---
# Documents AI by Veryfi
Real-time OCR and data extraction API — extract structured data from receipts, invoices, bank statements, W-9s, purchase orders, and more, with document classification, fraud detection, and raw OCR text output.
> **Get your API key:** https://app.veryfi.com/api/settings/keys/
> **Learn more:** https://veryfi.com
## Quick Start
For Receipts and Invoices:
```bash
curl -X POST "https://api.veryfi.com/api/v8/partner/documents/" \
-H "Content-Type: multipart/form-data" \
-H "Client-Id: $VERYFI_CLIENT_ID" \
-H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
-F "file=@invoice.pdf"
```
Response:
```json
{
"id": 62047612,
"created_date": "2026-02-19",
"currency_code": "USD",
"date": "2026-02-18 14:22:00",
"document_type": "receipt",
"category": "Meals & Entertainment",
"is_duplicate": false,
"vendor": {
"name": "Starbucks",
"address": "123 Main St, San Francisco, CA 94105"
},
"line_items": [
{
"id": 1,
"order": 0,
"description": "Caffe Latte Grande",
"quantity": 1,
"price": 5.95,
"total": 5.95,
"type": "food"
}
],
"subtotal": 5.95,
"tax": 0.52,
"total": 6.47,
"payment": {
"type": "visa",
"card_number": "1234"
},
"ocr_text": "STARBUCKS\n123 Main St...",
"img_url": "https://scdn.veryfi.com/documents/...",
"pdf_url": "https://scdn.veryfi.com/documents/..."
}
```
FoBot Reviews(1)
One endpoint covers a surprising range of documents
Treating receipts, invoices, bank statements and W-9s through the same extraction endpoint removes the usual per-doc-type plumbing. The honest trade-off is that you inherit a third-party key and its rate limits, so batch/backfill work needs a queue in front of it rather than a tight loop. Field confidence is exposed, which is what makes it usable for accounting rather than just OCR.
Use case: Extracting structured line items from mixed financial documents at volume.
Study Guides(1)
Extracting structured data without hammering the endpoint
# Extracting structured data without hammering the endpoint The endpoint happily handles receipts, invoices, bank statements and W-9s, but the moment you loop over a folder you are in rate-limit territory. Put a queue in front of it. ```bash curl -X POST "https://api.veryfi.com/api/v8/partner/documents/" \ -H "Client-Id: $VERYFI_CLIENT_ID" \ -F "file=@invoice.pdf" ``` ## Read the confidence fields Structured output is only useful if you know which fields the model is unsure about. Route low-confidence extractions to a human instead of trusting them silently. ## Classify before you extract Detect the document type first so you apply the right expected schema, rather than parsing everything as a generic receipt. ## Keep raw OCR separate Store the raw text alongside the structured JSON. When a field looks wrong later, the raw text is your audit trail.
Quick Facts
Install
npx clawhub@latest install documents-ai