Semantic diff for documents.
One API call.

Two document versions in — clause-level changes out, as structured JSON. Not a visual redline: data your pipeline can act on.

Get early access See the API

Founding developers: $49 deposit = 30% off for life, refundable anytime

In, and out

# request
curl -X POST https://api.semdiff.dev/v1/diff \
  -H "Authorization: Bearer $KEY" \
  -F "base=@msa_v1.pdf" -F "revised=@msa_v2.pdf"

# response (truncated)
{
  "summary": { "changes": 14, "high_impact": 3 },
  "changes": [
    {
      "type": "modified",
      "section": "9.2 Limitation of Liability",
      "base":    "...capped at 12 months of fees",
      "revised": "...capped at 3 months of fees",
      "impact": "high"
    },
    {
      "type": "added",
      "section": "14.7 Non-Solicitation",
      "impact": "high"
    }
  ]
}

Built for document pipelines

Clause-aware matching

Sections matched by meaning and structure, not line position. Reordered ≠ changed.

Tables & scans

Cell-level table diff. OCR built in — scanned PDFs welcome.

Deterministic JSON

Stable schema, severity scoring, section anchors. Pipe it to Slack, your CLM, or a review queue.

Why not the alternatives?

SemDiffVisual diff tools (Draftable etc.)DIY with an LLM
OutputStructured JSONRendered redline for humansUnstable, prompt-dependent
Entry price$29/mo self-serve~$1,000/yr API minimumYour eng time
Tables / scansCell-level + OCRLimitedHard to get right

Pricing

Dev

$0
  • 50 diffs/mo
  • 10 MB files
  • Community support

Starter

$29/mo
  • 500 diffs/mo
  • 50 MB files
  • Email support

Pro

$99/mo
  • 3,000 diffs/mo
  • Priority queue
  • Webhooks

Early access

Fully refundable until you make your first API call.

FAQ

When does the API launch?
Private beta is rolling out to founding developers first. Deposit holders get access in cohort order.
What formats are supported?
PDF (digital + scanned), DOCX at launch. XLSX and HTML on the roadmap.
Do you store my documents?
Processed in memory where possible; any temporary storage is encrypted and purged within 24 hours. Never used for training.
How is this different from text diff?
Text diff compares characters. SemDiff aligns sections, clauses, and table cells by meaning — a renumbered section isn't 40 false changes, and a quietly reworded liability cap isn't buried in noise.