Quick start

La API de Parsear extrae datos estructurados de contratos de alquiler argentinos en formato PDF. Enviás un PDF codificado en base64, y recibís un objeto JSON con todas las partes clave del contrato — partes, inmueble, fechas, montos, índice de ajuste y más.

Autenticación

Todas las requests a /api/v1/* requieren el header x-api-key con tu API key. Podés obtener una gratis en /register.

x-api-key: sk_live_your_key_here

Base URL

https://parsear.dev/api/v1

POST /extract

Extrae los datos estructurados de un contrato de alquiler en PDF. El PDF debe ser nativo (con texto seleccionable), no escaneado. Tamaño máximo: 500 KB.

Headers

HeaderRequeridoDescripción
x-api-keyRequeridoTu API key de Parsear
Content-TypeRequeridoapplication/json

Body (JSON)

CampoTipoRequeridoDescripción
pdfstringPDF codificado en base64. Máx 500 KB. Solo PDFs nativos (con texto, no escaneados).

Ejemplo de request

curl -X POST https://parsear.dev/api/v1/extract \
  -H "x-api-key: sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"pdf": "base64encodedpdf..."}'

Response schema

En caso de éxito, la API devuelve HTTP 200 con el siguiente objeto. Los campos no encontrados en el contrato se devuelven como null.

CampoTipoDescripción
locador.nombrestring | nullNombre completo del locador
locador.dnistring | nullDNI del locador (solo dígitos)
locatario.nombrestring | nullNombre completo del locatario
locatario.dnistring | nullDNI del locatario (solo dígitos)
inmueble.direccionstring | nullDirección completa del inmueble
inmueble.tipostring | nullTipo de inmueble (ej: vivienda familiar, comercial)
fecha_iniciostring | nullFecha de inicio en formato ISO (YYYY-MM-DD)
duracion_mesesnumber | nullDuración del contrato en meses
fecha_vencimientostring | nullFecha de vencimiento en formato ISO (YYYY-MM-DD)
alquiler_inicialnumber | nullCanon mensual inicial en pesos (entero)
depositonumber | nullMonto del depósito en pesos (entero)
ajuste.indicestring | nullÍndice: ICL, IPC, UVA, CVS o 'acuerdo de partes'
ajuste.frecuenciastring | nullFrecuencia de ajuste (ej: trimestral, semestral)
dia_pagostring | nullPeríodo de pago (ej: '1 al 10 de cada mes')
garante.nombrestring | nullNombre del garante, o null si no hay
rescision.preaviso_mesesnumber | nullMeses de preaviso para rescindir
rescision.penalidadstring | nullDescripción de la penalidad por rescisión anticipada
clausulas_especialesstring[]Lista de cláusulas especiales encontradas en el contrato

Ejemplo de respuesta

{
  "data": {
    "locador":    { "nombre": "Juan Pérez", "dni": "30123456" },
    "locatario":  { "nombre": "María Gómez", "dni": "35987654" },
    "inmueble":   { "direccion": "Lavalle 567 3° B, CABA", "tipo": "vivienda familiar" },
    "fecha_inicio":      "2026-04-01",
    "duracion_meses":    24,
    "fecha_vencimiento": "2028-03-31",
    "alquiler_inicial":  350000,
    "deposito":          350000,
    "ajuste":     { "indice": "IPC", "frecuencia": "trimestral" },
    "dia_pago":          "1 al 10 de cada mes",
    "garante":           null,
    "rescision":         null,
    "clausulas_especiales": [
      "Prohibido subarrendar",
      "Servicios a cargo del locatario"
    ]
  },
  "request_id": "a1b2c3d4-e5f6-..."
}

Códigos de error

Todos los errores incluyen el campo request_id para facilitar el soporte.

HTTPerrorDescripción
400Missing pdf fieldEl campo pdf es requerido en el body
400PDF too largeEl PDF supera los 500 KB
400Scanned PDFs are not supportedSolo PDFs con texto nativo (no escaneados)
401Missing API keyFalta el header x-api-key
401Invalid API keyLa key no existe o está inactiva
429Request limit reachedLímite mensual alcanzado — upgrade en /pricing
429Too many requestsMás de 10 requests por minuto
500Internal errorError interno — contactar soporte con request_id
502Could not parse contractClaude no devolvió un JSON válido — reintentá
504Extraction timed outClaude tardó más de 8 segundos — reintentá

Ejemplos de código

curl -X POST https://parsear.dev/api/v1/extract \
  -H "x-api-key: sk_live_your_key_here" \
  -H "Content-Type: application/json" \
  -d '{"pdf": "base64encodedpdf..."}'

Límites

Tamaño máximo de PDF

500 KB

Tipo de PDF

Nativo (no escaneado)

Rate limit por key

10 requests / minuto

Límite mensual

Según plan (ver /pricing)

Timeout de extracción

8 segundos

Caracteres procesados

Primeros 32.000 del PDF