Developer API
PDF merge API
Merging PDFs is a commodity operation. The page tree gets concatenated, the cross-reference table deduplicated, the trailer rewritten. Nothing about that should cost money — yet PDF.co charges $0.01 per call, Api2pdf bills credits, and DocRaptor doesn't offer merge at all.
PennyPDF's /v1/merge endpoint is priced at 0 coins. Upload any number of PDFs as a multipart form, receive the merged PDF back in the response body. Bookmarks from each source are preserved and offset. Up to 2 GB of combined input per request, 200 requests/minute per API key.
If you're assembling 10,000 merged PDFs a month as part of a report-generation pipeline, that's 10,000 free operations on PennyPDF versus $100+ on a metered competitor. The paid operations (compress, convert, OCR, sign) use the same API key, so your billing stays consolidated without the subscription floor.
Copy, paste, ship
Same bearer-token auth across every endpoint. Set PENNYPDF_API_KEY in your environment first.
curl -X POST https://api.pennypdf.com/v1/merge \
-H "Authorization: Bearer $PENNYPDF_API_KEY" \
-F "files[]=@part1.pdf" \
-F "files[]=@part2.pdf" \
-F "files[]=@part3.pdf" \
-o merged.pdfimport os, requests
files = [("files[]", open(p, "rb")) for p in ("part1.pdf", "part2.pdf", "part3.pdf")]
r = requests.post(
"https://api.pennypdf.com/v1/merge",
headers={"Authorization": f"Bearer {os.environ['PENNYPDF_API_KEY']}"},
files=files,
)
r.raise_for_status()
open("merged.pdf", "wb").write(r.content)
print(f"Spent {r.headers['X-Coins-Spent']} coins") # 0PennyPDF vs PDF.co merge API
| PennyPDF | PDF.co merge API | |
|---|---|---|
| Price per merge | $0 | ~$0.01 per call |
| Entry minimum | $0.99 one-time | $9.99/mo minimum |
| Bookmark preservation | Yes, auto-offset | Yes |
| Max payload | 2 GB combined input | 100 MB per file |
| Rate limit | 200 rpm baseline | 10 rps on lowest tier |
| Pay-as-you-go | Yes, always | Only after subscription |
How it works
- 1Sign in at /dashboard/api and grab an API key (or email api@pennypdf.com for instant provisioning).
- 2POST your PDFs as multipart/form-data to /v1/merge.
- 3Receive the merged PDF in the response body. No polling, no webhooks, no coins debited.
Frequently asked
What's the actual cost at 10,000 merges per month?+
$0 on PennyPDF. The /v1/merge endpoint is listed at 0 coins because server-side cost is trivial and we'd rather earn trust than gate a commodity. Contrast: PDF.co ~$100/month at that volume, Api2pdf ~$50/month on metered credits.
How many files can I merge in one request?+
Up to 2 GB of combined input. No hard cap on file count below that — we've seen 500-file merges in production without issue. If one file is larger than 100 MB on its own, use the async variant (POST /v1/jobs/merge) which streams to R2.
What's the typical latency?+
90th percentile is 350 ms for a 20-page merge, 1.2 s for a 200-page merge, 4 s for a 1000-page merge. Merges run on the pre-warmed worker pool; cold starts aren't a factor.
What are the rate limits?+
200 requests/minute per API key, burst to 400. Higher limits on request — email api@pennypdf.com with your expected peak QPS and we'll bump you within a business day, no sales call.
Are bookmarks preserved?+
Yes. Every source PDF's bookmark tree is offset by the page count of earlier inputs and concatenated. The merged PDF's outline reflects the combined structure exactly as you'd expect.
Does /v1/merge support encrypted PDFs?+
Pass &passwords[] per input file in the same multipart payload. If a file can't be decrypted, the entire merge fails atomically — no partial output, no coins debited (which matters for the paid endpoints, not this one).
Why PennyPDF
- No subscription. Ever.
- Coins never expire — use them in 5 years.
- Client-side processing for 14 of 22 tools.
- No watermarks at any tier.
- Per-operation pricing, shown before you click.
- Same coins for web + public API.