Step 1
Upload
Send any PDF, image, or Office file via API or this playground.
Send any document. Get structured data back.
No templates. No training. No setup. Documents processed in memory and discarded — zero retention.
Upload a document and extract structured data instantly. First 3 extractions free — no API key required.
Drop your document here or click to browse
PDF, JPG, PNG, DOCX, XLSX, PPTX, CSV, TSV — max 20MB
Step 1
Send any PDF, image, or Office file via API or this playground.
Step 2
Bloh reads the spatial layout and extracts every field with AI.
Step 3
Get clean, structured JSON back. Every time.
Vendor, line items, totals, VAT, IBAN — from any layout, any language.
{
"vendor_name": "Müller GmbH",
"invoice_number": "2026-0847",
"gross_amount": 1992.66,
"currency": "EUR"
}
Parties, dates, clauses, obligations, governing law — no template needed.
{
"contract_title": "Service Agreement",
"effective_date": "2026-01-15",
"governing_law": "Germany",
"total_value": 48000
}
Name, DOB, document number, expiry, nationality — passports, licenses, IDs.
{
"full_name": "Anna Schmidt",
"document_number": "L01X00T47",
"date_of_birth": "1990-03-12",
"expiry_date": "2031-03-11"
}
Account holder, transactions, balances, dates — any bank, any format.
{
"account_holder": "Anna Schmidt",
"opening_balance": 4200.00,
"closing_balance": 3850.50,
"currency": "EUR"
}
Your documents are processed in memory and discarded. Nothing is stored. Ever.
Works on any document layout without training or configuration. Upload and extract.
Hosted in Europe. No data leaves EU servers. GDPR by architecture, not by policy.
| Free | Pro | Max | |
|---|---|---|---|
| Pages/month | 100 | 2,000 | 20,000 |
| API access | Playground only | Yes | Yes |
| Custom schemas | No | Yes | Yes |
| Support | Community | Priority | |
| Price | €0 | €19/mo | €79/mo |
| Start extracting | Get API key | Get API key |
Endpoint: POST /extract
Headers: x-api-key: bloh_your_api_key
Content-Type: multipart/form-data
Body:
file (required): Your documentdocument_type (optional): "invoice" | "receipt" | "contract" | "id_document" | "bank_statement" | "auto"schema (optional): JSON string with custom fields — see formatcurl -X POST https://api.bloh.dev/extract \
-H "x-api-key: bloh_your_api_key" \
-F "file=@invoice.pdf" \
-F "document_type=invoice"
# pip install requests
import requests
with open("invoice.pdf", "rb") as f:
response = requests.post(
"https://api.bloh.dev/extract",
headers={"x-api-key": "bloh_your_api_key"},
files={"file": f},
data={"document_type": "invoice"},
)
print(response.json())
import fs from "node:fs";
const form = new FormData();
form.append("file", new Blob([fs.readFileSync("invoice.pdf")]));
form.append("document_type", "invoice");
const res = await fetch("https://api.bloh.dev/extract", {
method: "POST",
headers: { "x-api-key": "bloh_your_api_key" },
body: form,
});
console.log(await res.json());
Full documentation — error codes, rate limits, response schemas, and more
Zapier
Coming soon
Make.com
Coming soon
n8n
Coming soon
Bloh works as a step in your automation workflows. Extract document data and send it anywhere.