OCR, tables, handwriting — one endpoint.
Benchmarked against 20+ models so you don't have to.
500 free calls/month. No credit card.
Done. We'll send your key shortly.
/ try it
Upload a document. Get structured output.
Drop a PDF, PNG, or JPG below. The API processes it live on an RTX 3090 — layout detection finds regions, then a vision-language model reads each one.
Input
Drop a file here
or click to browse
PDF, PNG, JPG, TIFF, HEIC — up to 20 MB
Output
Upload a document to see results
Processing document...
0.0s
/ under the hood
Two-stage pipeline.
Most OCR tools run one model over the entire page.
We run two. First, a layout model detects what's where.
Then a vision-language model reads each region separately.
Tables stay tables. Handwriting stays handwriting.
01
Upload
POST a PDF, PNG, JPG, TIFF, or HEIC. Up to 20MB per file.
02
Detect regions
Layout model finds text blocks, tables, formulas, figures, handwriting. Each gets a bounding box.
03
Read and return
VLM reads each region with the right context. You get Markdown + JSON with confidence scores.
/ integration
One endpoint.
curl-X POST https://hardparse.com/v1/parse \
-F"file=@invoice.pdf"
import requests
withopen("invoice.pdf", "rb") as f:
resp = requests.post(
"https://hardparse.com/v1/parse",
files={"file": f},
)
data = resp.json()
print(data["markdown"])