Contract analysis

Every clause.Mapped and machine-readable.

MSAs, NDAs, leases, employment agreements. DocParse extracts parties, terms, obligations, renewal triggers, and risk flags into structured data.

100 pages free No card SOC 2 in progress
app.docparse.io / extractions / msa-acme-northwind.pdf
Live
MASTER SERVICES AGREEMENT
Acme ↔ Northwind · April 2026
CounterpartyNorthwind Logistics
Term36 months
Auto-renewYes, 12 mo
Notice60 days
Liability cap12 mo fees
Governing lawDelaware
JSONCSVWebhook98.6% confidence
{
  "counterparty": "Northwind Logistics",
  "term_months": 36,
  "auto_renew": true,
  "renewal_term_months": 12,
  "notice_days": 60,
  "liability_cap": "12_months_fees",
  "governing_law": "Delaware"
}
Extracted in 2.4s · 7 fields
Scroll
Pipe extracted data into any of these — via Zapier or signed webhooks
Zapier
Google Drive
Gmail
Slack
Sheets
Notion
Airtable
Webhook
Zapier
Google Drive
Gmail
Slack
Sheets
Notion
Airtable
Webhook
Why DocParse

Three reasons teams switch to us

01

Clause-level extraction

120+ clause types out of the box: indemnity, liability cap, IP assignment, exclusivity, MFN, audit rights. Add your own.

120+clause types out of box
02

Risk flags, not just data

Surfaces unusual terms — uncapped liability, perpetual licenses, governing-law mismatches — before they hit your inbox.

$2.1Mavg risk surfaced per 100 contracts
03

Renewal alerts on autopilot

Wires renewal dates and notice deadlines into your calendar so nothing auto-renews you didn't intend.

0missed renewal windows
How it works

From raw contracts
to structured data, in four steps.

Drop document, paste URL, or POST file
PDFPNGJPGTIFFDOCXHEICHTMLEMLXLSX
The schema

Starter schema for contracts.
Tweakable in seconds.

The contracts template comes with a 10-field starter schema based on the most common fields teams pull from contracts. Add your own fields, mark which are required, and change types in the dashboard or via the REST API.

Contracts · default schema
counterpartystringrequired99.4%
effective_datestringrequired99.6%
term_monthsintegerrequired98.8%
auto_renewbooleanrequired99.1%
notice_daysintegeroptional97.9%
governing_lawstringoptional99.3%
liability_capstringoptional96.4%
indemnityobjectoptional95.8%
ip_assignmentstringoptional97.2%
risk_flagsarrayoptional94.6%
JSON SchemaTypeScriptPython
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Contracts",
  "type": "object",
  "required": [
    "counterparty",
    "effective_date",
    "term_months",
    "auto_renew"
  ],
  "properties": {
    "counterparty": {
      "type": "string"
    },
    "effective_date": {
      "type": "string"
    },
    "term_months": {
      "type": "integer"
    },
    "auto_renew": {
      "type": "boolean"
    },
    "notice_days": {
      "type": "integer"
    },
    "governing_law": {
      "type": "string"
    },
    "liability_cap": {
      "type": "string"
    },
    "indemnity": {
      "type": "object"
    },
    "ip_assignment": {
      "type": "string"
    },
    "risk_flags": {
      "type": "array"
    }
  }
}
What to expect

Field-level accuracy per field.

Multi-modal models do the reading, and accuracy depends on document quality. The numbers below are illustrative ranges we've seen on contracts — run your own documents and compare against a small ground-truth set before you scale.

97.4%
illustrative field-level
accuracy ceiling
10starter fields
Anylanguage supported
25 MBmax file size
FieldAccuracy
counterparty
99.4%
term_months
98.8%
auto_renew
99.1%
notice_days
97.9%
governing_law
99.3%
liability_cap
96.4%
indemnity
95.8%
risk_flags
94.6%
The API

One endpoint.
Every output you need.

# Extract with one POST
curl -X POST "https://api.docparse.io/v1/contracts" \
  -H "Authorization: Bearer $DOCPARSE_KEY" \
  -F file=@"msa-acme-northwind.pdf" \
  -F schema="msa" \
  -F webhook="https://api.acme.co/incoming"

# Returns:
{
  "status": "complete",
  "confidence": 0.987,
  "latency_ms": 2412,
  "data": { ... }
}

Plain HTTP, no SDK lock-in

Bearer-token auth with revocable, SHA-256-hashed API keys. Call it from any language that can hit a REST endpoint — we publish docs and copy-pasteable snippets, not opinionated wrappers.

cURLPythonNode.jsGoRubyPHPJava.NET

Signed webhooks for async

Register an endpoint, set the events, and we POST signed deliveries (HMAC-SHA256, Standard Webhooks spec) as extractions finish. Every attempt is logged in the dashboard with response code, body, and timing.

Webhook delivery log · per-endpoint retries
The alternatives

Why teams switch from regex.

A look at how DocParse compares to the three things you've probably already tried.

Regex + scripts
Manual review (BPO)
Kira / Evisort
DocParse
Works on a layout it has never seen
partial
Handles handwriting and scans
partial
Custom fields without per-vendor setup
Multi-lingual out of the box
partial
REST API + signed webhooks + Zapier
partial
partial
Pricing scales with pages, not seats
partial
Free tier, every month, forever
partial
Time-to-first-extraction
Days
Days
Weeks
5 minutes
Where the data goes

Reach the tools you already run.

DocParse ships two integration surfaces directly — REST API and signed webhooks — plus a native Zapier app that opens up everything else.

Zapier
Automation
Webhooks
API
REST API
API
JSON export
Export
CSV export
Export
Google Drive
via Zapier
Google Sheets
via Zapier
Gmail
via Zapier
Outlook
via Zapier
Slack
via Zapier
Dropbox
via Zapier
Airtable
via Zapier
Notion
via Zapier
HubSpot
via Zapier
Salesforce
via Zapier
Make.com
via Webhooks
n8n
via Webhooks
Postgres
via Webhooks
REST API · Signed webhooks (HMAC-SHA256) · Zapier to 6,000+ apps · JSON / CSV export
Common patterns

How teams use DocParse for contracts.

Illustrative scenarios drawn from teams piloting DocParse — names and figures are examples, not customer quotes.

We had 14,000 active contracts in a SharePoint folder. DocParse extracted clause-by-clause data in 36 hours. Renewal-risk dashboards live by week 2.

SV
Sarah Volkov
GC · Tarn
36 hrsto map 14k contracts

It found three contracts with uncapped liability we had completely forgotten about. The product paid for itself before we finished the rollout.

RA
Reza Ahmadi
Deputy GC · Folium
$4.2Mrisk surfaced in week 1

Kira was $200k a year and required a 6-month rollout. DocParse cost a fifth of that and we had production output the same afternoon.

IB
Imani Bell
Legal Ops · Lattice Bank
cheaper, same accuracy
Frequently asked

The questions teams ask before they sign up.

Know what is in your contracts.

Map every clause across thousands of agreements. Surface risk, renewals, and obligations before they bite.

Free for first 100 pages 5-minute setup No credit card