Contract Extraction

Pull the key terms out of a contract: parties, dates, obligations, payment terms, liability caps and termination clauses. Not legal advice.

Pay by wallet (x402) AI-generated contract-extract

Example

Example answer
{
  "parties": [],
  "summary": "Insufficient contract text provided. The document contains only a generic statement indicating parties agree to terms without specifying the contract type, parties involved, or substantive terms and conditions.",
  "disclaimer": "AI-extracted summary. Not legal advice. Verify all terms against the original document.",
  "document_type": null,
  "governing_law": null,
  "payment_terms": {
    "amount": null,
    "due_date": null,
    "frequency": null
  },
  "renewal_terms": null,
  "effective_date": null,
  "liability_caps": [],
  "confidentiality": null,
  "key_obligations": [],
  "unusual_clauses": [],
  "termination_date": null,
  "termination_clauses": []
}

Inputs

FieldTypeRequiredWhat it is
textstringNo—
base64stringNo—
pdf_urlstringNo—

Output fields

How reliably each field appears in a successful answer.

FieldTypeAppears
partiesarrayAlways (present in every successful answer)
payment_termsobjectAlways (present in every successful answer)
effective_datestringAlways (present in every successful answer)
key_obligationsarrayAlways (present in every successful answer)
termination_clausesarrayAlways (present in every successful answer)

How to call it

The same tool through each route. MCP clients reach it through Strale’s server at https://api.strale.io/mcp; the call below is what the agent sends.

# Needs an API key. max_price_cents caps what this call may cost.
curl -X POST https://api.strale.io/v1/do \
  -H "Authorization: Bearer $STRALE_API_KEY" \
  -H 'Content-Type: application/json' \
  -d '{
    "capability_slug": "contract-extract",
    "inputs": {
      "text": "SERVICE AGREEMENT\n\nThis agreement is entered into between Acme Corp (\"Client\") and Tech Solutions AB (\"Provider\").\n\nTerm: 12 months from 2024-01-01 to 2024-12-31.\nPayment: EUR 5,000 per month, due on the 1st of each month.\nTermination: Either party may terminate with 30 days written notice.\nGoverning Law: Swedish law.\n\nSigned: John Smith (Client), Anna Karlsson (Provider)"
    },
    "max_price_cents": 50
  }'

Limitations

  • Legal interpretation requires qualified review

    AI extraction of contract terms — legal interpretation and enforceability assessment require qualified legal review

    What to do instead: Use extracted terms for initial screening and route flagged clauses to legal counsel for review

  • Input documents are limited to 8 MiB decoded

    Documents supplied by URL or base64 are refused above 8 MiB of decoded data, with a caller_input error naming the input field and no charge. Reduce the document size or split it before submitting.

Related tools