Agent skill

Veryfi Documents AI

by LeoYeAI in LeoYeAI/openclaw-master-skills

Real-time OCR and data extraction API by Veryfi (https://veryfi.com).

MITAuto-check passedDocuments & Office

Install Veryfi Documents AI

skills CLI
$ npx skills add LeoYeAI/openclaw-master-skills --skill veryfi-documents-ai -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeoYeAI/openclaw-master-skills veryfi-documents-ai --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeoYeAI/openclaw-master-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/documents-ai .claude/skills/veryfi-documents-ai && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
veryfi-documents-ai
GitHub stars
2.2k
Token cost
~6.1k tokens
SKILL.md length
1,352 words
Files
4
Skills in repo
1,235
Repo updated
First seen
Licence
MIT

At a glance

Real-time OCR and data extraction API by Veryfi (https://veryfi.com).

  • Works in 2 steps: Get Your API Key → OpenClaw Configuration (Optional)
  • You need to OCR documents
  • SKILL.md covers Quick Start, Setup, Common Tasks and Advanced Features, plus 5 more sections
  • Calls curl and jq; reaches api.veryfi.com and scdn.veryfi.com; needs VERYFI_API_KEY and API_KEY

What it does

Veryfi Documents AI is an agent skill from LeoYeAI/openclaw-master-skills. 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.

Its SKILL.md is about 6.1k tokens, which your agent loads only when the skill is triggered. The skill folder holds 3 other files (for example `README.md`, `_meta.json` and `package.json`).

It sits in Documents & Office, covering Forms and invoices and Schema markup. The repository describes itself as: 🧠 Curated collection of 1209+ best OpenClaw skills — weekly updated by MyClaw.ai. The licence is MIT.

When your agent uses it

  • You need to OCR documents
  • Parse receipts/invoices
  • Bank statements
  • Classify documents

Example prompts

  • “/veryfi-documents-ai”

Requirements

  • A credential in VERYFI_API_KEY

Workflow steps

2 steps, taken from the step headings in SKILL.md.

  1. Get Your API Key
  2. OpenClaw Configuration (Optional)

What it can do on your machine

Read from SKILL.md and the folder at commit e5199b5. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • curl
    • jq

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • api.veryfi.com
    • scdn.veryfi.com

    Also links to:

    • veryfi.com
    • docs.veryfi.com
    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names these keys or tokens, usually read from environment variables:

    • VERYFI_API_KEY
    • API_KEY

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Veryfi Documents AI loads about 6.1k tokens when it runs. Until then it costs about 97 tokens; SKILL.md has 1,352 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~97
When it runs · the whole SKILL.md, loaded when a task matches
~6.1k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeoYeAI/openclaw-master-skills at commit e5199b5, republished under its MIT licence (© LeoYeAI). 1,352 words, ~6,091 tokens.

Download SKILL.mdSave it as .claude/skills/veryfi-documents-ai/SKILL.md (or your agent's skills folder). This skill also uses 3 other files; get the full folder from GitHub.
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.

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/..."
}

For Bank Statements:

bash
curl -X POST "https://api.veryfi.com/api/v8/partner/bank-statements/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@bank-statement.pdf"

Response:

json
{
  "id": 4820193,
  "created_date": "2026-02-19T12:45:00.000000Z",
  "bank_name": "Chase",
  "bank_address": "270 Park Avenue, New York, NY 10017",
  "account_holder_name": "Jane Doe",
  "account_holder_address": "456 Oak Ave, San Francisco, CA 94110",
  "account_number": "****7890",
  "account_type": "Checking",
  "routing_number": "021000021",
  "currency_code": "USD",
  "statement_date": "2026-01-31",
  "period_start_date": "2026-01-01",
  "period_end_date": "2026-01-31",
  "beginning_balance": 12500.00,
  "ending_balance": 11835.47,
  "accounts": [
    {
      "number": "****7890",
      "beginning_balance": 12500.00,
      "ending_balance": 11835.47,
      "summaries": [
        { "name": "Total Deposits", "total": 3200.00 },
        { "name": "Total Withdrawals", "total": 3864.53 }
      ],
      "transactions": [
        {
          "order": 0,
          "date": "2026-01-05",
          "description": "Direct Deposit - ACME Corp Payroll",
          "credit_amount": 3200.00,
          "debit_amount": null,
          "balance": 15700.00,
          "category": "Income"
        },
        {
          "order": 1,
          "date": "2026-01-12",
          "description": "Rent Payment - 456 Oak Ave",
          "credit_amount": null,
          "debit_amount": 2800.00,
          "balance": 12900.00,
          "category": "Housing"
        },
        {
          "order": 2,
          "date": "2026-01-20",
          "description": "PG&E Utility Bill",
          "credit_amount": null,
          "debit_amount": 1064.53,
          "balance": 11835.47,
          "category": "Utilities"
        }
      ]
    }
  ],
  "pdf_url": "https://scdn.veryfi.com/bank-statements/...",
  "img_url": "https://scdn.veryfi.com/bank-statements/..."
}

Setup

1. Get Your API Key
bash
# Visit API Auth Credentials page
https://app.veryfi.com/api/settings/keys/

Save your API keys:

bash
export VERYFI_CLIENT_ID="your_client_id_here"
export VERYFI_USERNAME="your_username_here"
export VERYFI_API_KEY="your_api_key_here"
2. OpenClaw Configuration (Optional)

Recommended: Use environment variables (most secure):

json5
{
  skills: {
    entries: {
      "veryfi-documents-ai": {
        enabled: true,
        // Keys loaded from environment variables:
        // VERYFI_CLIENT_ID, VERYFI_USERNAME, VERYFI_API_KEY
      },
    },
  },
}

Alternative: Store in config file (use with caution):

json5
{
  skills: {
    entries: {
      "veryfi-documents-ai": {
        enabled: true,
        env: {
          VERYFI_CLIENT_ID: "your_client_id_here",
          VERYFI_USERNAME: "your_username_here",
          VERYFI_API_KEY: "your_api_key_here",
        },
      },
    },
  },
}

Security Note: If storing API keys in ~/.openclaw/openclaw.json:

  • Set file permissions: chmod 600 ~/.openclaw/openclaw.json
  • Never commit this file to version control
  • Prefer environment variables or your agent's secret store when possible
  • Rotate keys regularly and limit API key permissions if supported

Common Tasks

Extract data from a Receipt or Invoice (file upload)
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"
Extract data from a Receipt or Invoice (base64)

When your agent already has the document as base64-encoded content (e.g., received via API, email attachment, or tool output), use file_data instead of uploading a file:

bash
# Encode the file first
BASE64_DATA=$(base64 -i invoice.pdf)

curl -X POST "https://api.veryfi.com/api/v8/partner/documents/" \
  -H "Content-Type: application/json" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -d "{
    \"file_name\": \"invoice.pdf\",
    \"file_data\": \"$BASE64_DATA\"
  }"
Extract data from a URL
bash
curl -X POST "https://api.veryfi.com/api/v8/partner/documents/" \
  -H "Content-Type: application/json" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -d '{
    "file_url": "https://example.com/invoice.pdf"
  }'
