Saltar al contenido principal

Documentación de la API

Integra el análisis de PDF en tus aplicaciones con nuestra API REST

Inicio rápido

1

Crear una cuenta

Regístrate para obtener una cuenta gratuita de PDFCheck.

2

Generar un token API

Ve a Tokens API y crea un nuevo token.

3

Realizar tu primera solicitud

Usa tu token para autenticar las solicitudes API.

Autenticación

Todas las solicitudes API requieren autenticación usando un token Bearer en el encabezado Authorization.

Authorization: Bearer YOUR_API_TOKEN

URL base

https://pdf.businesspress.io/api/v1

Límites de velocidad

Las cuentas gratuitas están limitadas a 50 análisis PDF por día. Los checks restantes se incluyen en cada respuesta API.

Endpoints

GET /user

Obtener información del usuario autenticado incluyendo límites de uso diario.

Ejemplo de respuesta

{
  "success": true,
  "data": {
    "name": "John Doe",
    "email": "john@example.com",
    "daily_limit": 50,
    "remaining_checks": 47,
    "checks_used_today": 3
  }
}
POST /pdf/analyze

Subir y analizar un archivo PDF. Devuelve metadatos detallados extraídos del PDF.

Cuerpo de solicitud

Nombre Tipo Requerido Descripción
file file Requerido Archivo PDF para analizar (máx. 100 MB)

Ejemplo de solicitud

curl -X POST https://pdf.businesspress.io/api/v1/pdf/analyze \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@document.pdf"

Ejemplo de respuesta

{
  "success": true,
  "data": {
    "id": "abc123xyz789",
    "filename": "document.pdf",
    "file_size": 1048576,
    "file_size_formatted": "1.00 MB",
    "metadata": {
      "title": "My Document",
      "author": "John Doe",
      "creator": "Microsoft Word",
      "producer": "Adobe PDF Library",
      "page_count": 10,
      "pdf_version": "1.7",
      "dates": {
        "created": "2025-01-15T10:30:00Z",
        "modified": "2025-01-16T14:22:00Z",
        "was_modified": true
      }
    },
    "analyzed_at": "2025-01-17T18:00:00Z"
  },
  "remaining_checks": 46
}
GET /pdf

Listar todos los análisis PDF del usuario autenticado con paginación.

Parámetros de consulta

Nombre Tipo Predeterminado Descripción
per_page integer 20 Número de resultados por página (1-100)

Ejemplo de respuesta

{
  "success": true,
  "data": [
    {
      "id": "abc123xyz789",
      "filename": "document.pdf",
      "file_size": 1048576,
      "file_size_formatted": "1.00 MB",
      "analyzed_at": "2025-01-17T18:00:00Z"
    }
  ],
  "meta": {
    "current_page": 1,
    "last_page": 1,
    "per_page": 20,
    "total": 1
  }
}
GET /pdf/{id}

Obtener resultados detallados del análisis por ID de análisis (token de compartir).

Ejemplo de solicitud

curl https://pdf.businesspress.io/api/v1/pdf/abc123xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

Gestión de tokens

GET /tokens

Listar todos los tokens API del usuario autenticado.

POST /tokens

Crear un nuevo token API. El token solo se muestra una vez en la respuesta.

Cuerpo de solicitud

Nombre Tipo Requerido Descripción
name string Requerido Un nombre descriptivo para el token
DELETE /tokens/{id}

Revocar (eliminar) un token API permanentemente.

Códigos de error

Código HTTP Código de error Descripción
401 unauthenticated Token API inválido o faltante
404 not_found Recurso no encontrado o acceso denegado
422 analysis_failed El PDF no pudo ser procesado (archivo inválido o corrupto)
429 daily_limit_exceeded Límite diario excedido, intenta de nuevo mañana

Ejemplos de código

cURL

# Analyze a PDF
curl -X POST https://pdf.businesspress.io/api/v1/pdf/analyze \
  -H "Authorization: Bearer YOUR_API_TOKEN" \
  -F "file=@/path/to/document.pdf"

# Get analysis result
curl https://pdf.businesspress.io/api/v1/pdf/abc123xyz789 \
  -H "Authorization: Bearer YOUR_API_TOKEN"

# List all analyses
curl https://pdf.businesspress.io/api/v1/pdf \
  -H "Authorization: Bearer YOUR_API_TOKEN"

PHP

<?php
$apiToken = 'YOUR_API_TOKEN';
$filePath = '/path/to/document.pdf';

// Analyze PDF
$ch = curl_init();
curl_setopt_array($ch, [
    CURLOPT_URL => 'https://pdf.businesspress.io/api/v1/pdf/analyze',
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        'Authorization: Bearer ' . $apiToken,
    ],
    CURLOPT_POSTFIELDS => [
        'file' => new CURLFile($filePath, 'application/pdf'),
    ],
]);

$response = curl_exec($ch);
$result = json_decode($response, true);

if ($result['success']) {
    echo "Analysis ID: " . $result['data']['id'] . "\n";
    echo "Pages: " . $result['data']['metadata']['page_count'] . "\n";
    echo "Remaining checks: " . $result['remaining_checks'] . "\n";
}

curl_close($ch);

Python

import requests

API_TOKEN = 'YOUR_API_TOKEN'
BASE_URL = 'https://pdf.businesspress.io/api/v1'

headers = {
    'Authorization': f'Bearer {API_TOKEN}'
}

# Analyze PDF
with open('/path/to/document.pdf', 'rb') as f:
    response = requests.post(
        f'{BASE_URL}/pdf/analyze',
        headers=headers,
        files={'file': ('document.pdf', f, 'application/pdf')}
    )

result = response.json()

if result['success']:
    print(f"Analysis ID: {result['data']['id']}")
    print(f"Pages: {result['data']['metadata']['page_count']}")
    print(f"Remaining checks: {result['remaining_checks']}")

# Get analysis by ID
response = requests.get(
    f"{BASE_URL}/pdf/{result['data']['id']}",
    headers=headers
)
print(response.json())

JavaScript (Node.js)

const fs = require('fs');
const FormData = require('form-data');

const API_TOKEN = 'YOUR_API_TOKEN';
const BASE_URL = 'https://pdf.businesspress.io/api/v1';

async function analyzePdf(filePath) {
    const form = new FormData();
    form.append('file', fs.createReadStream(filePath));

    const response = await fetch(`${BASE_URL}/pdf/analyze`, {
        method: 'POST',
        headers: {
            'Authorization': `Bearer ${API_TOKEN}`,
        },
        body: form
    });

    const result = await response.json();
    
    if (result.success) {
        console.log(`Analysis ID: ${result.data.id}`);
        console.log(`Pages: ${result.data.metadata.page_count}`);
        console.log(`Remaining checks: ${result.remaining_checks}`);
    }
    
    return result;
}

// Usage
analyzePdf('/path/to/document.pdf');

¿Listo para comenzar?

Crea una cuenta gratuita y genera tu primer token API para comenzar la integración.