W

Workers · Extract

by Workers

POSTBase

$0.03

per call · USD Coin on Base

Extract structured clause data from a legal/contract document (PDF or plain text).

Endpoint

POST https://legal-clause-extractor.pdfextractapi.workers.dev/extract

1

Calls / 30d

1

Unique payers / 30d

Aug 27

Last called

exact

Payment scheme

Call this service

TypeScript · @x402/fetch
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY);
const fetchWithPay = wrapFetchWithPayment(fetch, account);

const res = await fetchWithPay("https://legal-clause-extractor.pdfextractapi.workers.dev/extract", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    "file": "contract.pdf"
  }),
});
const data = await res.json();
cURL
curl -X POST \
  "https://legal-clause-extractor.pdfextractapi.workers.dev/extract" \
  -H "Content-Type: application/json" \
  -d '{"file":"contract.pdf"}' \
  -H "X-PAYMENT: <signed x402 payment>"

Example response

{
  "document_type": "Non-Disclosure Agreement",
  "effective_date": "2026-01-15",
  "governing_law": "State of Delaware",
  "key_clauses": [
    {
      "excerpt": "Recipient shall not disclose Confidential Information for a period of five (5) years...",
      "summary": "Recipient must keep disclosed information confidential for 5 years.",
      "type": "confidentiality"
    }
  ],
  "parties": [
    "Acme Corp",
    "Jane Doe"
  ],
  "risk_flags": [
    "Uncapped liability for breach of confidentiality"
  ],
  "termination_clause": "Either party may terminate with 30 days written notice."
}

Payment details

Pay to0xa0ac44becc6302298f01ed255b175ca1060c189e
AssetUSD Coin · 0x833589fcd6edb6e08f4c7c32d4f71b54bda02913
NetworksBase
Schemesexact

Is this your API?

Pin it to the top of Search & Web and the homepage with a featured placement.

Get featured →

More from Workers & similar services