Dark background with a subtle pattern of scattered, slightly rounded square shapes.

Add E-Signatures to Your App Without the Enterprise Overhead

A REST API built for developers who need document signing that works. Simple authentication, clear documentation, and pricing that won't blow up your budget. Get your first envelope signed in under 10 minutes.

What Is an E-Signature API?

What Is an E-Signature API?

An e-signature API lets you programmatically create, send, and track legally binding signatures without building the infrastructure yourself. Instead of redirecting users to a third-party app, you can embed signing directly into your product.

An e-signature API lets you programmatically create, send, and track legally binding signatures without building the infrastructure yourself. Instead of redirecting users to a third-party app, you can embed signing directly into your product.

Create and send signature requests via API calls

Track document status in real-time with webhooks

Embed signing experiences directly in your UI

Store signed documents with complete audit trails

Manage templates for recurring document types

If you're building SaaS onboarding flows, automating contracts, or handling HR paperwork at scale, an e-signature API handles the signing logic so you can focus on your actual product.

If you're building SaaS onboarding flows, automating contracts, or handling HR paperwork at scale, an e-signature API handles the signing logic so you can focus on your actual product.

What to Look for in an E-Signature API

Not all APIs are created equal. Before you commit to an integration, check for these:

Clean REST design with real documentation

You shouldn't need a solutions engineer to understand the endpoints. Look for comprehensive API references, working code examples, and a sandbox you can actually use.

Flexible authentication

API keys for server-side calls, JWT tokens for embedded experiences. If you're jumping through OAuth hoops just to send a test envelope, that's a red flag.

Embedded signing options

Some APIs only support email-based signing flows. If you want users to sign without leaving your app, you need an embeddable editor or iframe-based signing.

Webhooks for status updates

Polling is expensive and slow. Real-time webhooks let you react instantly when a document is viewed, signed, or completed.

Transparent, usage-based pricing

Per-seat pricing doesn't make sense for API use cases. Look for per-envelope pricing with no minimums or long-term commitments.

White-label capabilities

If your customers see another company's branding during signing, you've lost control of the experience.

How Firma.dev's E-Signature API Works

How Firma.dev's E-Signature API Works

Firma.dev is built for developers who want to ship fast and not think about e-signatures again. Here's what the integration looks like.

Firma.dev is built for developers who want to ship fast and not think about e-signatures again. Here's what the integration looks like.

Create a signing request from a template

