Now in private beta — join the waitlist

Turn any document into
structured data.

ShapeForge extracts clean, structured JSON from PDFs and scanned images (JPG, PNG, TIFF) — invoices, contracts, forms, and tables in seconds. Built for developers who need reliable document parsing at scale.

✓ Free sandbox  •  ✓ No credit card  •  ✓ 50 API calls/day
or try the live demo first →
High accuracy on complex layouts
Fast processing
Works on invoices, forms, contracts
JSON output, REST API

How it works

Three steps. Zero friction.

Upload a PDF, define the fields you want, get back structured JSON. No training, no configuration hell.

01
📄

Upload your PDF

Send any PDF via our REST API or drag-and-drop interface. Invoices, receipts, contracts, medical forms, tax documents — we handle it all.

02
🤖

AI extracts the data

Our model identifies fields, tables, line items, dates, and amounts — even across scanned documents and multi-column layouts.

03
📈

Get clean JSON

Receive a clean, validated JSON response in under a minute. Plug it straight into your database, ERP, or workflow automation.


What we handle

Built for real documents,
not clean demos.

🧾

Tables & Line Items

Extracts multi-row tables, nested headers, and merged cells. Works even when column alignment is inconsistent.

High accuracy
📋

Forms & Checkboxes

Reads filled and printed form fields, checkboxes, radio buttons, and handwritten annotations in scanned documents (PDF, JPG, PNG, TIFF).

OCR + AI
🤝

Invoices & Receipts

Auto-detects vendor, dates, amounts, tax, line items, PO numbers, and payment terms out of the box.

Zero config
📝

Contracts & Legal

Pulls key clauses, party names, effective dates, and defined terms. No regex gymnastics required.

Smart extraction
📊

Financial Statements

Balance sheets, income statements, P&Ls — structured into typed JSON with currency normalization.

Fast extraction
🛠

Custom Schemas

Define your own JSON schema and we'll map document data to your exact field names and types. No preprocessing.

Bring your schema

Try it live

Drop a PDF.
Get structured data.

No account needed. Upload any PDF and get back clean, typed JSON in seconds. Invoices, receipts, contracts, forms — it handles them all.

Open live demo →
invoice.pdf · receipt.jpg — parsing document
📄

Drop your document here or click to upload

PDF · JPG · PNG · TIFF · Multi-page · Up to 50MB

Live demo — no account required

API

Integrate in minutes.

A single HTTP call returns structured JSON. No SDKs to install, no ML pipelines to manage.

cURL
Python
Node.js
Response
# Upload a PDF, JPG, PNG, or TIFF and extract structured data
curl -X POST https://api.shapeforge.dev/v1/parse \
  -H "Authorization: Bearer sf_live_xxxxxxxxxxxx" \
  -F "file=@invoice.pdf"   # or receipt.jpg, scan.png, form.tiff

# Scanned image example
curl -X POST https://api.shapeforge.dev/v1/parse \
  -H "Authorization: Bearer sf_live_xxxxxxxxxxxx" \
  -F "file=@scanned-receipt.jpg"
REST · HTTPS · JSON response
import shapeforge

client = shapeforge.Client(api_key="sf_live_xxxxxxxxxxxx")

with open("invoice.pdf", "rb") as f:
    result = client.parse(
        file=f,
        schema="invoice"  # or pass your own schema dict
    )

print(result.data)
# {'vendor': 'Acme Corp', 'total': 1240.00, 'line_items': [...]}
pip install shapeforge
import { ShapeForge } from 'shapeforge';
import { readFileSync } from 'fs';

const client = new ShapeForge({ apiKey: 'sf_live_xxxxxxxxxxxx' });

const result = await client.parse({
  file: readFileSync('invoice.pdf'),
  schema: 'invoice',
});

console.log(result.data);
// { vendor: 'Acme Corp', total: 1240.00, lineItems: [...] }
npm install shapeforge
// 200 OK — extraction complete
{
  "success": true,
  "document_id": "doc_8xKm2pQr9",
  "schema": "invoice",
  "data": {
    "vendor": "Acme Corp",
    "invoice_number": "INV-2024-0847",
    "date": "2024-03-15",
    "due_date": "2024-04-15",
    "subtotal": 1100.00,
    "tax": 140.00,
    "total": 1240.00,
    "currency": "USD",
    "line_items": [
      { "description": "API calls (10k)", "qty": 1, "unit_price": 800.00 },
      { "description": "Storage (100GB)", "qty": 2, "unit_price": 150.00 }
    ]
  }
}
Typed JSON · structured extraction

Pricing

Simple, usage-based pricing.

Flat monthly pricing. No per-document fees, no seat limits. Start with 100 free documents — no credit card required.

Starter
$29
per month · 500 documents included
  • 500 documents/month
  • 10 built-in schemas
  • REST API access
  • JSON + CSV export
  • Email support
Get Started →
For high-volume teams
Enterprise
Custom
100k+ documents/month · SLA included
  • Dedicated infrastructure
  • On-prem deployment option
  • Custom model fine-tuning
  • HIPAA / SOC2 compliance
  • Dedicated engineer + SLA
Book a Demo →

We'll get back to you within 24 hours

All new accounts include 100 free documents. API key delivered instantly after checkout. Your documents are never stored — zero-retention data policy.


Early access

Be first. Ship faster.

Early API access, 500 free document credits, and locked-in launch pricing. No commitment.

✓ Free sandbox access  •  ✓ No credit card  •  ✓ 50 API calls/day

Join developers already on the waitlist