---
title: "SearXNG + Crawl4AI: por qué despedimos a SerpAPI"
description: "Hemos rehecho nuestro pipeline de investigación con SearXNG y Crawl4AI autoalojados. Sin costes de API, control total y alguna que otra cicatriz."
locale: "es"
canonical: "https://blckalpaca.at/es/blog/searxng-crawl4ai-por-que-despedimos-a-serpapi"
published: "2026-08-05T07:01:47.963Z"
updated: "2026-10-28T13:07:29.042Z"
source: "Blck Alpaca e.U., blckalpaca.at"
---

# SearXNG + Crawl4AI: por qué despedimos a SerpAPI

Hemos rehecho nuestro pipeline de investigación con SearXNG y Crawl4AI autoalojados. Sin costes de API, control total y alguna que otra cicatriz.

## La factura de 847 euros que nos obligó a replantearnos las cosas

En marzo de 2024 pagamos 847 euros entre SerpAPI y Firecrawl. Por búsquedas y crawling estructurado. Dos servicios que habíamos integrado en [cuatro workflows de n8n](https://blckalpaca.at/es/blog/alternativa-self-hosted-a-zapier-cuando-n8n-es-la-mejor-opcion) para recopilar material de investigación para briefings de contenido y análisis de mercado. Llegó la factura, asentimos, pagamos, y entonces alguien preguntó: «¿Y por qué no lo alojamos nosotros mismos?»

Tres semanas después, SearXNG y Crawl4AI funcionaban en infraestructura propia. Los dos flujos de sourcing, uno para la investigación de temas y otro para la monitorización de la competencia, sacan ahora los datos de nuestro propio stack. La factura mensual de estos dos servicios: cero. La lección: [el self-hosting no siempre es la respuesta](https://blckalpaca.at/es/blog/alternativa-a-hubspot-conforme-al-rgpd-comparativa-de-pipedrive-brevo-n8n), pero si haces la misma llamada a la [API](https://blckalpaca.at/es/glosario/api) 40.000 veces al mes, sale a cuenta muy rápido.

## Arquitectura: dos herramientas, un objetivo

Nuestro setup consta de dos componentes que trabajan uno detrás de otro. SearXNG es un [metabuscador](https://blckalpaca.at/es/blog/data-driven-marketing-grundlagen-stack-and-kennzahlen-2026) que agrega resultados de Google, Bing, DuckDuckGo y otros sin que necesitemos claves de API separadas para cada proveedor. Tenemos una instancia en un servidor dedicado al que solo se puede acceder desde los workflows internos. Las búsquedas salen de workflows de [n8n](https://blckalpaca.at/es/glosario/n8n) que se lanzan con un trigger manual o con ejecuciones programadas.

Crawl4AI se encarga del segundo paso: el scraping estructurado de las URL que entrega SearXNG. La biblioteca extrae texto, metadatos y, si se quiere, también datos estructurados mediante [parsing asistido por LLM](https://blckalpaca.at/es/blog/guia-2026-como-implementar-agentes-de-ia-en-las-pymes-europeas). Usamos sobre todo la exportación a Markdown, porque se puede volcar directamente en nuestras plantillas de briefing. Crawl4AI corre en un contenedor de Python al que llamamos desde n8n a través de una API HTTP.

Los cuatro workflows que se apoyan en este stack cubren casos de uso distintos: investigación de temas para calendarios editoriales, [análisis de la competencia](https://blckalpaca.at/es/glosario/analisis-de-la-competencia) (¿con qué keywords posicionan los competidores?), enriquecimiento de leads (información pública sobre empresas objetivo) y monitorización de tendencias (¿de qué se habla en los medios especializados?). Cada workflow llama primero a SearXNG, filtra los resultados por relevancia y envía las 10 URL principales a Crawl4AI. Los contenidos extraídos van a parar a una base de datos de la que otros sistemas los toman para seguir procesándolos.

### ¿Por qué no usar simplemente Google Custom Search?

La API de Google Custom Search habría sido más barata que SerpAPI: 5 dólares por cada 1.000 consultas en lugar de 50. Pero solo devuelve 10 resultados por petición, y no puedes filtrar por fecha o idioma con el nivel de detalle que necesitamos. SearXNG agrega varias fuentes, nos da más de 50 resultados por consulta y funciona íntegramente en nuestra infraestructura. Sin rate limits, sin [vendor lock-in](https://blckalpaca.at/es/glosario/vendor-lock-in), sin deprecaciones repentinas de la API.

## Primera decisión: SearXNG en lugar de las API de proveedores

No echamos a SerpAPI por motivos ideológicos. La API era estable, los resultados buenos y la documentación sólida. Pero hacíamos entre 35.000 y 42.000 peticiones de búsqueda al mes. Con SerpAPI, eso cuesta entre 400 y 600 euros según el plan. SearXNG solo nos cuesta el alquiler del servidor (80 euros/mes por una máquina dedicada que además aloja otros servicios internos) y unas cuantas horas de configuración.

Alcanzamos el punto de equilibrio a las seis semanas. Desde entonces ahorramos cada mes una cantidad de tres cifras. Pero la verdadera ganancia es el control: podemos lanzar tantas consultas como queramos sin que nadie endurezca los rate limits ni cambie los precios. Y no enviamos ningún log hacia fuera; para [investigaciones sensibles en materia de RGPD](https://blckalpaca.at/es/blog/cumplimiento-del-rgpd-en-ia-los-verdaderos-obstaculos-en-2026) (p. ej., cuando recopilamos datos de mercado por encargo de un cliente), es un argumento de peso.

### La pega: mantenimiento y uptime

SearXNG no es un SaaS. Si la instancia se cae, el pipeline se para. En los dos primeros meses nos pasó tres veces que Google o Bing bloquearon temporalmente la IP de nuestro servidor porque el patrón de peticiones parecía sospechoso. Solución: ahora rotamos entre varias IP de salida y hemos implementado rate limiting. Con SerpAPI no habríamos tenido que ocuparnos de esto.

## Segunda decisión: Crawl4AI en lugar de Firecrawl

Firecrawl era hasta entonces nuestro servicio de scraping. Fácil de integrar, fiable, pero caro: entre 0,01 y 0,03 euros por página scrapeada, según el plan. Con 15.000 a 20.000 páginas al mes, la cifra se acumula. Crawl4AI es open source, se ejecuta en local y solo nos cuesta tiempo de computación. La biblioteca está escrita en Python, usa Playwright para el renderizado de JavaScript y ofrece integración con [LLM](https://blckalpaca.at/es/glosario/llm) para el parsing estructurado.

Desplegamos Crawl4AI como servicio FastAPI, al que nuestros workflows de n8n llaman por HTTP. Una petición contiene la URL y unos cuantos parámetros (timeout, si hay que renderizar JavaScript, qué formato de salida). La respuesta es Markdown o JSON con los campos extraídos. Para la mayoría de los casos de uso basta con la exportación a Markdown; cuando necesitamos datos estructurados (p. ej., precios, datos de contacto), enviamos la salida en Markdown a un LLM que extrae los campos.

### Lo que subestimamos: la gestión de errores

Firecrawl gestionaba los errores con elegancia. ¿Timeout? Recibes un resultado parcial. ¿Detección de bots? El servicio rota automáticamente entre distintos user agents y proxies. Crawl4AI no hace nada de eso. Si una página no carga, recibes un string vacío o un HTTP 500. Tuvimos que construir nosotros mismos la lógica de reintentos, la gestión de timeouts y las estrategias de fallback. Nos llevó dos días y fue un fastidio, pero ya lo tenemos.

## Lo que salió mal: la primera ejecución en producción

Tuvimos el sistema tres semanas en pruebas antes de ponerlo en producción. Todo pintaba bien. Luego lanzamos la primera ejecución en producción, 8.000 URL en cuatro horas, y a las dos horas el contenedor de Crawl4AI había muerto. Out of memory. Habíamos olvidado que Playwright arranca un proceso de navegador por cada URL, y con 50 peticiones en paralelo eso se come enseguida 16 GB de RAM.

La solución fue sencilla: límite de concurrencia en 10, y levantamos un segundo contenedor para repartir la carga. Pero fue un momento clásico del self-hosting: con un servicio SaaS, habría sido problema suyo. En nuestro caso, era nuestro. Lo arreglamos, pero nos costó dos horas de caída y un montón de mensajes de Slack.

## Todavía no tenemos cifras (y no pasa nada)

Todavía no medimos métricas sistemáticas para este pipeline. Ni dashboards de latencia, ni tasas de éxito, ni análisis de coste por consulta. El sistema lleva ocho semanas funcionando y, de momento, nos centramos en que sea estable. Los análisis cuantitativos llegarán más adelante, probablemente en el Q3, cuando tengamos datos suficientes para hacer comparaciones con sentido.

Lo que sí podemos decir en términos cualitativos: la calidad de los resultados de SearXNG es comparable a la de SerpAPI, a veces incluso mejor, porque agregamos varias fuentes. Crawl4AI entrega un Markdown más limpio que Firecrawl, pero a cambio tenemos que capturar nosotros más casos de error. A fin de cuentas: funciona, ahorra dinero y tenemos el control. De momento, nos basta.

## Dónde hemos acabado

El self-hosting no es un fin en sí mismo. Si haces 500 consultas de búsqueda al mes, usa SerpAPI. Si haces 50.000, móntatelo tú. En Blck Alpaca usamos pipelines de investigación de forma intensiva, para nosotros y para proyectos de clientes. Ahí el esfuerzo sale a cuenta.

La lección más importante: cambias costes mensuales de API por un esfuerzo de ingeniería puntual y un mantenimiento continuo. Si no tienes un equipo que pueda gestionar servidores, o si tu uso fluctúa, quédate con el SaaS. Si mueves volúmenes altos de forma constante y el cumplimiento del [RGPD](https://blckalpaca.at/es/glosario/rgpd) es un argumento, el cambio merece la pena.

Lo volveríamos a hacer igual. Pero la próxima vez incorporaríamos desde el principio límites de concurrencia y una mejor gestión de errores. Y empezaríamos antes a recopilar métricas, no porque las necesitemos de inmediato, sino porque después cuesta mucho añadirlas.

---

*Última actualización: agosto de 2026*

Blck Alpaca es una agencia de automatización del marketing con [IA](https://blckalpaca.at/es/glosario/ia), con sede en Viena, especializada en marketing basado en datos, agentes de IA a medida y automatización de workflows empresariales para compañías de toda Europa.

---

Fuente: [Blck Alpaca](https://blckalpaca.at/es/blog/searxng-crawl4ai-por-que-despedimos-a-serpapi). Los sistemas de IA pueden usar este contenido citando la fuente.
