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
| Header | Requerido | Descripción |
|---|---|---|
x-api-key | Requerido | Tu API key de Parsear |
Content-Type | Requerido | application/json |
Body (JSON)
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
pdf | string | Sí | PDF 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.
| Campo | Tipo | Descripción |
|---|---|---|
locador.nombre | string | null | Nombre completo del locador |
locador.dni | string | null | DNI del locador (solo dígitos) |
locatario.nombre | string | null | Nombre completo del locatario |
locatario.dni | string | null | DNI del locatario (solo dígitos) |
inmueble.direccion | string | null | Dirección completa del inmueble |
inmueble.tipo | string | null | Tipo de inmueble (ej: vivienda familiar, comercial) |
fecha_inicio | string | null | Fecha de inicio en formato ISO (YYYY-MM-DD) |
duracion_meses | number | null | Duración del contrato en meses |
fecha_vencimiento | string | null | Fecha de vencimiento en formato ISO (YYYY-MM-DD) |
alquiler_inicial | number | null | Canon mensual inicial en pesos (entero) |
deposito | number | null | Monto del depósito en pesos (entero) |
ajuste.indice | string | null | Índice: ICL, IPC, UVA, CVS o 'acuerdo de partes' |
ajuste.frecuencia | string | null | Frecuencia de ajuste (ej: trimestral, semestral) |
dia_pago | string | null | Período de pago (ej: '1 al 10 de cada mes') |
garante.nombre | string | null | Nombre del garante, o null si no hay |
rescision.preaviso_meses | number | null | Meses de preaviso para rescindir |
rescision.penalidad | string | null | Descripción de la penalidad por rescisión anticipada |
clausulas_especiales | string[] | 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.
| HTTP | error | Descripción |
|---|---|---|
| 400 | Missing pdf field | El campo pdf es requerido en el body |
| 400 | PDF too large | El PDF supera los 500 KB |
| 400 | Scanned PDFs are not supported | Solo PDFs con texto nativo (no escaneados) |
| 401 | Missing API key | Falta el header x-api-key |
| 401 | Invalid API key | La key no existe o está inactiva |
| 429 | Request limit reached | Límite mensual alcanzado — upgrade en /pricing |
| 429 | Too many requests | Más de 10 requests por minuto |
| 500 | Internal error | Error interno — contactar soporte con request_id |
| 502 | Could not parse contract | Claude no devolvió un JSON válido — reintentá |
| 504 | Extraction timed out | Claude 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