Two document versions in — clause-level changes out, as structured JSON. Not a visual redline: data your pipeline can act on.
Founding developers: $49 deposit = 30% off for life, refundable anytime
# 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"
}
]
}
Sections matched by meaning and structure, not line position. Reordered ≠ changed.
Cell-level table diff. OCR built in — scanned PDFs welcome.
Stable schema, severity scoring, section anchors. Pipe it to Slack, your CLM, or a review queue.
| SemDiff | Visual diff tools (Draftable etc.) | DIY with an LLM | |
|---|---|---|---|
| Output | Structured JSON | Rendered redline for humans | Unstable, prompt-dependent |
| Entry price | $29/mo self-serve | ~$1,000/yr API minimum | Your eng time |
| Tables / scans | Cell-level + OCR | Limited | Hard to get right |
Fully refundable until you make your first API call.