API v1
Developer API
Integrate PDF processing into your applications. Compress, merge, protect, and convert PDFs with simple REST API calls.
Quick Start
1. Get your API key
Create an API key from your dashboard.
2. Make your first request
bash
curl -X POST "https://pdfconverter.bd/api/v1/compress" \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "[email protected]" \
-F "quality=medium" \
-o compressed.pdf3. Check the response
On success, you'll receive the processed PDF file directly. Check response headers for metadata:
X-Processing-Time-Ms- Processing time in millisecondsX-RateLimit-Remaining- Remaining requests this window
Authentication
All API requests require authentication. Include your API key in the request:
Authorization Header (Recommended)
http
Authorization: Bearer fpdf_live_xxxx...X-API-Key Header
http
X-API-Key: fpdf_live_xxxx...Endpoints
POST
/api/v1/compressCompress PDF
Reduce the file size of a PDF while maintaining quality.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
file | File | Yes | PDF file to compress |
quality | string | No | low, medium (default), high |
POST
/api/v1/mergeMerge PDFs
Combine multiple PDF files into a single document.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
files | File[] | Yes | Array of PDF files (min 2) |
POST
/api/v1/protectProtect PDF
Add password protection to a PDF file.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
file | File | Yes | PDF file to protect |
password | string | Yes | Password to set |
Rate Limiting
API requests are rate limited based on your plan. Limits reset every minute.
| Plan | Requests/min | Max File Size |
|---|---|---|
| API Free | 10 | 10 MB |
| API Starter | 60 | 25 MB |
| API Pro | 300 | 50 MB |
| API Business | 1,000 | 100 MB |
Error Codes
| Status | Code | Description |
|---|---|---|
| 400 | MISSING_FILE | No file was provided in the request |
| 401 | UNAUTHORIZED | Invalid or missing API key |
| 413 | FILE_TOO_LARGE | File exceeds maximum size for your plan |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests, retry after cooldown |
| 500 | INTERNAL_ERROR | Server error, please retry |