Extract data from a Passport
bash
curl -X POST "https://api.veryfi.com/api/v8/partner/any-documents/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@passport.jpg" \
  -F "blueprint_name=passport"
Extract data from Checks
bash
curl -X POST "https://api.veryfi.com/api/v8/partner/checks/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@check.jpg"
Extract data from W-9s
bash
curl -X POST "https://api.veryfi.com/api/v8/partner/w9s/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@w9.pdf"
Extract data from W-2s and W-8s

W-2 and W-8 forms do not have dedicated endpoints. Use the any-documents endpoint with the appropriate blueprint:

bash
# W-2
curl -X POST "https://api.veryfi.com/api/v8/partner/any-documents/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@w2.pdf" \
  -F "blueprint_name=w2"

# W-8
curl -X POST "https://api.veryfi.com/api/v8/partner/any-documents/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@w8.pdf" \
  -F "blueprint_name=w8"

Note: W-2 and W-8 appear as classification types (via /classify/) but their extraction is handled through the Any Document endpoint. Do not POST to /api/v8/partner/w2s/ or /api/v8/partner/w8s/ — those endpoints do not exist.

Get Raw OCR Text from a Document

All extraction endpoints return an ocr_text field in the response containing the raw text content of the document as a plain string. This is useful when you want to process the text yourself or pass it to an LLM.

bash
# Extract and pull ocr_text with jq
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=@document.pdf" \
  | jq '.ocr_text'

Note: ocr_text is plain text, not markdown. If you need markdown-formatted output, pass ocr_text to an LLM for reformatting after extraction.

Classify a Document

