Getting Started
Make your first API request in under 5 minutes.
1Get Your API Key
First, you'll need an API key to authenticate your requests. You can create one from your dashboard.
API Key Format
API keys start with pk_ followed by 32 hexadecimal characters. Example: pk_1a2b3c4d5e6f7890abcdef1234567890
2Make Your First Request
Let's merge two PDF files together. Replace YOUR_API_KEY with your actual API key.
cURL
curl -X POST "https://api.morphopdf.com/v1/pdf/merge?format=binary" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "files=@document1.pdf" \
-F "files=@document2.pdf" \
--output merged.pdf3Understand the Response
With format=binary, you'll receive the merged PDF file directly. Without it, you'll get a JSON response:
Response
{
"success": true,
"message": "File processed successfully",
"data": {
"fileName": "document1 (merge-pdf).pdf",
"downloadUrl": "/api/download/abc123...",
"outputSize": 265366,
"fileCount": 2
}
}Code Examples
Here are examples in popular programming languages:
Python
python
import requests
url = "https://api.morphopdf.com/v1/pdf/merge?format=binary"
headers = {"Authorization": "Bearer YOUR_API_KEY"}
files = [
("files", ("doc1.pdf", open("doc1.pdf", "rb"), "application/pdf")),
("files", ("doc2.pdf", open("doc2.pdf", "rb"), "application/pdf")),
]
response = requests.post(url, headers=headers, files=files)
with open("merged.pdf", "wb") as f:
f.write(response.content)
print("Merged PDF saved!")JavaScript (Node.js)
javascript
const FormData = require('form-data');
const fs = require('fs');
const fetch = require('node-fetch');
const form = new FormData();
form.append('files', fs.createReadStream('doc1.pdf'));
form.append('files', fs.createReadStream('doc2.pdf'));
const response = await fetch('https://api.morphopdf.com/v1/pdf/merge?format=binary', {
method: 'POST',
headers: { 'Authorization': 'Bearer YOUR_API_KEY' },
body: form,
});
const buffer = await response.buffer();
fs.writeFileSync('merged.pdf', buffer);
console.log('Merged PDF saved!');