La API de PDF creada para desarrolladores
Un endpoint REST simple por tarea. Combina, convierte, comprime y protege PDFs desde cualquier lenguaje — sin SDK, sin servidores, sin librerías PDF.
Inicio rápido
1. Obtén una clave
Inicia sesión y crea una clave en tu panel.
2. Llama a un endpoint
Envía tu archivo como multipart/form-data.
3. Obtén el resultado
El archivo procesado se devuelve al instante.
curl -X POST https://smallpdf.us/api/v1/merge \
-H "X-API-Key: YOUR_API_KEY" \
-F "files=@image1.pdf" \
-F "files=@image2.pdf" \
-o merged.pdfAutenticación
Cada solicitud debe incluir tu clave secreta en el encabezado X-API-Key . Crea y gestiona claves en tu panel. Mantén las claves en el servidor — nunca las expongas en el código del cliente.
X-API-Key: sk_live_xxxxxxxxxxxxxxxxxxxxxxxxURL base y respuestas
Todos los endpoints son POST bajo:
- En caso de éxito, el archivo procesado se devuelve directamente en el cuerpo.
- En caso de error, se devuelve un cuerpo JSON:
{ "error": "...", "code": "..." } - Cada respuesta incluye
X-RateLimit-Limit/X-RateLimit-Remaining - Los archivos subidos se analizan en busca de malware y se eliminan de nuestros servidores inmediatamente después del procesamiento.
Endpoints
Organizar
/v1/mergeMerge PDFCombine two or more PDFs into a single document, in the order provided.
Parámetros
filesfile[]requeridoTwo or more PDF files.
Devuelve: PDF file · merged.pdf
curl -X POST https://smallpdf.us/api/v1/merge \
-H "X-API-Key: YOUR_API_KEY" \
-F "files=@image1.pdf" \
-F "files=@image2.pdf" \
-o merged.pdf/v1/splitSplit PDFSplit a PDF. Without `pages` you receive a ZIP with one PDF per page; with `pages` you receive a single PDF of just those pages.
Parámetros
filefilerequeridoThe PDF to split.
pagesstringopcionalOptional range, e.g. "1,3,5-7".
Devuelve: PDF file · split.pdf
curl -X POST https://smallpdf.us/api/v1/split \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-F "pages=1-3" \
-o split.pdf/v1/rotateRotate PDFRotate every page by a multiple of 90 degrees.
Parámetros
filefilerequeridoThe PDF to rotate.
angleintopcional90, 180 or 270. Default 90.
Devuelve: PDF file · rotated.pdf
curl -X POST https://smallpdf.us/api/v1/rotate \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-F "angle=90" \
-o rotated.pdfConvertir
/v1/pdf-to-wordPDF to WordConvert a PDF into an editable Word (.docx) document with layout preserved.
Parámetros
filefilerequeridoThe PDF to convert.
Devuelve: Word .docx file · converted.docx
curl -X POST https://smallpdf.us/api/v1/pdf-to-word \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-o converted.docx/v1/word-to-pdfWord to PDFConvert a Word document (.doc, .docx, .odt, .rtf) into a PDF.
Parámetros
filefilerequeridoThe document to convert.
Devuelve: PDF file · converted.pdf
curl -X POST https://smallpdf.us/api/v1/word-to-pdf \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.docx" \
-o converted.pdf/v1/pdf-to-jpgPDF to JPGRender each PDF page to a JPG image. Returns a ZIP archive.
Parámetros
filefilerequeridoThe PDF to convert.
qualitystringopcionalstandard (150dpi) · high (300) · maximum (600).
Devuelve: ZIP archive of images · pages.zip
curl -X POST https://smallpdf.us/api/v1/pdf-to-jpg \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-F "quality=high" \
-o pages.zip/v1/pdf-to-pngPDF to PNGRender each PDF page to a PNG image. Returns a ZIP archive.
Parámetros
filefilerequeridoThe PDF to convert.
qualitystringopcionalstandard · high · maximum.
Devuelve: ZIP archive of images · pages.zip
curl -X POST https://smallpdf.us/api/v1/pdf-to-png \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-F "quality=high" \
-o pages.zip/v1/jpg-to-pdfJPG to PDFCombine one or more JPG images into a single PDF (one image per page).
Parámetros
filesfile[]requeridoOne or more JPG images.
Devuelve: PDF file · images.pdf
curl -X POST https://smallpdf.us/api/v1/jpg-to-pdf \
-H "X-API-Key: YOUR_API_KEY" \
-F "files=@image1.jpg" \
-F "files=@image2.jpg" \
-o images.pdf/v1/png-to-pdfPNG to PDFCombine one or more PNG images into a single PDF (one image per page).
Parámetros
filesfile[]requeridoOne or more PNG images.
Devuelve: PDF file · images.pdf
curl -X POST https://smallpdf.us/api/v1/png-to-pdf \
-H "X-API-Key: YOUR_API_KEY" \
-F "files=@image1.png" \
-F "files=@image2.png" \
-o images.pdfOptimizar
/v1/compressCompress PDFReduce a PDF's file size with lossless stream compression.
Parámetros
filefilerequeridoThe PDF to compress.
Devuelve: PDF file · compressed.pdf
curl -X POST https://smallpdf.us/api/v1/compress \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-o compressed.pdfProteger
/v1/protectProtect PDFEncrypt a PDF with AES-256 so it can only be opened with the password.
Parámetros
filefilerequeridoThe PDF to protect.
passwordstringrequeridoPassword required to open the file.
Devuelve: PDF file · protected.pdf
curl -X POST https://smallpdf.us/api/v1/protect \
-H "X-API-Key: YOUR_API_KEY" \
-F "file=@input.pdf" \
-F "password=secret123" \
-o protected.pdfPlanes y cuota
| Plan | Llamadas API | Precio |
|---|---|---|
| Free | 50 / month | $0 |
| Starter | 1,000 / month | $9/mo |
| Pro | 10,000 / month | $19/mo |
| Max | 100,000 / month | Contact sales |
La cuota se restablece el 1 de cada mes (UTC). Solo se cuentan las llamadas exitosas. Ver precios completos →
Códigos de estado y error
| HTTP | Código | Significado |
|---|---|---|
| 200 | — | Success. The processed file is returned in the body. |
| 400 | BAD_INPUT | Missing or invalid file / parameters. |
| 401 | NO_API_KEY · BAD_API_KEY | Missing, invalid or revoked key. |
| 429 | QUOTA_EXCEEDED | Monthly quota used up — upgrade your plan. |
| 500 | PROCESSING_ERROR | The file could not be processed. |
Empieza a desarrollar hoy
Crea una clave API gratuita y realiza tu primera llamada en menos de un minuto.
Obtener tu clave API