Identify the document type without full data extraction. Useful for routing documents to the correct processing endpoint, pre-filtering uploads, or bulk sorting.

bash
curl -X POST "https://api.veryfi.com/api/v8/partner/classify/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@document.pdf"

Note: By default, the API classifies against 15 built-in types. You can also pass a document_types array with custom classes (see example below).

Response:

json
{
  "id": 81023456,
  "document_type": {
    "score": 0.97,
    "value": "invoice"
  }
}

Default document types: receipt, invoice, purchase_order, bank_statement, check, w2, w8, w9, statement, contract, credit_note, remittance_advice, business_card, packing_slip, other.

To classify against custom types, pass a document_types array:

bash
curl -X POST "https://api.veryfi.com/api/v8/partner/classify/" \
  -H "Content-Type: multipart/form-data" \
  -H "Client-Id: $VERYFI_CLIENT_ID" \
  -H "Authorization: apikey $VERYFI_USERNAME:$VERYFI_API_KEY" \
  -F "file=@document.pdf" \
  -F 'document_types=["lease_agreement", "utility_bill", "pay_stub"]'

Advanced Features

Bounding Boxes for Receipts, Invoices, Checks and Bank Statements APIs

Get element coordinates for layout analysis:

bash
-F "bounding_boxes=true" 
-F "confidence_details=true"

When to Use

Use Veryfi Documents AI For:
  • Invoice and receipt data extraction
  • Processing Bank Statements
  • Extracting data from Checks
  • Document classification and routing
  • Extracting data from any other document
  • Getting raw OCR text from a document
Don't Use For:
  • Video or audio transcription
  • Web search or real-time data lookup
  • Image generation or editing
  • Non-document binary files (spreadsheets, code, executables)
  • Documents you haven't confirmed are cleared for third-party processing (see Security section)

Best Practices

Document TypeEndpointNotes
Receipts & Invoices/api/v8/partner/documents/use for receipts/invoices/purchase orders
Bank Statements/api/v8/partner/bank-statements/use for Bank statements
Checks/api/v8/partner/checks/use for bank checks (cheques in Canada)
W-9s/api/v8/partner/w9s/W9 forms
W-2s / W-8s/api/v8/partner/any-documents/Use blueprint_name=w2 or blueprint_name=w8
Any Document/api/v8/partner/any-documents/Use to extract data from any document; list of blueprints provided below
Classify/api/v8/partner/classify/Identify document type without full extraction

List of available blueprints:

blueprint_nameDocument Type
passportPassport US or International
incorporation_documentCertificate of Company Incorporation
us_driver_licenseUS Driver's License
uk_drivers_licenseUK Driver's Licence
us_health_insurance_cardUS Health Insurance Card
prescription_medication_labelPrescription Medication Label
medication_instructionsMedication Instructions
vision_prescriptionVision Prescription
auto_insurance_cardAuto Insurance Card
restaurant_menuRestaurant Menu
drinks_menuDrinks Menu
product_nutrition_factsProduct Nutrition Facts Label
goods_received_noteGoods Received Note
vendor_statementVendor Statement
flight_itineraryFlight Itinerary
bill_of_ladingBill of Lading
air_waybillAir Waybill
freight_invoiceFreight Invoice
shipping_labelShipping Label
vehicle_registrationVehicle Registration
work_orderWork Order
settlement_letterSettlement Letter
construction_estimateConstruction Estimate
diplomaDiploma or Degree Certificate
price_sheetPrice Sheet
mortgage_application_formMortgage Application Form
lab_test_request_formLab Test Request Form
construction_snapshotConstruction Snapshot
medical_prescription_listMedical Prescription List
v5cUK Vehicle Registration Certificate (V5C)
bank_account_verification_letterBank Account Verification Letter
annual_mortgage_statementAnnual Mortgage Statement
investment_account_statementInvestment Account Statement
certificate_of_good_standingCertificate of Good Standing
w2IRS W-2 Wage and Tax Statement
w8IRS W-8 Certificate of Foreign Status

Missing document type? If document type (blueprint) you need to extract data from is missing, create one here: https://app.veryfi.com/inboxes/anydocs?tab=blueprints

Bounding Boxes & Confidence:

  • Add -F "bounding_boxes=true" for element coordinates
  • Add -F "confidence_details=true" for per-field confidence scores

Supported Inputs:

  • file — multipart file upload
  • file_url — publicly accessible URL
  • file_data — base64-encoded content (send as JSON body with file_name + file_data fields)

