3 contract templates • API + batch • Sub-500ms rendering

Generate Professional
Contracts via API

Automate your legal document workflow end to end.

From freelance agreements to NDAs and service contracts — send JSON, get a signed-ready PDF in milliseconds. Dynamic clauses, multi-party support, and your branding on every page.

Start Free — No card required → View API Docs
<500ms
Contract render time
3
Contract templates
10,000
Contracts per batch
100%
White-label ready

Use Cases

Contracts for every scenario

Whether you run a freelancing platform, an HR tool, or a legal-tech SaaS — Typsetter generates the contract PDFs your users need, on demand or in bulk.

📝

Freelance Agreements

Generate freelance service agreements with scope of work, payment terms, intellectual property clauses, and termination conditions. Populate party details, project milestones, and hourly rates from your app's data model.

💼

Service Contracts

Produce multi-page service contracts with SLA terms, liability caps, renewal clauses, and appendices. Ideal for B2B SaaS platforms that need to issue custom agreements for each client onboarding.

🔒

NDAs & Confidentiality

Generate mutual or unilateral NDAs with configurable confidentiality periods, exclusion lists, and governing law. Perfect for deal rooms, hiring pipelines, or partnership workflows.

🎯

Employment Offers

Create offer letters and employment contracts with compensation details, equity grants, benefits summaries, and non-compete clauses. Integrate with your ATS to generate offers the moment a candidate is selected.


Template Showcase

3 contract templates, ready to use

Start with a professionally designed template and customize it to match your brand. Every template supports dynamic variables, conditional clauses, and multi-page output.

📄

Freelance Simple

Clean, single-column freelance agreement. Scope of work, deliverables, payment schedule, and signature blocks. Minimal design that prints well and reads professionally.

Freelance 1–2 pages
🌈

Executive Dark

Premium dark-themed contract with bold typography and structured sections. Multi-party support, numbered clauses, and appendix references. Built for enterprise-grade agreements.

Premium Multi-party
🔒

NDA Mutual

Mutual non-disclosure agreement with configurable confidentiality period, exclusions, and remedies. Balanced structure for two-way information sharing between parties.

NDA Mutual
Browse All Templates →

API Example

One API call, one contract PDF

Send a POST request with your contract data as JSON. Typsetter renders the PDF and returns it as a binary stream in under 500ms.

Generate a freelance contract via cURL
curl -X POST https://typsetter.dev/v1/render \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "template": "contract-freelance-simple", "format": "pdf", "data": { "client_name": "Acme Corp", "client_address": "123 Business Ave, New York, NY 10001", "contractor_name": "Jane Smith", "contractor_address": "456 Freelance St, Austin, TX 78701", "project_title": "Website Redesign", "scope_of_work": "Complete redesign of corporate website including UX research, wireframes, visual design, and front-end implementation.", "start_date": "2026-04-01", "end_date": "2026-06-30", "total_fee": "$12,000", "payment_schedule": "3 milestones of $4,000 each", "governing_law": "State of New York" } }' \ -o contract.pdf # Response: 200 OK — binary PDF stream (avg 420ms)

Contract Features

Built for legal document automation

Every feature you need to generate, customize, and deliver contract PDFs at scale.

Dynamic Clauses

Use conditional logic to include or exclude contract clauses based on your data. Non-compete section only for full-time employees? IP assignment only for creative work? Define the rules once in your template, and the right clauses appear automatically based on the JSON you send. Tera's if/else syntax makes clause logic readable and maintainable.

Conditional Logic Tera Syntax If/Else Clauses
👥

Multi-Party Support

Contracts often involve more than two parties. Typsetter templates support arrays of signatories, each with their own name, title, company, and address fields. Loop through parties in the template to generate signature blocks, header listings, and notification sections dynamically. No hardcoded limits on the number of parties.

Array Variables Loop Syntax N Signatories
🎨

Custom Branding

Every contract carries your brand. Upload your logo, set your primary color, choose your font, and define header/footer layouts. Branding is applied consistently across all pages of multi-page contracts. White-label output means no Typsetter branding appears anywhere in the final PDF.

Logo Upload Custom Fonts White-Label
📦

Batch Generation

Onboarding 500 new contractors? Upload a CSV with one row per contract, map columns to template variables, and generate all 500 contracts in a single batch job. Download a ZIP archive or have it delivered to a webhook. Progress tracking and per-row error reporting ensure maximum yield from every batch run.

CSV Upload Up to 10,000 ZIP Download
🔔

Webhook Delivery

When a contract PDF is ready, Typsetter can POST the result to your webhook endpoint automatically. Use this to trigger downstream workflows: send the contract for e-signature, store it in your document management system, or notify the relevant parties. HMAC-SHA256 signatures let you verify every delivery is authentic.

job.completed HMAC Signed Auto-Retry
🔄

Template Variables

Every field in your contract is a variable: party names, addresses, dates, amounts, clause text, governing jurisdiction. Pass them as a flat JSON object or nested structures for complex documents. Tera templating supports filters (date formatting, currency, uppercase) and default values so missing fields never break your render.

JSON Input Nested Objects Filters Defaults

How It Works

Three steps to automated contracts

From template to delivered PDF in minutes, not weeks. No infrastructure to manage, no rendering servers to maintain.

1

Pick or build a template

Start with one of the 3 contract templates or create your own in the visual editor or code editor. Define variables for every dynamic field: names, dates, amounts, clauses.

2

Send data via API

Make a POST request to /v1/render with your template slug and a JSON body containing the contract data. Or upload a CSV for batch generation.

3

Get your contract PDF

Typsetter renders the PDF in under 500ms and returns it as a binary stream. Download it directly, deliver it via webhook, or email it to signatories automatically.


Start generating contracts today.
Free — no credit card required.

100 PDFs/month on the free plan. 3 contract templates included. Upgrade when you're ready.

Start Free → View Pricing