Quitar la contraseña de un PDF
Quitar contraseña es una API que elimina la contraseña de un PDF protegido, siempre que la conozcas. Perfecto para desbloquear documentos propios dentro de un flujo automático en n8n, Make o Zapier, sin montar servidores.
Cómo funciona
Le mandas un PDF protegido y su contraseña actual, y te devuelve el mismo PDF sin ella: se abrirá directamente, sin pedir nada. No guarda nada: se genera al momento.
Importante: esta herramienta necesita que ya conozcas la contraseña. No es un "desbloqueador" que adivine o rompa contraseñas olvidadas.
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave". Se muestra una sola vez, así que cópiala y guárdala.
- En tu plataforma de automatización, un paso de tipo "HTTP Request" / "Hacer una petición HTTP" (lo tienen n8n, Make, Zapier, Pipedream…).
- La contraseña actual del PDF.
Cómo usarlo en n8n (paso a paso)
Le envías tu PDF tal cual (como archivo binario) y la contraseña actual como parámetro. En el nodo HTTP Request:
- Method:
POST - URL:
https://api.cofferdock.com/pdf-unprotect - Send Query Parameters: actívalo y añade
password= la contraseña actual del PDF. - Send Headers: actívalo y añade dos:
x-api-key= tu llave, yContent-Type=application/pdf - Send Body: actívalo → elige la opción para mandar un archivo binario (en n8n: "n8n Binary File", con la propiedad binaria de tu PDF, normalmente
data) - En Options → Response → Response Format: elige File
En Make (módulo HTTP → Make a request): mismo método y URL, password en Query String, las dos cabeceras, y el PDF como dato binario en el cuerpo.
Opciones
| Opción | Por defecto | Para qué sirve |
|---|---|---|
password | — | Obligatorio. La contraseña ACTUAL del PDF (no la nueva, aquí no se pone una nueva). |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/pdf-unprotect - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: el PDF va en el cuerpo como
application/pdf(a pelo, conpassworden Query) o comoapplication/jsoncon{ "file": "<base64>", "password": "..." }. - Salida: por defecto, con
application/pdfdevuelve el binario; con JSON devuelve base64 enpdf.output=pdf/output=jsonfuerza cualquiera. - Contraseña incorrecta: 400
{"error":"Incorrect password"}, y el crédito se devuelve (no se cobra por un intento fallido). - Límites: PDF de entrada hasta 20 MB (50 MB en Business/Scale) en modo
application/pdf, o ~4 MB reales en JSON con base64. 30 peticiones/min por IP. 1 llamada correcta = 1 crédito.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
password | — | Obligatorio. La contraseña actual del PDF. |
file | — | Solo en modo JSON: el PDF en base64. |
output | según modo | pdf (binario) o json (base64). |
Ejemplos
curl (PDF a pelo):
curl -X POST "https://api.cofferdock.com/pdf-unprotect?password=SecretoSeguro123" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/pdf" \
--data-binary @protegido.pdf \
-o desbloqueado.pdf
JavaScript (Node 18+):
const fs = require('fs');
const r = await fetch('https://api.cofferdock.com/pdf-unprotect?password=SecretoSeguro123', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/pdf' },
body: fs.readFileSync('protegido.pdf'),
});
if (r.status === 400) {
console.error('Contraseña incorrecta u otro error:', await r.json());
} else {
fs.writeFileSync('desbloqueado.pdf', Buffer.from(await r.arrayBuffer()));
}
Python:
import requests
r = requests.post(
'https://api.cofferdock.com/pdf-unprotect',
params={'password': 'SecretoSeguro123'},
headers={'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/pdf'},
data=open('protegido.pdf', 'rb').read(),
)
open('desbloqueado.pdf', 'wb').write(r.content)
Modo JSON (respuesta en base64)
{ "file": "JVBERi0xLjQ…", "password": "SecretoSeguro123" }
→ { "success": true, "pdf": "JVBERi0xLjQ…", "mime_type": "application/pdf",
"meta": { "used": 12, "remaining": 488 } }
Lo que recibes
El PDF sin contraseña directamente, listo para guardar o enviar. (En modo JSON, el PDF llega en base64.)
Remove a PDF's password
Remove password is an API that strips the password from a protected PDF, as long as you know it. Great for unlocking your own documents inside an automated flow in n8n, Make or Zapier, with no servers to maintain.
How it works
You send a protected PDF and its current password, and get back the same PDF without it: it will open directly, no prompt. Nothing is stored: it's generated on the fly.
Important: this tool needs you to already know the password. It's not an "unlocker" that guesses or cracks forgotten passwords.
All you need
- Your API key. Create it in your dashboard with "+ Create key". It's shown only once, so copy and save it.
- In your automation platform, an "HTTP Request" step (n8n, Make, Zapier, Pipedream… all have one).
- The PDF's current password.
How to use it in n8n (step by step)
You send your PDF as is (as binary data) and the current password as a parameter. In the HTTP Request node:
- Method:
POST - URL:
https://api.cofferdock.com/pdf-unprotect - Send Query Parameters: on, and add
password= the PDF's current password. - Send Headers: on → add two:
x-api-key= your key, andContent-Type=application/pdf - Send Body: on → choose the binary file option (in n8n: "n8n Binary File", with your PDF's binary property, usually
data) - Under Options → Response → Response Format: choose File
In Make (HTTP → Make a request module): same method and URL, password in Query String, the two headers, and the PDF as binary data in the body.
Options
| Option | Default | What it does |
|---|---|---|
password | — | Required. The PDF's CURRENT password (not a new one, there's no "set a new one" here). |
API overview
- Endpoint:
POST https://api.cofferdock.com/pdf-unprotect - Auth: header
x-api-key: YOUR_KEY. - Input: the PDF goes in the body as
application/pdf(raw, withpasswordas a Query param) or asapplication/jsonwith{ "file": "<base64>", "password": "..." }. - Output: by default, with
application/pdfit returns the binary; with JSON it returns base64 inpdf.output=pdf/output=jsonforces either. - Wrong password: 400
{"error":"Incorrect password"}, and the credit is refunded (a failed attempt isn't charged). - Limits: input PDF up to 20 MB (50 MB on Business/Scale) in
application/pdfmode, or ~4 MB real in JSON with base64. 30 requests/min per IP. 1 successful call = 1 credit.
Options
| Option | Default | Description |
|---|---|---|
password | — | Required. The PDF's current password. |
file | — | JSON mode only: the PDF in base64. |
output | per mode | pdf (binary) or json (base64). |
Examples
curl (raw PDF):
curl -X POST "https://api.cofferdock.com/pdf-unprotect?password=SuperSecret123" \
-H "x-api-key: YOUR_KEY" \
-H "Content-Type: application/pdf" \
--data-binary @protected.pdf \
-o unlocked.pdf
JavaScript (Node 18+):
const fs = require('fs');
const r = await fetch('https://api.cofferdock.com/pdf-unprotect?password=SuperSecret123', {
method: 'POST',
headers: { 'x-api-key': 'YOUR_KEY', 'Content-Type': 'application/pdf' },
body: fs.readFileSync('protected.pdf'),
});
if (r.status === 400) {
console.error('Wrong password or other error:', await r.json());
} else {
fs.writeFileSync('unlocked.pdf', Buffer.from(await r.arrayBuffer()));
}
Python:
import requests
r = requests.post(
'https://api.cofferdock.com/pdf-unprotect',
params={'password': 'SuperSecret123'},
headers={'x-api-key': 'YOUR_KEY', 'Content-Type': 'application/pdf'},
data=open('protected.pdf', 'rb').read(),
)
open('unlocked.pdf', 'wb').write(r.content)
JSON mode (base64 response)
{ "file": "JVBERi0xLjQ…", "password": "SuperSecret123" }
→ { "success": true, "pdf": "JVBERi0xLjQ…", "mime_type": "application/pdf",
"meta": { "used": 12, "remaining": 488 } }
What you get back
The PDF without a password, directly, ready to save or send. (In JSON mode, the PDF comes in base64.)