Response Schemas

Receipt / Invoice (/api/v8/partner/documents/)
json
{
  "id": 62047612,
  "created_date": "2026-02-19T00:00:00.000000Z",
  "updated_date": "2026-02-19T00:00:05.000000Z",
  "currency_code": "USD",
  "date": "2026-02-18 14:22:00",
  "due_date": "2026-03-18",
  "document_type": "receipt",
  "category": "Meals & Entertainment",
  "is_duplicate": false,
  "is_document": true,
  "invoice_number": "INV-2026-001",
  "account_number": "ACCT-12345",
  "order_date": "2026-02-18",
  "delivery_date": null,
  "vendor": {
    "name": "Starbucks",
    "address": "123 Main St, San Francisco, CA 94105",
    "phone_number": "+1 415-555-0100",
    "email": null,
    "vat_number": null,
    "reg_number": null
  },
  "bill_to": {
    "name": "Jane Doe",
    "address": "456 Oak Ave, San Francisco, CA 94110"
  },
  "ship_to": {
    "name": null,
    "address": null
  },
  "line_items": [
    {
      "id": 1,
      "order": 0,
      "description": "Caffe Latte Grande",
      "quantity": 1,
      "price": 5.95,
      "total": 5.95,
      "tax": 0.52,
      "tax_rate": 8.75,
      "discount": null,
      "type": "food",
      "sku": null,
      "upc": null,
      "category": "Meals & Entertainment",
      "section": null,
      "date": null,
      "start_date": null,
      "end_date": null
    }
  ],
  "tax_lines": [
    {
      "order": 0,
      "name": "Sales Tax",
      "rate": 8.75,
      "total": 0.52,
      "base": 5.95
    }
  ],
  "subtotal": 5.95,
  "tax": 0.52,
  "tip": 0.00,
  "discount": 0.00,
  "total": 6.47,
  "payment": {
    "type": "visa",
    "card_number": "1234"
  },
  "reference_number": null,
  "notes": null,
  "img_url": "https://scdn.veryfi.com/documents/...",
  "pdf_url": "https://scdn.veryfi.com/documents/...",
  "ocr_text": "STARBUCKS\n123 Main St...",
  "meta": {
    "total_pages": 1,
    "processed_pages": 1,
    "fraud": {
      "score": 0.01,
      "color": "green",
      "decision": "Not Fraud",
      "types": []
    }
  }
}
Check (/api/v8/partner/checks/)
json
{
  "id": 9301847,
  "created_date": "2026-02-19T00:00:00.000000Z",
  "updated_date": "2026-02-19T00:00:03.000000Z",
  "amount": 1500.00,
  "amount_text": "One Thousand Five Hundred and 00/100",
  "check_number": "4021",
  "date": "2026-02-15",
  "currency_code": "USD",
  "check_type": "personal_check",
  "payer_name": "John Smith",
  "payer_address": "789 Elm St, Austin, TX 78701",
  "receiver_name": "Acme Plumbing LLC",
  "receiver_address": null,
  "bank_name": "Wells Fargo",
  "bank_address": "420 Montgomery St, San Francisco, CA 94104",
  "memo": "Invoice #2026-038",
  "is_signed": true,
  "micr": {
    "routing_number": "121000248",
    "account_number": "****5678",
    "serial_number": "4021",
    "raw": "⑆121000248⑆ ****5678⑈ 4021",
    "branch": null,
    "institution": null
  },
  "fractional_routing_number": "12-1/1200",
  "routing_from_fractional": "121000248",
  "endorsement": {
    "is_endorsed": true,
    "is_signed": true,
    "mobile_or_remote_deposit": {
      "checkbox": false,
      "instructions": false
    }
  },
  "handwritten_fields": ["amount", "amount_text", "date", "receiver_name", "memo"],
  "fraud": {
    "score": 0.02,
    "color": "green",
    "types": [],
    "pages": [
      {
        "is_lcd": { "score": 0.98, "value": false },
        "ai_generated": { "score": 0.99, "value": false },
        "four_corners_detected": true
      }
    ]
  },
  "img_thumbnail_url": "https://scdn.veryfi.com/checks/...",
  "pdf_url": "https://scdn.veryfi.com/checks/..."
}
Bank Statement (/api/v8/partner/bank-statements/)
json
{
  "id": 4820193,
  "created_date": "2026-02-19T12:45:00.000000Z",
  "updated_date": "2026-02-19T12:45:10.000000Z",
  "bank_name": "Chase",
  "bank_address": "270 Park Avenue, New York, NY 10017",
  "account_holder_name": "Jane Doe",
  "account_holder_address": "456 Oak Ave, San Francisco, CA 94110",
  "account_number": "****7890",
  "account_type": "Checking",
  "routing_number": "021000021",
  "currency_code": "USD",
  "statement_date": "2026-01-31",
  "period_start_date": "2026-01-01",
  "period_end_date": "2026-01-31",
  "beginning_balance": 12500.00,
  "ending_balance": 11835.47,
  "minimum_due": null,
  "due_date": null,
  "accounts": [
    {
      "number": "****7890",
      "beginning_balance": 12500.00,
      "ending_balance": 11835.47,
      "summaries": [
        { "name": "Total Deposits", "total": 3200.00 },
        { "name": "Total Withdrawals", "total": 3864.53 }
      ],
      "transactions": [
        {
          "order": 0,
          "date": "2026-01-05",
          "posted_date": "2026-01-05",
          "description": "Direct Deposit - ACME Corp Payroll",
          "credit_amount": 3200.00,
          "debit_amount": null,
          "balance": 15700.00,
          "category": "Income",
          "vendor": "ACME Corp"
        },
        {
          "order": 1,
          "date": "2026-01-12",
          "posted_date": "2026-01-12",
          "description": "Rent Payment - 456 Oak Ave",
          "credit_amount": null,
          "debit_amount": 2800.00,
          "balance": 12900.00,
          "category": "Housing",
          "vendor": null
        }
      ]
    }
  ],
  "fraud": {
    "score": 0.01,
    "color": "green",
    "types": []
  },
  "pdf_url": "https://scdn.veryfi.com/bank-statements/...",
  "img_thumbnail_url": "https://scdn.veryfi.com/bank-statements/..."
}

