New SignWith API and MCP server are live
E-signature API

The e-signature API you pay for per document

Send PDFs for signature from your own software with a REST API and webhooks. 3 documents free every month, then from $0.58 per signed document. No API plan, no monthly minimum, no seat limits.

  • Test keys included
  • cURL, Node and Python
  • 11 webhook events
curl https://app.signwith.co/api/v1/signature_requests \
  -H "Authorization: Bearer $SIGNWITH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "template_id": 311,
    "signers": [{
      "role": "Client",
      "email": "grace@example.com",
      "require_email_otp": true
    }]
  }'
Webhooks to your serverPOST signature_request.createdPOST signer.viewedPOST signer.signedPOST signature_request.completed
How it works

From PDF to signed copy in four calls

Create a template once, send it as often as you like, and let webhooks tell your server what happened. No polling.

  1. POST /templates
    Template 311 · Lease.pdfSignature TenantDate Tenant
    1

    Create a template

    Upload a PDF by URL, base64 or multipart. Text tags or form fields become signature fields.

  2. POST /signature_requests
    Signer invitedgrace@example.com OTP on
    Signing email sent
    2

    Send it

    One signer per role, in order or all at once. Turn on email OTP per signer.

  3. signer.viewed signer.signed signature_request.completed
    3

    Get webhooks

    Signed POSTs for viewed, signed, declined and completed. Retried if your server is down.

  4. GET /signature_requests/5120
    status: completed Lease-signed.pdf audit_trail_url
    4

    Download the result

    Fetch the signed PDF and the audit trail as soon as the last person signs.

Follow the quick start

Built in

What you would otherwise build yourself

  • Signed webhooks

    11 events from sent to completed, each signed with HMAC-SHA256 and retried if your server is down.

    Webhooks guide
  • Signer verification

    Set require_email_otp and each signer enters a one-time code from their email before the document opens.

  • Safe retries

    Send an Idempotency-Key with any POST, so a network retry never sends the same document twice.

  • Test and read-only keys

    sw_test_ keys act on a separate test account. Read-only keys can list and fetch but never send.

    Authentication
  • Verify a signed PDF

    Check that a PDF sent back to you was completed in SignWith and has not been changed since.

  • Credits from your code

    Check the balance before a bulk send and buy credits through a hosted checkout. No card data touches your server.

    Credits and billing
Transparent pricing

Simple pay-per-document pricing

3 documents free every month. After that, buy a one-time credit pack. There is no subscription to cancel.

Best value

Lifetime Deal

One payment. Ongoing access.

  • Unlimited credits
  • Never expires
  • All future updates
  • Priority support
  • Unlimited signed documents
Save 25%$199$149one-time paymentGet lifetime access
Or choose a credit pack

Basic

Perfect for getting started

$9one-time credit pack
$0.90 / signed document
  • 10 credits
  • 12 month validity
  • Folder management
  • Priority support
Get started

Pro

For growing businesses

$19one-time credit pack
$0.76 / signed document
  • 25 credits
  • 12 month validity
  • Folder management
  • Priority support
Get started

Enterprise

For large teams and tailored workflows

Custombuilt around your volume
  • Unlimited signed documents
  • Custom integration
  • Dedicated support
  • Custom SLA
  • Volume discounts
Talk to founder

Completion evidence is designed to support legally binding e-signatures.

Security and proof

Every signed document comes with proof

Check who is signing, keep a full record of what happened, and show anyone that the document has not changed since.

app.signwith.co/s/…Signer view
Verify your email to access this documentFreelance-Services-Agreement · code sent to c***@example.com
284517
Verify Email verified. Opening document
FAQ

Frequently asked questions

Still unsure? Email us and a real person will help.

team@signwith.co

Send your first document from code today

Create a free account, get a test key and send a document in a few minutes. 3 documents are free every month.

Get a free API keyYour signers do not need an account.