apiverve / pdfmerge
PDF Merge combines 2 to 10 PDFs into one file, keeping their order, and returns a download link valid for 2 days. Upload the files or send their URLs. Paid plans add a breakdown of where each source document starts and ends in the merged file.
Requires
- php: >=7.4
- guzzlehttp/guzzle: ^7.0
Requires (Dev)
- phpunit/phpunit: ^9.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
PDF Merge combines 2 to 10 PDFs into one file, keeping their order, and returns a download link valid for 2 days. Upload the files or send their URLs. Paid plans add a breakdown of where each source document starts and ends in the merged file.
The PDF Merge API provides a simple, reliable way to integrate pdf merge functionality into your applications. Built for developers who need production-ready pdf merge capabilities without the complexity of building from scratch.
Quick Start
Using JavaScript
async function callPDFMergeAPI() { try { const requestBody = { "urls": [ "https://raw.githubusercontent.com/mozilla/pdf.js/master/test/pdfs/rotation.pdf", "https://raw.githubusercontent.com/mozilla/pdf.js/master/test/pdfs/sizes.pdf" ] }; const response = await fetch('https://api.apiverve.com/v1/pdfmerge', { method: 'POST', headers: { 'x-api-key': 'YOUR_API_KEY_HERE', 'Content-Type': 'application/json' }, body: JSON.stringify(requestBody) }); const data = await response.json(); console.log(data); } catch (error) { console.error('Error:', error); } } callPDFMergeAPI();
Using cURL
curl -X POST "https://api.apiverve.com/v1/pdfmerge" \ -H "x-api-key: YOUR_API_KEY_HERE" \ -F "pdfs=@/path/to/your-file" # Accepted formats: .pdf (max 25MB)
Get your API key: https://apiverve.com
📁 For more examples, see the examples folder
Installation
Choose your preferred programming language:
📦 NPM (JavaScript/Node.js)
npm install @apiverve/pdfmerge
View NPM Package → | Package Code →
🔷 NuGet (.NET/C#)
dotnet add package APIVerve.API.PDFMerge
View NuGet Package → | Package Code →
🐍 Python (PyPI)
pip install apiverve-pdfmerge
View PyPI Package → | Package Code →
💎 Ruby (RubyGems)
gem install apiverve_pdfmerge
View RubyGems Package → | Package Code →
🐘 PHP (Packagist)
composer require apiverve/pdfmerge
View Packagist Package → | Package Code →
🎯 Dart (pub.dev)
dart pub add apiverve_pdfmerge
View pub.dev Package → | Package Code →
🤖 Android (JitPack)
implementation 'com.github.apiverve:pdfmerge-api:1.0.0'
🐹 Go
go get github.com/apiverve/pdfmerge-api/go
Why Use This API?
| Feature | Benefit |
|---|---|
| Multi-language SDKs | Native packages for JavaScript, Python, C#, Go, and Android |
| Simple Integration | Single API key authentication, consistent response format |
| Production Ready | 99.9% uptime SLA, served from 24 global regions |
| Comprehensive Docs | Full examples, OpenAPI spec, and dedicated support |
Documentation
- 🏠 API Home: PDF Merge API
- 📚 API Reference: docs.apiverve.com/ref/pdfmerge
- 📖 OpenAPI Spec: openapi.yaml
- 💡 Examples: examples/
What Can You Build?
The PDF Merge API is commonly used for:
- Web Applications - Add pdf merge features to your frontend or backend
- Mobile Apps - Native SDKs for Android development
- Automation - Integrate with n8n, Zapier, or custom workflows
- SaaS Products - Enhance your product with pdf merge capabilities
- Data Pipelines - Process and analyze data at scale
API Reference
Authentication
All requests require an API key in the header:
x-api-key: YOUR_API_KEY_HERE
Get your API key: https://apiverve.com
Response Format
Every APIVerve endpoint returns the same envelope — check status, then read data:
{
"status": "ok",
"error": null,
"data": { ... }
}
Example Response
A real response from the PDF Merge API:
{
"status": "ok",
"error": null,
"data": {
"pdfName": "a356acc9-c44f-4363-9cda-14ed160d5f5d.pdf",
"fileCount": 2,
"pageCount": 5,
"size": 13539,
"expires": 1792230036453,
"downloadURL": "https://storage.googleapis.com/apiverve/APIData/pdfmerge/a356acc9-c44f-4363-9cda-14ed160d5f5d.pdf?GoogleAccessId=635500398038-compute%40developer.gserviceaccount.com&Expires=1792230036&Signature=R5%2B9%2FIKgsCiWQ7ibAS4Z%2B%2FLpYbNYc7hbAQGI%2FUtvmietXWHJxZK9x4%2FYYdLR6OXAVfvasiSNV2S8iie1Hz7xBGlTJMN8db%2BJ2tkE7GTnOXItMqMU8nuB0z6eddkoQmBESG8EOBr3AEG4x7XaEmP47FqUFsWoikKL2yhwZ9VHL%2F5ANZbvYnfbY1WBjVVOY4wQE1T6CDHM6En2Ov%2FzbTUENH7dasoIaJKWCXa7b1hBhc5MLOMB0MUQWRjb3cVoTHkZ1IRKh3InOdUduyORXOJpwLBTfLu6Q7%2FMEASTXd2j1N9F3OSJ7LYpOfiVhSvA%2FIW6CT2srzKniP5KgeX%2BYKTnNQ%3D%3D",
"sources": [
{
"index": 1,
"name": "rotation.pdf",
"pageCount": 2,
"startPage": 1,
"endPage": 2
},
{
"index": 2,
"name": "sizes.pdf",
"pageCount": 3,
"startPage": 3,
"endPage": 5
}
]
}
}
Support & Community
- 🏠 API Home: PDF Merge API
- 💬 Support: https://apiverve.com/contact
- 🐛 Issues: GitHub Issues
- 📖 Documentation: https://docs.apiverve.com
- 🌐 Website: https://apiverve.com
Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
Security
For security concerns, please review our Security Policy.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Acknowledgments
Built with ❤️ by APIVerve
Copyright © 2026 APIVerve. All rights reserved.