CrawlForge MCP
Herramienta avanzadaDocumentos2 credits

process_document

Indíquele la URL de un documento y recibirá JSON estructurado. Los PDF devuelven texto, metadatos incrustados, número de páginas y tablas con líneas; los CSV vuelven como filas; el texto plano y el HTML devuelven su texto. El tipo se detecta a partir de las cabeceras de respuesta, la URL y los propios bytes mágicos del archivo, así que no necesita conocerlo de antemano.

Casos de uso

Ingesta de informes

Convierta los PDF trimestrales en texto y tablas que pueda comparar, indexar o cargar en un almacén de datos.

RAG sobre documentos

Extraiga el texto de artículos y manuales para dividirlo en fragmentos, con el título y el autor ya separados.

Recolección de tablas

Extraiga las tablas con líneas de un PDF como arrays de filas, indicando de qué página procede cada una.

Vigilancia de documentos oficiales

Vigile las publicaciones en PDF de un regulador y analice cada nueva en cuanto aparezca.

Endpoints CSV

Lea un CSV publicado en una URL como texto sin procesar y como filas analizadas, sin descargarlo usted mismo.

Auditorías de metadatos

Recopile el título, el autor, el productor y las fechas incrustados en un conjunto de documentos para encontrar archivos obsoletos o mal etiquetados.

Endpoint

POST/api/v1/tools/process_document
Auth Required
1 req/s en el plan Free
2 credits

Parameters

NameTypeRequiredDefaultDescription
url
stringRequired-
El documento que se descargará. Debe ser una URL http o https absoluta y válida.
Example: https://example.com/reports/q3-infrastructure.pdf
document_type
stringOptionalauto
`auto`, `pdf`, `csv`, `txt`, `docx` o `xlsx`. `auto` decide a partir de la cabecera `Content-Type`, la extensión de la URL y los bytes mágicos del archivo. `docx` y `xlsx` pasan la validación pero devuelven 501 en este endpoint.
Example: auto
extract_text
booleanOptionaltrue
Devuelve el texto del documento en `text`, junto con `text_length`. Limitado a 200.000 caracteres y, en los PDF, a las primeras 200 páginas; una nota lo indica cuando se alcanza cualquiera de los dos límites.
Example: true
extract_metadata
booleanOptionaltrue
Devuelve las propiedades incrustadas del documento. Los PDF aportan título, autor, asunto, creador, productor y ambas fechas; el HTML aporta título, descripción y autor; los CSV y TXT no llevan ninguna.
Example: true
extract_tables
booleanOptionalfalse
Devuelve las tablas con líneas como arrays de filas. Los PDF aportan hasta 20 tablas de 1.000 filas cada una; un CSV vuelve como una única tabla; las páginas HTML reciben una nota que explica que aquí no se extraen tablas.
Example: true
extract_images
booleanOptionalfalse
No está disponible en la API REST alojada. Activarlo devuelve `images: null` y una nota que remite al servidor MCP de CrawlForge, en lugar de fingir que no encontró ninguna.
Example: false
timeout
numberOptional30000
Tiempo de espera de la descarga en milisegundos, de 1000 a 60000. El endpoint se ejecuta dentro de una función de 30 segundos, así que la descarga se limita a 20.000 ms sea cual sea el valor que envíe.
Example: 30000
respect_robots
booleanOptionaltrue
Respeta el robots.txt del sitio de destino. Con el valor `true`, una ruta que robots.txt no permita a `CrawlForge` se rechaza con un 403 antes de descargar nada y no se cobran credits. Póngalo en `false` solo para destinos con los que tenga su propio acuerdo: la respuesta incluye entonces una entrada `warnings` y la anulación queda registrada en su API key.
Example: true

Límites que conviene conocer

Todos ellos se anuncian en notes en lugar de fallar en silencio.

25MB por documento
Se comprueba primero con Content-Length y después con los bytes realmente recibidos, así que una cabecera mentirosa no cuela.
200 páginas de texto
El texto y las tablas se leen de las primeras 200 páginas. page_count sigue informando de la extensión real del documento.
200.000 caracteres
El texto más largo se trunca en ese punto, con una nota que lo indica.
Las líneas verticales definen las columnas
Las tablas con solo líneas horizontales —la convención de los artículos académicos— conservan sus filas pero informan de una única columna, y lo indican en notes.

Ejemplos de solicitud

terminalBash
curl -X POST https://crawlforge.dev/api/v1/tools/process_document \
  -H "X-API-Key: cf_test_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://example.com/reports/q3-infrastructure.pdf",
    "extract_tables": true
  }'

Ejemplo de respuesta

