Die PAPYR-API
Dieselben Werkzeuge wie auf der Website, aus Ihrem Code: Senden Sie eine Datei über HTTP und erhalten Sie das Ergebnis. Ohne Speicherung: Wir verarbeiten und löschen, wie immer.
Geschlossene Beta, mit Absicht
Die API öffnet sich schrittweise, per Design: Schlüssel pro Konto (rotierbar und widerrufbar), Burst-Limits, Monatskontingent und Eingabe-Limits. Sie ist im Pro-Plan enthalten; zum Ausprobieren oder für Volumen schreiben Sie uns und wir schalten Sie frei.
Zugang anfragenAuthentifizierung
Jede Anfrage trägt Ihren Schlüssel in einem Header. Der Schlüssel wird nur einmal bei der Erstellung gezeigt; bewahren Sie ihn in einem Secrets-Manager auf. Sie können ihn jederzeit widerrufen.
Authorization: Bearer papyr_sk_…
In einer Minute starten
curl -X POST https://www.aim-papyr.ai/api/v1/pdf/merge \
-H "Authorization: Bearer papyr_sk_YOUR_KEY" \
-F "files=@report.pdf" -F "files=@annex.pdf" \
-o merged.pdf
Scan to searchable PDF bash
curl -X POST https://www.aim-papyr.ai/api/v1/pdf/ocr \
-H "Authorization: Bearer YOUR_KEY" \
-F "file=@factura.pdf" -F "lang=spa" \
-o factura-buscable.pdfExtract tables to CSV python
import requests
r = requests.post(
"https://www.aim-papyr.ai/api/v1/pdf/to-csv",
headers={"Authorization": "Bearer YOUR_KEY"},
files={"file": open("facturas.pdf", "rb")},
data={"sep": ";"}, timeout=120)
r.raise_for_status()
open("facturas.csv", "wb").write(r.content)
print(r.headers["X-Monthly-Used"], "/", r.headers["X-Monthly-Limit"])PDF to Word from the browser javascript
const fd = new FormData();
fd.append("file", archivo); // File o Blob
const r = await fetch("https://www.aim-papyr.ai/api/v1/pdf/to-word", {
method: "POST",
headers: { Authorization: "Bearer YOUR_KEY" },
body: fd,
});
if (!r.ok) throw new Error((await r.json()).detail);
const docx = await r.blob();
Endpoints (v1)
| GET | /api/v1/me | Validiert Ihren Schlüssel; liefert Plan, Nutzung und Limits. |
| POST | /api/v1/convert/to-pdf | Office → PDF — file |
| POST | /api/v1/img/compress | Bild komprimieren — file + quality |
| POST | /api/v1/img/convert | Bild konvertieren — file + fmt, quality |
| POST | /api/v1/pdf/compress | Komprimieren — file |
| POST | /api/v1/pdf/merge | Zusammenführen — files[] |
| POST | /api/v1/pdf/ocr | OCR — file + lang |
| POST | /api/v1/pdf/page-numbers | Seitenzahlen — file + position, start |
| POST | /api/v1/pdf/protect | Schützen — file + password |
| POST | /api/v1/pdf/rotate | Drehen — file + degrees |
| POST | /api/v1/pdf/split | Teilen — file + cada |
| POST | /api/v1/pdf/to-csv | PDF → CSV — file + sep |
| POST | /api/v1/pdf/to-images | PDF → Bilder — file + dpi, fmt |
| POST | /api/v1/pdf/to-text | PDF → Text — file |
| POST | /api/v1/pdf/to-word | PDF → Word — file + lang |
| POST | /api/v1/pdf/unlock | Entsperren — file + password |
| POST | /api/v1/pdf/watermark | Wasserzeichen — file + text |
Limits — klar, und in der Antwort
- Burst: 20 Anfragen/Minute, anhaltend: 300/Stunde pro Schlüssel.
- Monatskontingent pro Konto nach Plan (Pro: 1.000 Aufrufe/Monat). Jede Antwort enthält X-Monthly-Used und X-Monthly-Limit.
- Dateien bis 50 MB. Dieselben Inhaltslimits wie die Website.
- Ehrliche Fehler: 401 ungültiger Schlüssel, 403 ohne Plan, 413 Datei zu groß, 429 Limit erreicht (mit Retry-After).
Ihre Daten, wie immer
Verarbeitet auf EU-Servern nur für Ihre Operation und mit der Antwort verworfen. Die API lockert nichts an der Datenschutzrichtlinie der Website.