Saltar al contenido

API

Una API de PDF por un céntimo

Comprime, une y convierte desde tu código. $0.01 por documento, los primeros 100 al mes gratis. Sin suscripción ni mínimo.

La API procesa los archivos en el servidor

A diferencia del editor del navegador, la API envía el archivo a nuestro servidor. Se procesa en memoria, nunca se escribe en disco y no se conserva tras la respuesta; los nombres de archivo no se guardan. Para documentos que no deben salir de tu red, usa el navegador o Enterprise.

Autenticación

Clave Bearer en el encabezado

Crea una clave en tu panel. Empieza por sd_live_y se muestra una sola vez: solo guardamos su hash. Envía la clave en cada solicitud:

Authorization: Bearer sd_live_XXXXXXXXXXXXXXXXXXXXXXXX

Cuerpo de la solicitud: multipart/form-datacon los campos fileo un archivo sin procesar con Content-Type: application/pdf | image/png | image/jpeg. La respuesta es el PDF terminado. Límite: 100 MB por archivo y 50 archivos por solicitud.

Endpoints

Tres operaciones

POST/api/v1/compress

Comprimir

Compresión sin pérdidas: elimina los metadatos Info y XMP y los objetos no utilizados, y reconstruye el documento con flujos de objetos. El resultado nunca es más grande que el original.

file
Un PDF. Se puede enviar como cuerpo sin procesar con Content-Type: application/pdf.
curl
curl -X POST https://lockpage.tools/api/v1/compress \
  -H "Authorization: Bearer $LOCKPAGE_KEY" \
  -F file=@contract.pdf \
  -o contract.min.pdf
POST/api/v1/merge

Unir

Une los PDF en el orden de los campos de archivo. De 2 a 50 archivos por solicitud.

file
Campo repetido, de 2 a 50 PDF. Se conserva el orden.
curl
curl -X POST https://lockpage.tools/api/v1/merge \
  -H "Authorization: Bearer $LOCKPAGE_KEY" \
  -F file=@act.pdf \
  -F file=@invoice.pdf \
  -o merged.pdf
POST/api/v1/convert

Convertir

El servidor admite PNG y JPEG → PDF: cada imagen se convierte en una página. Las demás direcciones devuelven 501 not_implemented: por ahora solo funcionan en el navegador.

file
Una o más imágenes PNG/JPEG.
to
Formato de destino: pdf. Para un cuerpo sin procesar, usa el parámetro de consulta ?to=pdf.
curl
curl -X POST "https://lockpage.tools/api/v1/convert?to=pdf" \
  -H "Authorization: Bearer $LOCKPAGE_KEY" \
  -H "Content-Type: image/jpeg" \
  --data-binary @scan.jpg \
  -o scan.pdf

Respuestas

Éxito y errores

Una respuesta correcta es un PDF con encabezados de uso. Un error es un JSON con un código de máquina y un mensaje legible que puedes mostrar a los usuarios.

200 OK
HTTP/1.1 200 OK
Content-Type: application/pdf
Content-Disposition: attachment; filename="securadoc-merge.pdf"
Cache-Control: no-store
X-Lockpage-Documents: 2
X-Lockpage-Price-Usd-Per-Document: 0.01

%PDF-1.7 …
Error
HTTP/1.1 400 Bad Request Content-Type: application/json { "error": { "code": "bad_request", "message": "merge needs at least two files" } }
HTTPcódigoCuándo
400bad_requestSin archivos, conjunto de archivos incorrecto para la operación o PDF dañado
401unauthorizedFalta el encabezado Authorization, o la clave no es válida o fue revocada
413too_largeEl archivo supera los 100 MB
415unsupported_media_typeEl formato del archivo de entrada no es compatible
501not_implementedEsta conversión aún no está disponible en el servidor
500internalError interno. Inténtalo de nuevo más tarde.
Node.js 20+
const form = new FormData();
form.append("file", new Blob([await fs.readFile("a.pdf")]), "a.pdf");
form.append("file", new Blob([await fs.readFile("b.pdf")]), "b.pdf");

const res = await fetch("https://lockpage.tools/api/v1/merge", {
  method: "POST",
  headers: { Authorization: `Bearer ${process.env.LOCKPAGE_KEY}` },
  body: form,
});
if (!res.ok) throw new Error((await res.json()).error.message);
await fs.writeFile("merged.pdf", Buffer.from(await res.arrayBuffer()));

Uso

Cómo funcionan los precios

Un documento es un archivo de entrada en una solicitud correcta: unir tres PDF cuenta como tres documentos. Las solicitudes fallidas son gratis. Los primeros 100 documentos de cada mes natural son gratis; después, $0.01 por documento. El uso del mes actual se muestra en el panel.

Documentos al mesCoste
hasta 100Gratis
1,000$9
10,000$99
100,000$999