# paperpipe > PDF operations for code and AI agents: merge, split, organize, compress, convert images and office documents to PDF, and render PDFs as images. One HTTP call or one MCP tool per operation. Flat monthly pricing. Hosted in Germany by Amaryx (Espoo, Finland). Base URL: https://paperpipe.amaryx.com ## Authentication Send an API key on every request: `Authorization: Bearer pp_YOUR_KEY`. Create keys (up to 10) on the dashboard at https://paperpipe.amaryx.com/ after confirming your email. A key is shown once. ## REST API `POST /api/v1/{op}` with `multipart/form-data`. Send input files as repeated `file` parts, in order. Send options as plain form fields. Success returns the result file. Errors return JSON `{"error": "...", "code": "..."}`; `error` is written for people and safe to show. | op | input | options | result | |---|---|---|---| | merge | 2+ PDFs | none | PDF | | split | 1 PDF | `ranges` ("1-3,5,7-") or `every` (N pages), not both | ZIP of PDFs | | organize | 1 PDF | `pages` (new order "3,1,2,4-6"; omitted pages are deleted), `rotate` ("1:90,3:180") | PDF | | compress | 1 PDF | `level`: lossless (default), balanced (images to 150 dpi), small (96 dpi) | PDF | | images-to-pdf | JPG, PNG, WebP, TIFF | `page_size`: fit (default), a4, letter; `margin_mm` (default 0) | PDF | | pdf-to-images | 1 PDF | `format`: png (default) or jpg; `dpi`: 72-300 (default 150); `pages`: "1-3" | image, or ZIP for several pages | | office-to-pdf | 1 doc, docx, xls, xlsx, ppt, pptx, odt, ods, odp, rtf, csv or txt | none | PDF | Example: ``` curl https://paperpipe.amaryx.com/api/v1/merge \ -H "Authorization: Bearer $PAPERPIPE_KEY" \ -F file=@q3-invoice-0412.pdf \ -F file=@signed-lease.pdf \ -o merged.pdf ``` `GET /api/v1/usage` returns `{"used": n, "quota": n, "resets_at": "..."}` and does not count against the quota. ## Costs and limits - Each operation costs 1 operation of quota; office-to-pdf costs 5. Failed calls cost nothing. - Free: 250 operations a month, 25 MB per request. Starter: EUR 9/month, 1,000 operations. Growth: EUR 29/month, 5,000. Scale: EUR 99/month, 25,000. Paid plans allow 100 MB per request. Prices include VAT. - Quotas reset on the 1st of each month (UTC). ## Error codes 400 bad_input, unsupported_type, encrypted_pdf, too_many_pages, fetch_failed (MCP); 401 unauthorized; 402 quota_exceeded; 404 unknown_op, expired; 413 too_large; 422 processing_failed; 503 busy, unavailable; 504 timeout. ## MCP Remote MCP server, Streamable HTTP: `https://paperpipe.amaryx.com/mcp`, same `Authorization: Bearer pp_...` header. Tools: merge_pdfs, split_pdf, organize_pdf, compress_pdf, images_to_pdf, pdf_to_images, office_to_pdf. Each takes `files`: a list of `{"url": "https://..."}` (public URL) or `{"base64": "...", "filename": "name.pdf"}`, plus the same options as the REST fields, as strings. The result is a download link valid for 1 hour. Claude Code: ``` claude mcp add --transport http paperpipe https://paperpipe.amaryx.com/mcp --header "Authorization: Bearer pp_YOUR_KEY" ``` Cursor and other clients (mcp.json): ``` {"mcpServers": {"paperpipe": {"url": "https://paperpipe.amaryx.com/mcp", "headers": {"Authorization": "Bearer pp_YOUR_KEY"}}}} ``` ## Data handling Uploaded files are processed and deleted right away and are not stored. MCP results are kept for 1 hour, then deleted. paperpipe stores account data, API key hashes and a usage log (operation, size, time) with no file names or content. Hosted in Germany (Hetzner). ## Links - [API reference](https://paperpipe.amaryx.com/docs.html): full documentation with examples - [Privacy](https://paperpipe.amaryx.com/privacy) - [Terms](https://paperpipe.amaryx.com/terms)