Les mêmes outils que le site, depuis votre code : envoyez un fichier par HTTP et recevez le résultat. Sans stockage : nous traitons puis supprimons, comme toujours.
L'API s'ouvre progressivement, par conception : clés par compte (rotatives et révocables), limite de débit, quota mensuel et limites d'entrée. Elle est incluse dans le plan Pro ; pour l'essayer ou pour du volume, écrivez-nous et nous vous donnons accès.
Demander l'accèsChaque requête porte votre clé dans un en-tête. La clé n'est montrée qu'une fois à la création ; gardez-la dans un gestionnaire de secrets. Vous pouvez la révoquer à tout moment.
Authorization: Bearer papyr_sk_…
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
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.pdfimport 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"])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();
| GET | /api/v1/me | Valide votre clé ; renvoie plan, usage et limites. |
| POST | /api/v1/convert/to-pdf | Office → PDF — file |
| POST | /api/v1/img/compress | Compresser une image — file + quality |
| POST | /api/v1/img/convert | Convertir une image — file + fmt, quality |
| POST | /api/v1/pdf/compress | Compresser — file |
| POST | /api/v1/pdf/merge | Fusionner — files[] |
| POST | /api/v1/pdf/ocr | OCR — file + lang |
| POST | /api/v1/pdf/page-numbers | Numéros de page — file + position, start |
| POST | /api/v1/pdf/protect | Protéger — file + password |
| POST | /api/v1/pdf/rotate | Pivoter — file + degrees |
| POST | /api/v1/pdf/split | Diviser — file + cada |
| POST | /api/v1/pdf/to-csv | PDF → CSV — file + sep |
| POST | /api/v1/pdf/to-images | PDF → images — file + dpi, fmt |
| POST | /api/v1/pdf/to-text | PDF → Texte — file |
| POST | /api/v1/pdf/to-word | PDF → Word — file + lang |
| POST | /api/v1/pdf/unlock | Déverrouiller — file + password |
| POST | /api/v1/pdf/watermark | Filigrane — file + text |
Traitées sur des serveurs de l'UE uniquement pour votre opération, et supprimées avec la réponse. L'API n'assouplit rien de la politique de confidentialité du site.