200 OK4,210ms
{
"success": true,
"data": {
"url": "https://example.com/reports/q3-infrastructure.pdf",
"document_type": "pdf",
"content_type": "application/pdf",
"file_size": 1842665,
"processed_at": "2026-08-27T02:27:50.833Z",
"page_count": 14,
"text": "Q3 Infrastructure Review\n\nRequest volume grew 38% quarter over quarter while p95 latency held flat...",
"text_length": 101,
"metadata": {
"title": "Q3 Infrastructure Review",
"author": "Dana Reyes",
"subject": "Quarterly capacity planning",
"creator": "LaTeX with hyperref",
"producer": "pdfTeX-1.40.25",
"creation_date": "D:20260812141055Z",
"modification_date": "D:20260814093012Z"
},
"tables": [
{
"page": 4,
"rows": 3,
"columns": 3,
"data": [
[
"Region",
"Requests",
"p95 ms"
],
[
"us-east",
"18,204,551",
"412"
],
[
"eu-west",
"9,118,340",
"458"
]
]
}
]
},
"credits_used": 2,
"credits_remaining": 998,
"processing_time": 4210
}
Field Descriptions
data.document_typeEl tipo que determinó la detección, que puede diferir del que solicitó
data.content_typeLa cabecera `Content-Type` que envió el servidor, tal cual: a menudo es incorrecta, y por eso también se comprueban los bytes mágicos
data.file_sizeBytes realmente recibidos
data.page_countPáginas del documento. Solo en PDF, y se informa del total aunque solo se hayan leído las primeras 200
data.text_lengthCaracteres de `text` tras cualquier truncamiento, no la extensión completa del documento
data.metadata.creation_dateLas fechas de PDF se devuelven exactamente como están incrustadas, con la forma `D:AAAAMMDDHHmmSS`. Analícelas usted mismo
data.tables[].pageLa página en la que se encontró la tabla, para poder rastrear el resultado hasta el original
data.tables[].columnsSe deriva de las líneas verticales dibujadas en el PDF. Un valor de 1 significa que la tabla no estaba dividida en columnas por líneas
credits_used2 credits fijos por documento, sea cual sea su número de páginas

Manejo de errores

URL no válida (400 Bad Request)

VALIDATION_ERROR. url es obligatorio y debe analizarse como una URL absoluta. El mismo estado cubre un timeout fuera de 1000-60000, un document_type desconocido y una URL que resuelve a una dirección privada o local.

docx o xlsx (501 Not Implemented)

UNSUPPORTED_DOCUMENT_TYPE. Los formatos de Office no se analizan en la API REST alojada. El servidor MCP de CrawlForge (npm: crawlforge-mcp-server) sí los procesa con la misma API key.

Documento demasiado grande (413 Payload Too Large)

DOCUMENT_TOO_LARGE. Supera el límite de 25MB. Se comprueba antes de la descarga y de nuevo después, así que un Content-Length inexacto también se detecta.

Documento inalcanzable (502 Bad Gateway)

DOCUMENT_FETCH_ERROR cuando la URL devolvió un estado distinto de 2xx —el mensaje lo incluye— o FETCH_FAILED cuando falló la propia conexión.

El destino agotó el tiempo de espera (504 Gateway Timeout)

FETCH_TIMEOUT. El documento no llegó dentro del presupuesto de descarga.

El procesamiento falló (500 Internal Server Error)

TOOL_ERROR. Un PDF corrupto o cifrado acaba aquí. Una llamada fallida no se cobra.

Bloqueado por robots.txt (403 Forbidden)

El robots.txt del sitio de destino no permite esta ruta a CrawlForge. Establezca respect_robots: false para anularlo si tiene su propio acuerdo con el destino: la anulación queda registrada en su API key. La anulación no alcanza a un host incluido en la lista de exclusión permanente de CrawlForge, que se rechaza sea cual sea el valor de respect_robots.

Nota: Un PDF escaneado es una imagen de texto, así que se analiza correctamente y no devuelve casi nada: page_count parecerá correcto mientras text_length está cerca de cero. Este endpoint no hace OCR; compruebe text_length antes de fiarse del resultado.

Costo en credits

2 credits
2 credits por documento
Tarifa plana: un PDF de 200 páginas cuesta lo mismo que uno de una página, y activar tablas o metadatos no cuesta nada adicional. Las llamadas fallidas no se cobran.

Qué incluye:

Detección de tipo a partir de cabeceras, URL y bytes mágicos

Texto de PDF hasta 200 páginas y 200.000 caracteres

Metadatos incrustados del PDF, incluidas ambas marcas de tiempo

Hasta 20 tablas con líneas, junto con su número de página

Análisis de CSV y extracción de texto plano y HTML

Recomendaciones por plan:

Plan Free: 1,000 credits de prueba por única vez = 500 documentos

Plan Hobby: 5,000 credits = 2,500 documentos ($19/mo)

Plan Professional: 50,000 credits = 25,000 documentos ($99/mo)

Herramientas relacionadas

extract_content
Para artículos HTML en lugar de documentos (2 credits)
search_web
Encuentre PDF que procesar con un filtro file_type (5 credits)
summarize_content
Resuma después el texto extraído (4 credits)
batch_scrape
Recopile muchas URL a la vez, solo HTML (5 credits por URL)
¿Listo para probar process_document? Regístrese gratis y obtenga 1,000 credits para empezar a crear.

Pie de página

CrawlForge MCP

Web scraping empresarial para agentes de IA. 29 herramientas MCP especializadas diseñadas para desarrolladores modernos que crean sistemas inteligentes.

Producto

  • Funciones
  • Playground
  • Precios
  • Casos de uso
  • Integraciones
  • Alternativas
  • Registro de cambios

Recursos

  • Primeros pasos
  • Referencia de la API
  • Plantillas
  • Guías
  • Blog
  • Glosario
  • Preguntas frecuentes
  • Mapa del sitio

Desarrolladores

  • Protocolo MCP
  • Claude Desktop
  • Cursor IDE
  • LangChain
  • LlamaIndex

Empresa

  • Acerca de
  • Contacto
  • Privacidad
  • Términos
  • Uso aceptable
  • Cookies

Mantente al día

Recibe las últimas novedades sobre nuevas herramientas y funciones.

Creado con Next.js y el protocolo MCP

© 2025-2026 CrawlForge. Todos los derechos reservados.