Security & Privacy

Data Handling

Important: Documents uploaded to Veryfi are transmitted to https://api.veryfi.com and processed on AWS servers.

Before uploading sensitive documents:

Best practices:

  • Do not upload highly sensitive PII (SSNs, medical records, financial account numbers) until you've confirmed the service's security and compliance posture
  • Use API keys with limited permissions/scopes if available
  • Monitor API usage logs for unauthorized access
  • Never log or commit API keys to repositories or examples
Show full SKILL.md (502 more words)Show less
File Size Limits
  • Max file size: 20 MB per document
  • Number of pages: default is <=15 pages for receipts/invoices, <=50 pages for bank statements. Contact support to increase limits.
Operational Safeguards
  • Always use environment variables or secure secret stores for API keys
  • Never include real API keys in code examples or documentation
  • Use placeholder values like "your_api_key_here" in examples
  • Set appropriate file permissions on configuration files (600 for JSON configs)
  • Enable API key rotation and monitor usage through the dashboard

Rate Limits

Veryfi enforces per-account rate limits. Exact limits depend on your plan tier.

General guidance:

  • Free/Starter plans: lower concurrency limits; avoid parallel bursts
  • Business/Enterprise plans: higher throughput; contact support for specifics
  • If you hit a rate limit, the API returns HTTP 429 Too Many Requests
  • Implement exponential backoff: wait 1s → 2s → 4s → 8s before retrying
  • For high-volume workloads, contact support@veryfi.com or visit https://veryfi.com to discuss an enterprise plan

Troubleshooting

400 Bad Request:

  • Provide exactly one input: file, file_url, or file_data (for base64)
  • When using file_data, send as a JSON body (not multipart) with file_name and file_data fields
  • Verify Username, API Key and Client ID are valid
  • Check the message field in the JSON response for the specific error detail

401 Unauthorized:

  • Your Client-Id, VERYFI_USERNAME, or VERYFI_API_KEY is incorrect or expired
  • Verify credentials at https://app.veryfi.com/api/settings/keys/
  • Check that the Authorization header format is exactly apikey USERNAME:API_KEY (no extra spaces)
  • Rotate your key if you suspect it was compromised

413 Payload Too Large:

  • File exceeds the 20 MB limit
  • Compress the file or reduce image resolution before uploading
  • Split multi-page PDFs if the page count exceeds the plan limit (15 pages for invoices, 50 for bank statements)

429 Too Many Requests:

  • You've exceeded your plan's rate limit
  • Implement exponential backoff and retry
  • For sustained high volume, contact support@veryfi.com to upgrade your plan

