eSignature PDF API
Embed legally-binding electronic signatures directly into your SaaS product. Sign contracts, onboarding documents, and agreements programmatically. ESIGN and eIDAS compliant with full audit trails. Skip DocuSign and own your signing workflow. Combine with our PDF protection API for secure, signed documents.
No credit card required • Free tier available
eSignature API Example
REST APIcurl -X POST "https://api.xspdf.com/v1/esign" \
-H "Authorization: Bearer $API_KEY" \
-d '{"input_url":"https://files.example.com/contract.pdf","signers":[{"name":"Jane Smith","email":"jane@company.com","fields":[{"type":"signature","page":2,"x":100,"y":300}]}],"options":{"send_email":true,"expiry_days":7}}' Speed
520ms
Success
99.95%
Options
20+
8,700+
Active Teams
520ms
Median Latency
99.95%
Success Rate
2.4M+
Signatures Collected
DocuSign Integration Is Expensive and Limiting
You need electronic signatures in your product, but third-party tools cost thousands per month, create UX friction, and don't give you control over the signing experience.
Third-Party Tools Are Too Expensive
DocuSign charges $40/user/month minimum. For 50 employees that's $24,000 annually. API access costs thousands more. You're paying for features you don't need and limits that throttle your growth.
Broken User Experience
Users leave your app to sign documents on DocuSign's domain. You lose branding, control, and conversion. Email workflows create confusion. Embedded signing costs extra and requires complex OAuth integration.
No Ownership or Customization
You can't customize the signing flow. Your data lives in their system. Rate limits block your growth. You're building on someone else's platform with no control over features, pricing, or compliance.
The Hidden Cost of Third-Party eSignature Tools
A 50-person team on DocuSign Business Pro costs $40/user/month = $24,000/year. Add API access ($3,000/year), embedded signing ($5,000/year), and developer time for OAuth integration (80 hours = $12,000). Total annual cost: $44,000+. Plus you don't own the customer relationship.
xspdf eSignature API: $299/month unlimited signatures. Own your workflow, own your brand, own your data. ROI in month one.
Embed Signing Directly Into Your Product
Create signing requests programmatically. Send signature links via your own email. Embed signing UI in your app with an iframe. Full branding, full control, full compliance.
Multi-Signer Workflows
Define multiple signers with specific fields. Sequential or parallel signing. Auto-reminders and expiration dates. Each signer gets a unique secure link. Full audit trail of who signed when.
Legal Compliance Built-In
ESIGN Act and eIDAS compliant out of the box. Tamper-evident seals on signed documents. Audit logs with IP addresses, timestamps, and signer authentication. Court-admissible signatures.
White-Label Signing Experience
Embed signing UI with iframe or redirect to a hosted page with your branding. Custom email templates with your logo. No xspdf branding visible to signers. Full control over the user experience.
Python SDK Example
pip install xspdfresponse = requests.post(
"https://api.xspdf.com/v1/esign",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"input_url": "https://files.example.com/contract.pdf",
"signers": [
{"name": "Jane Smith", "email": "jane@company.com", "fields": [{"type": "signature", "page": 2, "x": 100, "y": 300}]}
],
"options": {"send_email": True, "expiry_days": 7}
}
)
signing_url = response.json()["signing_url"] Response in 520ms
{
"signing_url": "https://sign.xspdf.com/s/abc123",
"request_id": "req_xyz789",
"signers": [{"email": "jane@company.com", "status": "pending"}]
} Enterprise-Grade eSignature Features
Everything you need to collect legally-binding signatures programmatically.
Multi-Signer Support
Define unlimited signers per document. Sequential signing (signer 2 after signer 1) or parallel signing (all at once). Each signer gets unique fields and secure access.
Legal Compliance
ESIGN Act and eIDAS regulation compliant. Tamper-evident digital seals. Complete audit trails. Court-admissible signatures with cryptographic verification.
Custom Field Types
Signature fields, initial fields, date signed, text input, checkboxes. Position fields precisely with X/Y coordinates. Define required vs optional fields per signer.
Email Notifications
Auto-send signature requests via email. Custom email templates with your branding. Reminder emails for pending signatures. Completion notifications with signed PDF attached.
Expiration & Reminders
Set expiration dates for signature requests. Auto-reminders after X days. Webhook notifications when documents expire. Resend signing links programmatically.
Audit Trail
Full audit logs with timestamps, IP addresses, and signer actions. Download audit certificate PDF. Webhook events for every signing action. Compliance-ready documentation.
Frequently Asked Questions
Everything you need to know about eSignature APIs.
Are signatures legally binding and compliant?
Yes. xspdf eSignature is compliant with ESIGN Act (US), UETA (US), and eIDAS (EU). Every signature includes a tamper-evident seal, complete audit trail with IP addresses and timestamps, and cryptographic verification. Signatures are court-admissible and legally binding in all jurisdictions.
Can I embed the signing experience in my app?
Yes. Embed the signing UI with an iframe using the signing_url returned from the API. Add ?embed=true to hide xspdf branding. Alternatively, redirect users to our hosted signing page with your custom branding (logo, colors, domain). Users never leave your brand experience.
How does sequential vs parallel signing work?
Sequential signing requires signers to complete in order (signer 2 can't sign until signer 1 finishes). Set "signing_order": 1, 2, 3 on each signer object. Parallel signing sends to all signers immediately. They can sign in any order. Use parallel for faster completion, sequential for approval workflows.
What happens when a document is fully signed?
When all signers complete, we send a webhook to your endpoint with the signed PDF URL. Optionally auto-email the signed PDF to all signers. The signed PDF includes tamper-evident seals and a completion certificate. You can download it programmatically via GET /v1/esign/{request_id}/signed-pdf.
Can I use my own email service to send signature requests?
Yes. Set "send_email": false in your API request. The response includes unique signing URLs for each signer. Send those URLs via your own email service (SendGrid, Mailgun, etc) with your custom templates and branding. Full control over the notification experience.
Start Collecting Signatures Today
Free tier includes 25 signature requests per month. No credit card required. Upgrade anytime as you scale.
Related APIs