API de Document Parsing: convierte cualquier PDF en
Markdown y JSON
Layout, tablas y orden de lectura preservados. Entrada estructurada para tu pipeline de LLM, RAG o extracción — sin plantillas, con tu esquema o sin ninguno.
- 500 páginas gratis
- Sin tarjeta
PDF a Markdown y
PDF a JSON
Una llamada de entrada, el documento completo de salida — el mismo documento, en cualquiera de los dos formatos. Los encabezados conservan su nivel y la tabla conserva sus columnas y su alineación por columna; en JSON esa tabla vuelve como cabecera más filas que puedes indexar, no como una cadena que tengas que volver a parsear. Cambia de pestaña para ver los dos.
Referencia completa en la documentación para developers · índice de todo el sitio legible por máquinas en llms.txt
# Supplier Performance Review — Q2 2026
**Supplier:** Nordwind Logistik GmbH · **Contract:** NL-2026-114
**Period:** 2026-04-01 → 2026-06-30
## 1. Summary
On-time delivery improved to 96.4% (Q1: 91.2%). Two incidents were recorded,
both resolved inside the contractual 48-hour window.
## 2. Delivery performance
| Metric | Q1 2026 | Q2 2026 | Target |
| --------------------- | ------: | ------: | ------: |
| On-time delivery | 91.2% | 96.4% | 95.0% |
| Damage rate | 0.8% | 0.3% | < 0.5% |
| Avg. lead time (days) | 4.6 | 3.9 | 4.0 |
| Invoices disputed | 12 | 4 | < 5 |
## 3. Open actions
- [ ] Re-audit cold-chain packaging (owner: K. Brandt, due 2026-08-15)
- [x] Close incident INC-2026-0431
> Figures exclude the Hamburg depot, migrated 2026-05-12.{
"mode": "parse",
"pages": 1,
"markdown": "# Supplier Performance Review — Q2 2026\n\n**Supplier:** …",
"blocks": [
{
"type": "title",
"page": 1,
"confidence": 0.99,
"text": "Supplier Performance Review — Q2 2026"
},
{
"type": "group",
"page": 1,
"confidence": 0.98,
"text": "Supplier: Nordwind Logistik GmbH · Contract: NL-2026-114"
},
{
"type": "heading",
"page": 1,
"confidence": 0.99,
"text": "2. Delivery performance"
},
{
"type": "table",
"page": 1,
"confidence": 0.97,
"header": ["Metric", "Q1 2026", "Q2 2026", "Target"],
"rows": [
["On-time delivery", "91.2%", "96.4%", "95.0%"],
["Damage rate", "0.8%", "0.3%", "< 0.5%"],
["Avg. lead time (days)", "4.6", "3.9", "4.0"],
["Invoices disputed", "12", "4", "< 5"]
]
},
{
"type": "footer",
"page": 1,
"confidence": 0.94,
"text": "Figures exclude the Hamburg depot, migrated 2026-05-12."
}
]
} El orden de lectura se preserva a lo largo de la página, así que la salida sigue al documento y no a las coordenadas del texto sobre él. Los dos formatos viajan en el mismo payload, así que no tienes que elegir: coge el Markdown para lo que va a un modelo y los bloques para lo programático.
Por qué el parsing estructurado gana a un OCR de texto plano y al DIY
Un OCR de solo texto te da caracteres y pierde el documento: ni tabla, ni orden de lectura, ni idea de qué línea era un encabezado. Un modelo generalista va más lejos e inventa — responde por cada página, incluidas las que no pudo leer, y un valor equivocado que suena seguro es indistinguible de uno correcto. Aquí el parsing es un pipeline, no un prompt: la detección de layout corre antes de que ningún modelo de lenguaje toque la página, cada bloque lleva su tipo y su posición, y una lectura que no podemos sostener vuelve marcada en vez de maquillada.
Los modos de fallo que más vemos están recogidos en: problemas del parsing de documentos
Pasarle el PDF a un modelo generalista
un prompt, una respuesta
- Responde por cada página, incluidas las que no pudo leer. Cuando una región es ilegible escribe algo plausible en vez de decirlo.
- Ninguna estructura de la que puedas depender — la forma de la respuesta cambia con el prompt, con la página y con la ejecución.
- Nada ata una línea de salida a un sitio del documento, así que nadie puede auditarlo después.
- Las páginas a varias columnas, las celdas combinadas y las notas al pie se aplanan en el orden de lectura que el modelo haya deducido.
- El proveedor deprecia una versión del modelo y el mismo documento se parsea distinto el trimestre que viene.
Parsing con Invofox
un pipeline, no un prompt
- Una región que no podemos leer vuelve marcada, o como null. Nunca se rellena con una suposición.
- Cada documento devuelve la misma forma: bloques tipados en orden de lectura, más el Markdown.
- Cada bloque lleva su tipo, su página y su posición, así que cualquier salida se rastrea hasta el sitio del que vino.
- La detección de layout va primero: columnas, cabeceras que abarcan varias celdas, celdas combinadas y notas al pie sobreviven como estructura.
- Los cambios de modelo son nuestros de absorber, y pasan por una puerta de precisión — no entran en tu salida sin avisar.
Pensada para pipelines de RAG y LLM
El parsing es el paso de preprocesado que va delante de un modelo: convierte un directorio de PDFs en entrada con la que un stack de retrieval o un agente pueden trabajar de verdad. Es agnóstico al tipo de documento a propósito, así que esto va por trabajo a hacer y no por tipo de documento — y ninguno empieza con una lista de campos.
-
Alimentar un índice RAG
Convierte un archivo documental en Markdown con el que tu pipeline de embeddings pueda trabajar. La estructura sobrevive, así que una tabla no se convierte en un muro de números y un encabezado sigue marcando dónde empieza una sección.
-
Contexto para un agente
Dale al agente el documento como texto sobre el que razonar, con los bloques etiquetados — en vez de pegarle OCR en bruto y confiar en que reconstruya el layout por su cuenta.
-
Buscador y bases de conocimiento
Indexa el documento completo, no los seis campos que a alguien se le ocurrió meter en un esquema. La gente también busca la cláusula, la nota al pie y la línea de detalle.
-
Archivo histórico y migraciones
Mueve décadas de papel escaneado a un sistema que espera texto. Una pasada, una única forma de salida, sin un proyecto aparte por cada tipo de documento.
-
Revisión humana y auditoría
Pon los bloques parseados al lado de la página para que quien revisa vea de dónde salió cada valor, en vez de leer el PDF y el JSON en paralelo comparando a ojo.
-
Tipos de documento que no habías visto
Cuando aparece un formato nuevo, el parsing te da algo utilizable en la primera llamada — antes de que nadie decida qué campos importan o escriba un esquema para él.
Parsing o extracción de campos: ¿qué necesitas?
El sector usa la palabra «parsing» para las dos cosas, así que la gente nos pide una y quiere la otra. La diferencia no está en la calidad ni en el precio: está en si puedes nombrar los campos que quieres antes de haber visto el documento.
Parsing
sin esquemaEl contenido y la estructura del documento, sea el documento que sea.
Un documento. Nada más — ni esquema, ni lista de campos, ni plantilla que dibujar.
El documento completo en Markdown, más cada bloque tipado — título, encabezado, tabla, figura, pie — en orden de lectura y anclado a su página.
La misma forma para cada documento que envías. Un contrato y un albarán vuelven descritos igual.
Todavía no sabes qué vas a necesitar de él: RAG, agentes, búsqueda, migrar un archivo histórico o leer un tipo de documento que nadie ha visto antes.
Decidir qué valores importan. Te entrega el documento entero — elegir es tu trabajo, o el de la extracción.
Extracción de campos
tu esquemaLos campos concretos que nombraste, tipados y validados antes de la entrega.
Un documento y un esquema — los campos que quieres, con sus tipos.
Exactamente esos campos en JSON, con confianza por campo, validación programática y comprobaciones contra base de datos aplicadas antes de llegarte.
Tu esquema, exacto. La forma no se mueve cuando se mueve el layout.
Sabes con precisión qué necesitas y algo aguas abajo lo está esperando: un ERP, un LOS, una nómina, un libro contable.
Devolverte las partes del documento por las que no preguntaste.
La extracción siempre ha ejecutado parsing primero — es el paso uno del mismo pipeline. Lo nuevo no es el parser. Es que ahora puedes tomar su salida directamente, en vez de solo los campos que construimos encima.
Formatos, límites y cuánto cuesta.
La parte que si no tendrías que sacar en una llamada comercial.
- 500 páginas gratis
Empieza sin hablar con nosotros
Sin tarjeta y sin llamada. El plan gratuito corre el mismo pipeline que producción — no es una demo con la precisión recortada.
- 2 formatos de salida
Markdown y JSON tipado
Markdown para todo lo que va a un modelo; bloques tipados cuando necesitas apuntar a una parte concreta del documento por código. Una sola llamada devuelve los dos.
- 0 plantillas
Nada que configurar por layout
Ni zonas que dibujar, ni plantilla por proveedor que mantener viva. Que un proveedor rediseñe su factura no se convierte en un ticket de soporte.
Dos cosas que el parsing deliberadamente no hace: trocear tu texto en chunks y vectorizarlo. El tamaño de chunk es función de tu modelo de embeddings, de tu ventana de contexto y de tu reranker — un parser que los adivina ha tomado una decisión que vas a querer cambiar. Te llevas la estructura con sus costuras intactas; el resto lo manda tu stack de retrieval.
Preguntas que merece la pena hacernos.
¿Aún tienes dudas? Habla con nosotros