500 / 5xx Server Error:

  • Transient server-side issue — retry after a short delay
  • If the error persists, check the Veryfi status page or contact support@veryfi.com

Missing Confidence Scores:

  • Add confidence_details=true to the request to include score and ocr_score fields in the response
  • Add bounding_boxes=true to also get bounding_box and bounding_region coordinates

W-2 / W-8 endpoint 404:

  • There are no /w2s/ or /w8s/ endpoints — use /any-documents/ with blueprint_name=w2 or blueprint_name=w8

Tips

  • Store VERYFI_CLIENT_ID, VERYFI_USERNAME, and VERYFI_API_KEY in environment variables rather than hardcoding them
  • Use confidence_details=true and bounding_boxes=true when you need per-field accuracy scores or element coordinates
  • For large volumes, classify documents first with /classify/ and route to the appropriate extraction endpoint
  • Keep file sizes under 20 MB and stay within page limits (15 for invoices, 50 for bank statements)
  • Test with sample documents before processing sensitive data in production
  • If a blueprint you need is missing, create a custom one at https://app.veryfi.com/inboxes/anydocs?tab=blueprints
  • ocr_text in the response gives you raw extracted text — pass it to an LLM if you need markdown or further processing
  • For base64 input, always include file_name so Veryfi can infer the file type correctly

References

© LeoYeAI, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 3 other files in skills/documents-ai of LeoYeAI/openclaw-master-skills.

  • SKILL.md
  • README.md
  • _meta.json
  • package.json

Open the folder on GitHubat commit e5199b5

Compare with similar skills

Veryfi Documents AI next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Veryfi Documents AI compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Veryfi Documents AI this skillLeoYeAI/openclaw-master-skills2.2k—~6.1kAutomated safety check: PassMIT
Form Fillingplatonai/Browser41.2k—~1.1kAutomated safety check: PassApache-2.0
Glmocr SDKzai-org/GLM-skills476—~2.7kAutomated safety check: NotesApache-2.0
Extracting Structured DataGAIK-project/gaik-toolkit100—~3.2kAutomated safety check: PassMIT
Azure AI Document Intelligence Dotnetmicrosoft/skills3.1k5 repos~3kAutomated safety check: PassMIT
Azure AI Document Intelligence TSmicrosoft/skills3.1k5 repos~2.4kAutomated safety check: PassMIT