Source: Sending a Signing Request Guide (https://docs.firma.dev/guides/sending-signing-request)

const fetch = require('node-fetch')

async function createFromTemplate(templateId) {
  const resp = await fetch('https://api.firma.dev/functions/v1/signing-request-api/signing-requests', {
    method: 'POST',
    headers: {
      'Authorization': `${process.env.FIRMA_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      template_id: templateId,
      name: 'NDA - Acme Corp',
      recipients: [
        {
          first_name: 'Alice',
          last_name: 'Johnson',
          email: 'alice@example.com',
          designation: 'Signer',
          order: 1
        }
      ]
    })
  })
  if (!resp.ok) throw new Error('failed to create')
  const body = await resp.json()
  return body // contains id, document_url, recipients, etc.
}
const fetch = require('node-fetch')

async function createFromTemplate(templateId) {
  const resp = await fetch('https://api.firma.dev/functions/v1/signing-request-api/signing-requests', {
    method: 'POST',
    headers: {
      'Authorization': `${process.env.FIRMA_API_KEY}`,
      'Content-Type': 'application/json'
    },
    body: JSON.stringify({
      template_id: templateId,
      name: 'NDA - Acme Corp',
      recipients: [
        {
          first_name: 'Alice',
          last_name: 'Johnson',
          email: 'alice@example.com',
          designation: 'Signer',
          order: 1
        }
      ]
    })
  })
  if (!resp.ok) throw new Error('failed to create')
  const body = await resp.json()
  return body // contains id, document_url, recipients, etc.
}

Embed signing in your app

Source: Embeddable Signing Guide (https://docs.firma.dev/guides/embeddable-signing)

<iframe 
  src="https://app.firma.dev/signing/{signing_request_user_id}" 
  style="width:100%;height:900px;border:0;" 
  allow="camera;microphone;clipboard-write"
  title="Document Signing"
></iframe>
<iframe 
  src="https://app.firma.dev/signing/{signing_request_user_id}" 
  style="width:100%;height:900px;border:0;" 
  allow="camera;microphone;clipboard-write"
  title="Document Signing"
></iframe>

React to events with webhooks

curl -X POST "https://api.firma.dev/functions/v1/signing-request-api/webhooks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhooks/firma",
    "events": [
      "signing_request.completed",
      "signing_request.signed"
    ],
    "description": "Production webhook for signing events"
  }'
curl -X POST "https://api.firma.dev/functions/v1/signing-request-api/webhooks" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://your-app.com/webhooks/firma",
    "events": [
      "signing_request.completed",
      "signing_request.signed"
    ],
    "description": "Production webhook for signing events"
  }'

Pricing That Makes Sense

Pricing That Makes Sense

Firma.dev charges €0.029 per envelope. That's 2.9 cents.No monthly minimums. No per-seat fees. No contracts. You pay for what you use.

Firma.dev charges €0.029 per envelope. That's 2.9 cents.No monthly minimums. No per-seat fees. No contracts. You pay for what you use.

Volume

Firma.dev

Typical enterprise API

100 envelopes/month

€2.90

€100+

1,000 envelopes/month

€29

€500+

10,000 envelopes/month

€290

€2,000+

Most enterprise e-signature platforms charge €1-5 per envelope at API tiers, and that's after you've committed to annual contracts and minimum volumes. Firma.dev's pricing stays flat whether you're sending 10 envelopes or 10,000.

Most enterprise e-signature platforms charge €1-5 per envelope at API tiers, and that's after you've committed to annual contracts and minimum volumes. Firma.dev's pricing stays flat whether you're sending 10 envelopes or 10,000.

Customer Workspaces for SaaS Builders

Customer Workspaces for SaaS Builders

If you're building a product where your customers need their own signing workflows, Customer Workspaces solve the multi-tenant problem cleanly. Each workspace gets:

If you're building a product where your customers need their own signing workflows, Customer Workspaces solve the multi-tenant problem cleanly. Each workspace gets:

Isolated templates

Isolated templates

Customers can't see each other's documents

Two dark rectangular cards feature stylized user icons above text. Left card: purple icon, "User One, Workspace1." Right card: gray icon, "User Two, Workspace2."

Separate usage tracking

Separate usage tracking

Bill customers based on their envelope count

A dark-themed interface shows three entries labeled Anna, John, and Marcus with timestamps. A cursor hovers over a wrench icon next to John's name.

Independent settings and branding

Independent settings and branding

A dark-themed interface shows three entries labeled Anna, John, and Marcus with timestamps. A cursor hovers over a wrench icon next to John's name.

Full API access scoped to that workspace

Full API access scoped to that workspace

A dark-themed interface shows three entries labeled Anna, John, and Marcus with timestamps. A cursor hovers over a wrench icon next to John's name.

No "tenant" hacks. No complex permission schemes. Each customer operates in their own environment, and you get aggregate analytics across all of them.

No "tenant" hacks. No complex permission schemes. Each customer operates in their own environment, and you get aggregate analytics across all of them.

Get Started in Minutes

Get Started in Minutes

Sign up for free

No credit card required. You get test credits immediately.

Grab your API key

Available in your dashboard the moment you verify your email.

Send your first envelope

Our quickstart guide walks you through a complete integration in under 10 minutes.

The API reference covers every endpoint with request/response examples. If you get stuck, our docs have an AI assistant that can answer questions about specific implementation details.

The API reference covers every endpoint with request/response examples. If you get stuck, our docs have an AI assistant that can answer questions about specific implementation details.

FAQ

Frequently asked questions

For any unanswered questions, reach out to our support team via email. We'll respond as soon as possible to assist you.

Is Firma.dev legally compliant for e-signatures?

Yes. Firma.dev supports compliance with the ESIGN Act and UETA in the US, and eIDAS (SES and AdES levels) in the EU. Every signature includes a complete audit trail with timestamps, IP addresses, and consent records.

Can I white-label the signing experience?

Absolutely. You can customize emails, signing pages, and the embedded editor with your branding. Your customers never see Firma.dev's name unless you want them to.

What file formats does the API accept?

PDF is the primary format. You can upload documents directly or create reusable templates through the API or dashboard.

How do webhooks work?

You register a URL, and Firma.dev sends POST requests when events occur (document sent, viewed, signed, completed, expired). All webhooks include a signature header for verification.

Is there a sandbox for testing?

Yes. Every account starts in test mode with free credits. Switch to production when you're ready to go live.

What's the rate limit?

120 requests per minute for write operations, higher for reads. More than enough for most use cases, and we can increase limits if you need them.

Do you offer support?

There's no sales team here. You get direct access to engineers who can help validate your integration or even your product vision. Ask us anything. If you prefer self-service, our docs have AI built in, so you can ask implementation questions there too.

FAQ

Frequently asked questions

For any unanswered questions, reach out to our support team via email. We'll respond as soon as possible to assist you.

Is Firma.dev legally compliant for e-signatures?

Yes. Firma.dev supports compliance with the ESIGN Act and UETA in the US, and eIDAS (SES and AdES levels) in the EU. Every signature includes a complete audit trail with timestamps, IP addresses, and consent records.

Can I white-label the signing experience?

Absolutely. You can customize emails, signing pages, and the embedded editor with your branding. Your customers never see Firma.dev's name unless you want them to.

What file formats does the API accept?

PDF is the primary format. You can upload documents directly or create reusable templates through the API or dashboard.

How do webhooks work?

You register a URL, and Firma.dev sends POST requests when events occur (document sent, viewed, signed, completed, expired). All webhooks include a signature header for verification.

Is there a sandbox for testing?

Yes. Every account starts in test mode with free credits. Switch to production when you're ready to go live.

What's the rate limit?

120 requests per minute for write operations, higher for reads. More than enough for most use cases, and we can increase limits if you need them.

Do you offer support?

There's no sales team here. You get direct access to engineers who can help validate your integration or even your product vision. Ask us anything. If you prefer self-service, our docs have AI built in, so you can ask implementation questions there too.

FAQ

Frequently asked questions

For any unanswered questions, reach out to our support team via email. We'll respond as soon as possible to assist you.

Is Firma.dev legally compliant for e-signatures?

Yes. Firma.dev supports compliance with the ESIGN Act and UETA in the US, and eIDAS (SES and AdES levels) in the EU. Every signature includes a complete audit trail with timestamps, IP addresses, and consent records.

Can I white-label the signing experience?

Absolutely. You can customize emails, signing pages, and the embedded editor with your branding. Your customers never see Firma.dev's name unless you want them to.

What file formats does the API accept?

PDF is the primary format. You can upload documents directly or create reusable templates through the API or dashboard.

How do webhooks work?

You register a URL, and Firma.dev sends POST requests when events occur (document sent, viewed, signed, completed, expired). All webhooks include a signature header for verification.

Is there a sandbox for testing?

Yes. Every account starts in test mode with free credits. Switch to production when you're ready to go live.

What's the rate limit?

120 requests per minute for write operations, higher for reads. More than enough for most use cases, and we can increase limits if you need them.

Do you offer support?

There's no sales team here. You get direct access to engineers who can help validate your integration or even your product vision. Ask us anything. If you prefer self-service, our docs have AI built in, so you can ask implementation questions there too.

Background Image

Ready to add e-signatures to your product?

Get started with Firma.dev for free, no credit card required. Your first envelope can be signed in under 10 minutes.

Background Image

Ready to add e-signatures to your product?

Get started with Firma.dev for free, no credit card required. Your first envelope can be signed in under 10 minutes.

Background Image

Ready to add e-signatures to your product?

Get started with Firma.dev for free, no credit card required. Your first envelope can be signed in under 10 minutes.