April 18, 2026 · Developer Tutorial
Automate NDA Signing with an API: Free Template, Code Example, and Legal Guide
NDAs are the most common contract in business — every new client, vendor, employee, and partner signs one. Most teams still email PDFs and wait for scanned signatures. Here's how to automate the entire flow with one API call.
Founder, Signbee
TL;DR
Automate NDA signing by generating the agreement from template variables and sending it via a single API call. The recipient signs in-browser, and both parties receive a SHA-256 certified PDF. Total time from API call to signed document: 5-30 minutes (vs 1-3 days for email-PDF workflows). No SDK, no template portal — just fetch() and markdown. Free NDA template and complete code example below.
An automated NDA signing workflow generates a non-disclosure agreement from template variables (party names, dates, confidentiality scope) and sends it for electronic signature via API. The recipient receives an email with a signing link. When they sign, both parties get a tamper-proof PDF with a complete audit trail.
According to World Commerce & Contracting, the average NDA takes 23 days to negotiate, approve, and execute through traditional contract management processes. For standard mutual NDAs (no negotiation needed), API automation reduces this to under 30 minutes — a 99.9% reduction.
Free NDA Template (Markdown)
This mutual NDA template works with any e-signature API that accepts markdown. Copy and customize the variables in brackets:
# Mutual Non-Disclosure Agreement
**Effective Date:** [DATE]
## Parties
**Disclosing Party:** [COMPANY_A], a [STATE] [ENTITY_TYPE],
with offices at [ADDRESS_A] ("Party A")
**Receiving Party:** [COMPANY_B], a [STATE] [ENTITY_TYPE],
with offices at [ADDRESS_B] ("Party B")
## 1. Definition of Confidential Information
"Confidential Information" means any non-public information
disclosed by either Party, including but not limited to:
technical data, trade secrets, business plans, customer lists,
financial data, product roadmaps, and source code.
## 2. Obligations
Each Party agrees to:
(a) Keep Confidential Information strictly confidential
(b) Not disclose to third parties without written consent
(c) Use only for the Purpose described in Section 4
(d) Protect with the same care as its own confidential info
## 3. Exclusions
This Agreement does not apply to information that:
(a) Is or becomes publicly available through no fault of Recipient
(b) Was known to Recipient before disclosure
(c) Is independently developed without use of Confidential Info
(d) Is disclosed pursuant to court order (with prompt notice)
## 4. Purpose
[DESCRIBE THE BUSINESS PURPOSE OF THE NDA]
## 5. Term
This Agreement remains in effect for [DURATION] from the
Effective Date. Confidentiality obligations survive for
[SURVIVAL_PERIOD] after termination.
## 6. Governing Law
This Agreement is governed by the laws of [JURISDICTION].
By signing below, each Party agrees to the terms above.Sending an NDA via API
function generateNDA(partyA, partyB, purpose) {
return `# Mutual Non-Disclosure Agreement
**Effective Date:** ${new Date().toISOString().split("T")[0]}
## Parties
**Disclosing Party:** ${partyA.company}, with offices
at ${partyA.address} ("Party A")
**Receiving Party:** ${partyB.company}, with offices
at ${partyB.address} ("Party B")
## 1. Confidential Information
"Confidential Information" means any non-public information
disclosed by either Party...
## 4. Purpose
${purpose}
## 5. Term
This Agreement remains in effect for 2 years.
By signing below, each Party agrees to the terms above.`;
}
// Send for signature
const nda = generateNDA(
{ company: "Acme Corp", address: "123 Main St, SF, CA" },
{ company: "Widget Inc", address: "456 Oak Ave, NYC, NY" },
"Evaluating a potential technology partnership"
);
const res = await fetch("https://signb.ee/api/v1/send", {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer YOUR_API_KEY",
},
body: JSON.stringify({
markdown: nda,
recipient_name: "Jane Smith",
recipient_email: "jane@widgetinc.com",
expires_in_days: 7,
}),
});
const { document_id, signing_url } = await res.json();
console.log("NDA sent:", document_id);NDA Types and When to Use Each
| Type | Who discloses | Use case |
|---|---|---|
| Mutual (bilateral) | Both parties | Partnerships, M&A, joint ventures |
| Unilateral (one-way) | One party only | Employee onboarding, contractors, investors |
| Multilateral | 3+ parties | Consortium deals, multi-party projects |
NDA Automation by the Numbers
Frequently Asked Questions
Is an electronically signed NDA legally binding?
Yes. NDAs signed electronically are legally binding under the ESIGN Act (US), eIDAS (EU), and Electronic Communications Act 2000 (UK). An NDA is a standard private contract — no notarization needed. The digital audit trail (timestamps, IP, SHA-256 hash) provides stronger evidence than a paper signature.
What should an NDA template include?
A standard mutual NDA includes: party identification, definition of confidential information, obligations of the receiving party, exclusions, term and duration (typically 1-5 years), remedies for breach, and governing law. The template above covers all essential elements.
How long does it take to send an NDA via API?
Under 2 seconds from API call to email delivery. The full flow — generate, send, sign — typically completes in 5-30 minutes. No SDK or template portal required — just markdown and a single REST call.
Start sending NDAs for free — 5 documents/month, no credit card required.
Last updated: April 18, 2026 · Michael Beckett is the founder of Signbee and B2bee Ltd.