Acceso programático a la conversión de páginas web mediante API REST
Todas las solicitudes de API deben incluir tu clave API en el encabezado X-API-Key:
X-API-Key: p2d_api_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx_xxxxxxxx
Convierte una URL de página web a formato PDF, Word (DOCX) o Excel (XLSX).
| Parámetro | Tipo | Requerido | Descripción |
|---|---|---|---|
url |
string | Sí | URL completa de la página a convertir (debe comenzar con http:// o https://) |
format |
string | Sí | Formato de salida: pdf, docx o xlsx |
mode |
string | No | Modo de extracción: full (predeterminado), article o tables |
clean |
boolean | No | Elimina anuncios y ventanas emergentes (predeterminado: true) |
wait |
number | No | Tiempo de espera en milisegundos antes de captura (predeterminado: 2000, máximo: 10000) |
curl -X POST https://page2doc.com/api/v1/convert \
-H "Content-Type: application/json" \
-H "X-API-Key: p2d_api_your_key_here" \
-d '{
"url": "https://example.com/article",
"format": "pdf",
"mode": "article",
"clean": true
}' \
--output document.pdf
const response = await fetch('https://page2doc.com/api/v1/convert', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': 'YOUR_API_KEY_HERE'
},
body: JSON.stringify({
url: 'https://example.com/article',
format: 'docx',
mode: 'article',
clean: true
})
});
const blob = await response.blob();
const buffer = Buffer.from(await blob.arrayBuffer());
fs.writeFileSync('output.docx', buffer);
import requests
import os
response = requests.post(
'https://page2doc.com/api/v1/convert',
headers={
'Content-Type': 'application/json',
'X-API-Key': os.environ['PAGE2DOC_API_KEY']
},
json={
'url': 'https://example.com/article',
'format': 'pdf',
'mode': 'article',
'clean': True
}
)
with open('output.pdf', 'wb') as f:
f.write(response.content)
Estado: 200 OK
Content-Type: application/pdf, application/vnd.openxmlformats-officedocument.wordprocessingml.document o application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
El cuerpo de la respuesta contiene el archivo de documento binario.
| Estado | Error | Descripción |
|---|---|---|
| 401 | No autorizado | Clave API inválida o faltante |
| 403 | Prohibido | La suscripción Pro ha expirado o la clave API ha sido revocada |
| 413 | Carga útil demasiado grande | El contenido de la página excede el límite de tamaño (10MB para Pro) |
| 422 | Entidad no procesable | URL inválida o formato no compatible |
| 429 | Demasiadas solicitudes | Límite de velocidad excedido (500 solicitudes/día para Pro) |
| 500 | Error interno del servidor | Error de conversión o error del servidor |
Verifica tu clave API y consulta las estadísticas de uso.
curl https://page2doc.com/api/v1/status \
-H "X-API-Key: p2d_api_your_key_here"
{
"valid": true,
"plan": "pro",
"usage": {
"today": 12,
"month": 347,
"limit": 500
},
"createdAt": "2025-02-15T10:30:00Z"
}
Los encabezados de límite de velocidad se incluyen en todas las respuestas:
X-RateLimit-Limit: 500
X-RateLimit-Remaining: 487
X-RateLimit-Reset: 1708041600
mode apropiados (article para contenido, tables para datos)wait razonables para páginas con mucho JavaScript (3000-5000ms)/api/v1/statusPara soporte de API, aumentos de límite de velocidad o integraciones personalizadas, contáctanos en api@page2doc.com