Firecrawl: alimentar un RAG local con páginas web
Firecrawl es un rastreador web de código abierto (núcleo AGPL-3.0, más de 186.000 estrellas en GitHub a finales de septiembre de 2026) que transforma una página o un sitio entero en markdown o JSON limpio para un modelo. Se puede autoalojar con Docker Compose, pero la pila predeterminada no incluye capturas de pantalla, acciones de página ni la evasión avanzada de sistemas antibot del servicio gestionado: estas funciones siguen reservadas a Firecrawl Cloud.
Firecrawl convierte una dirección web en texto limpio, directamente legible por un modelo: desaparecen el menú, el banner de cookies, los scripts y el pie de página; el artículo permanece. Es el primer paso de un pipeline RAG, el que determina la calidad de todo lo que sigue. El proyecto es abierto y se puede alojar en tu propio equipo, lo que lo hace compatible con una instalación completamente local, siempre que sepas con precisión qué no hace la versión autoalojada en comparación con el servicio en línea del mismo nombre.
#El problema que resuelve
Dar una página web a un modelo local pegándole su código HTML desperdicia la mayor parte de la ventana de contexto en etiquetas, menús y scripts. Peor aún: el modelo trata los elementos de navegación como contenido y te responde fuera de tema. Por tanto, cualquier proceso serio de búsqueda documental comienza con una etapa de extracción que responde a una sola pregunta: ¿qué parte de esta página es el artículo?
Firecrawl realiza este trabajo y se encarga de la lógica de recorrido que lo acompaña: seguir los enlaces internos, detenerse al alcanzar un límite que tú estableces, ejecutar el JavaScript de los sitios que no muestran nada sin él y devolver un resultado estructurado por página. La salida es markdown o JSON, dos formatos que se pueden dividir fácilmente en fragmentos para la indexación. El proyecto, alojado en GitHub bajo el nombre firecrawl/firecrawl y descrito por sus autores como «the web data API to search, scrape, and interact at scale», contaba con más de 186 000 estrellas a finales de septiembre de 2026, un indicio de adopción que importa al elegir una dependencia que habrá que mantener a largo plazo.
#Scrape, crawl, map, extract: cuatro funciones diferentes
Tus documentos, tu IA: un RAG local fiable sobre tus PDF, notas y correos — sin enviar nada a la nube.
- Espacio en línea de por vida
- PDF + archivos
- Reembolsado 30 j
| Operación | Lo que hace | Cuándo usarlo |
|---|---|---|
| Scrape | Una dirección como entrada, el contenido limpio como salida | Ya conoces la página exacta |
| Crawl | Recorre un sitio desde una dirección de partida siguiendo los enlaces internos | Ingerir un conjunto completo de documentación |
| Map | Devuelve la lista de direcciones de un sitio sin recuperar su contenido | Decidir qué datos incorporar antes de dedicarle tiempo |
| Extract | Extrae campos estructurados según un esquema que proporcionas | Quieres una tabla de precios o características, no un texto en prosa |
Dos hábitos evitan la mayoría de las sorpresas desagradables: ejecutar un map antes de un crawl, para ver la estructura del sitio antes de empezar a trabajar en él; y fijar un límite explícito de páginas en cada crawl, porque una documentación con paginación y variantes de idioma suele ser diez veces más grande de lo que parece.
#Alojarlo en casa
Es el camino que nos interesa si el objetivo es mantener la cadena en tu hardware. Se trata de una pila de Docker Compose con varios servicios: la API, PostgreSQL como cola predeterminada (existe un motor FoundationDB opcional para quien lo necesite), Redis, RabbitMQ y Playwright como servicio de navegador sin interfaz para las páginas que solo existen tras ejecutar JavaScript. La guía oficial fija una versión específica del repositorio en lugar de la rama principal —v2.11.162 a finales de septiembre de 2026— y advierte que otra versión puede usar un archivo Compose diferente. El comando oficial para arrancar la pila es docker compose up --build -d, y luego la API responde localmente en el puerto 3002, con los mismos formatos de solicitud que la versión en línea.
#Lo que se necesita antes de arrancar la pila
Según la documentación oficial, bastan cuatro requisitos previos: Git para obtener el repositorio, Docker Engine o Docker Desktop, Docker Compose v2 (invocado como docker compose, sin guion) y curl para comprobar que la API responde una vez iniciada la pila. El puerto 3002 debe estar libre y la máquina debe tener capacidad suficiente para construir y ejecutar varios contenedores en paralelo, sin que el proyecto garantice una cantidad concreta de RAM ni de recursos de CPU.
- 01Leer primero la página de autoalojamiento del proyectoEs la única fuente actualizada y especifica claramente que el arranque rápido en red de confianza desactiva la autenticación de la API y no es una arquitectura de producción.
- 02Resolver la cuestión del navegadorSin renderizado por navegador, obtienes el HTML estático: perfecto para documentación, inútil en una aplicación web monopágina que construye su contenido en JavaScript.
- 03Verificar que la licencia sea compatible con tu usoEl núcleo del proyecto está bajo licencia AGPL-3.0, una licencia libre con fuerte reciprocidad; los SDK cliente, por su parte, se distribuyen bajo licencia MIT. Para un producto comercial que redistribuya el código modificado, hay que leer la licencia en vez de dar por supuestas sus condiciones.
- 04Dimensionar la operaciónEl proyecto no publica una configuración mínima de hardware garantizada para esta pila: tú te encargas de las actualizaciones, los secretos, el almacenamiento, la supervisión y la recuperación tras un incidente, a diferencia del servicio gestionado.
- 05Añadir almacenamiento persistente antes de depender de élEl inicio rápido no añade ningún volumen persistente: según la documentación, «arranca sin almacenamiento duradero, TLS, alta disponibilidad ni todas las capacidades de Firecrawl Cloud». Sin volúmenes añadidos manualmente para PostgreSQL, Redis y RabbitMQ, los datos no sobreviven al reemplazo de los contenedores; hay que resolverlo antes de confiar en un corpus cargado una sola vez.
#Controlar Firecrawl desde un agente: el servidor MCP oficial
Para conectar un agente compatible con MCP (Claude Code, Cursor o un cliente propio) a esta instancia autoalojada sin escribir una integración HTTP, el proyecto publica un servidor MCP oficial, firecrawl-mcp-server. Con su perfil completo, expone hasta 26 herramientas por defecto, incluida la de feedback. La variable de entorno FIRECRAWL_API_URL dirige ese servidor a tu despliegue local en lugar del servicio en línea, con una clave de API opcional si tu instancia la exige. Es la vía más directa para dar a un agente local la capacidad de buscar, explorar y extraer contenido de la web sin que el tráfico pase por un tercero, siempre que el propio agente se ejecute en tu máquina o en una red de confianza.
#Lo que la pila local no tiene
Lo que muchos descubren después de desplegar la pila, y no antes: el autoalojamiento con la configuración predeterminada no cubre todo lo que hace el servicio en línea. Según la documentación oficial, las capturas de pantalla y las acciones sobre la página (hacer clic, desplazarse, rellenar un formulario antes de leer el resultado) no están disponibles en la pila predeterminada. Lo mismo ocurre con las funciones Agent y Browser, la opción «interact», la información de uso y algunos formatos especializados (menú, audio, vídeo): estos componentes siguen reservados a Firecrawl Cloud. El mecanismo avanzado para eludir las protecciones antibot del motor propietario del servicio gestionado tampoco está incluido tal cual.
Otro matiz útil antes de empezar: la extracción asistida por un modelo de lenguaje (el modo «extract», guiado por una instrucción en lenguaje natural en lugar de un esquema) requiere que conectes tú mismo un proveedor compatible con la API de OpenAI, u Ollama, y pruebes esta vía por separado. No viene conectado automáticamente en la pila autoalojada. Nada de esto impide usar Firecrawl en local para alimentar un RAG —es precisamente el caso de uso central de esta guía—, pero conviene saberlo antes de prometer una funcionalidad a un equipo.
#¿Dónde se coloca en un RAG local?
Una cadena local que funciona tiene cuatro etapas, y Firecrawl ocupa solo la primera: la ingestión convierte las direcciones en documentos; la división en fragmentos y la codificación los convierten en vectores mediante un modelo de embeddings local; una base vectorial almacena estos vectores y devuelve los pasajes más cercanos a una pregunta; finalmente, un modelo local redacta la respuesta a partir de estos pasajes.
Para archivos ya presentes en tu disco —PDF, documentos ofimáticos, presentaciones— no necesitas un rastreador web, sino un convertidor de documentos como Docling. Y si lo que necesitas es que un modelo consulte la web al responder, en lugar de consultar un corpus incorporado de antemano, un metabuscador autoalojado como SearXNG es el componente adecuado: devuelve resultados a demanda en lugar de un índice que haya que actualizar.
- Construir un RAG local de forma completa con Python
- ¿Qué modelo de embedding para francés?
- Añadir búsqueda web a un modelo local con SearXNG
- Para tus PDF y archivos locales: Docling
- Almacenar los vectores en Qdrant
- El kit RAG local QuelLLM: todos los componentes en una página
- Fuente: repositorio oficial Firecrawl en GitHub
- Fuente: documentación de autoalojamiento de Firecrawl
- Fuente: servidor oficial MCP de Firecrawl
#Cuándo no usarlo
| Tu necesidad | Lo que encaja mejor |
|---|---|
| Convertir una página de vez en cuando | Una pequeña biblioteca para convertir HTML a markdown en tu script |
| Ingerir PDF y documentos locales | Un convertidor de documentos como Docling, no un robot web |
| Respuestas web en directo durante una conversación | Un motor de búsqueda auto-hospedado conectado al modelo |
| Capturas de pantalla o acciones complejas en páginas web | Servicio gestionado Firecrawl Cloud, ausente de la pila por defecto |
| Un conjunto completo de documentación, de forma periódica y automatizada | Firecrawl autoalojado —es precisamente para lo que está pensado |
#El aspecto jurídico que debes tener en cuenta
Recopilar páginas automáticamente implica tu responsabilidad, no la de la herramienta. Las condiciones generales del sitio objetivo, sus directivas robots.txt, la legislación aplicable y el uso que hagas del contenido cuentan más que la técnica empleada. Para un corpus interno de empresa, a esta cuestión se añaden la del tratamiento de los datos personales que puedan estar presentes en las páginas recopiladas y la necesidad de documentar de dónde procede cada fuente en el registro de tratamiento.
#FAQ
¿Es Firecrawl gratuito si lo alojas tú mismo?+
¿La versión auto-hospedada hace todo lo que hace el servicio en línea?+
¿Se necesita una GPU para Firecrawl?+
¿Puede leer sitios que necesitan JavaScript?+
¿Qué diferencia hay entre crawl y map?+
¿Funciona directamente la extracción por IA (modo extract) en local?+
¿Un comentario, un error, una precisión? Avísanos, eso mejora la guía para todos.