Similar skills

  • Form Filling

    platonai/Browser4

    Automatically fills web forms using provided field data and can optionally submit the form.

    1.2k GitHub stars~1.1k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Glmocr SDK

    zai-org/GLM-skills

    Trigger when: (1) User wants to extract text, tables, formulas, or structured data from images/PDFs/scanned documents, (2) User mentions "OCR", "文字识别", "文档解析", (3) User has a document (screenshot…

    476 GitHub stars~2.7k tokensUpdated 5 mo ago
    Documents & OfficeAuto-check: notes
  • Extracting Structured Data

    GAIK-project/gaik-toolkit

    Extracts structured data — fields, tables, line items — out of documents into a validated schema using the gaik toolkit, and designs schemas that stay inside provider limits and produce checkable…

    100 GitHub stars~3.2k tokensUpdated yesterday
    Documents & OfficeAuto-check passed
  • Official

    Azure AI Document Intelligence SDK for .NET. An agent skill from microsoft/skills.

    3.1k GitHub starsUsed in 5 repos~3k tokens
    Documents & OfficeAuto-check passed
  • Official

    Extract text, tables, and structured data from documents using Azure Document Intelligence (@azure-rest/ai-document-intelligence).

    3.1k GitHub starsUsed in 5 repos~2.4k tokens
    Documents & OfficeAuto-check passed
  • Markitdown

    jimmc414/Kosmos

    Convert various file formats (PDF, Office documents, images, audio, web content, structured data) to Markdown optimized for LLM processing.

    595 GitHub starsUsed in 2 repos~1.7k tokens
    Documents & OfficeAuto-check passed

More from LeoYeAI/openclaw-master-skills

All 1,235 skills in this repo
  • DevOps Pipeline Management

    LeoYeAI/openclaw-master-skills

    Manages pipelines on a DevOps quality and efficiency platform through its OpenAPI: list workspaces and templates, create, update, run and cancel pipelines, and read run records.

    2.2k GitHub stars~4.2k tokensUpdated 2 mo ago
    Auto-check: notes
  • Feishu Document Collaboration

    LeoYeAI/openclaw-master-skills

    Patches OpenClaw's Feishu extension so an edited document triggers an isolated agent session that reads the doc and replies inline, turning it into a live chat space.

    2.2k GitHub stars~2k tokensUpdated 2 mo ago
    Auto-check passed
  • Files Memory System

    LeoYeAI/openclaw-master-skills

    Multi-context memory management system for OpenClaw agents with group-isolated storage, global shared memory, workspace organization, and group-specific skills isolation.

    2.2k GitHub stars~3.8k tokensUpdated 2 mo ago
    Auto-check passed
  • GEO-Claw AI Visibility Agent

    LeoYeAI/openclaw-master-skills

    Runs a brand's AI-search visibility work end to end: diagnosing how AI platforms represent it, repositioning it, producing AI-optimized content and monitoring ongoing mentions.

    2.2k GitHub stars~4.7k tokensUpdated 2 mo ago
    Auto-check passed
  • Google Workspace CLI

    LeoYeAI/openclaw-master-skills

    Installs and authenticates the gws CLI, then automates Gmail, Drive, Sheets, Calendar, Docs, Chat and Tasks with ready-made recipes, persona bundles and security audits.

    2.2k GitHub stars~2.6k tokensUpdated 2 mo ago
    Auto-check: notes
  • HealthFit Health Advisors

    LeoYeAI/openclaw-master-skills

    Runs four advisor roles, a fitness coach, nutritionist, data analyst and TCM practitioner, to build a health profile and track workouts, diet and wellness over time.

    2.2k GitHub stars~4.4k tokensUpdated 2 mo ago
    Auto-check passed

Questions about Veryfi Documents AI

What does Veryfi Documents AI do?

Real-time OCR and data extraction API by Veryfi (https://veryfi.com). Veryfi Documents AI is an agent skill from LeoYeAI/openclaw-master-skills.com).

When should I use Veryfi Documents AI?

Veryfi Documents AI fits situations like: you need to OCR documents; parse receipts/invoices; bank statements; classify documents.

How do I install Veryfi Documents AI in Claude Code?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill veryfi-documents-ai -a claude-code`. Or copy the skill folder (skills/documents-ai in LeoYeAI/openclaw-master-skills) into .claude/skills/veryfi-documents-ai in your project. Claude Code loads it when a task matches its description.

How do I install Veryfi Documents AI in Codex?

Run `npx skills add LeoYeAI/openclaw-master-skills --skill veryfi-documents-ai -a codex`. Or copy the skill folder (skills/documents-ai in LeoYeAI/openclaw-master-skills) into .agents/skills/veryfi-documents-ai in your project. Codex loads it when a task matches its description.

Can I use Veryfi Documents AI in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeoYeAI/openclaw-master-skills --skill veryfi-documents-ai -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/veryfi-documents-ai, .gemini/skills/veryfi-documents-ai, .github/skills/veryfi-documents-ai and .opencode/skills/veryfi-documents-ai in your project.

What does Veryfi Documents AI need to run?

Going by SKILL.md and its folder, Veryfi Documents AI needs the command-line tools its instructions call (curl and jq) and credentials named VERYFI_API_KEY and API_KEY. Our summary lists: A credential in VERYFI_API_KEY.

Does Veryfi Documents AI access the network?

SKILL.md names 5 domains. In commands or code: api.veryfi.com and scdn.veryfi.com; the agent is likely to contact these when it follows the instructions. As links in the text: veryfi.com, docs.veryfi.com and github.com. This is read from the text; nothing was executed.

Is Veryfi Documents AI safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Veryfi Documents AI use?

Veryfi Documents AI is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Veryfi Documents AI use?

About 6.1k tokens (SKILL.md is roughly 24k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.

What are the alternatives to Veryfi Documents AI?

Skills that share tags, products or a category with Veryfi Documents AI: Form Filling (platonai/Browser4, 1.2k stars), Glmocr SDK (zai-org/GLM-skills, 476 stars), Extracting Structured Data (GAIK-project/gaik-toolkit, 100 stars) and Azure AI Document Intelligence Dotnet (microsoft/skills, 3.1k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Veryfi Documents AI?

LeoYeAI (a GitHub user) maintains it in LeoYeAI/openclaw-master-skills, which has 2,161 GitHub stars. The repository holds 1,235 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeoYeAI/openclaw-master-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.