El problema de investigación de una agencia rara vez es una sola pregunta difícil. Son las mismas preguntas de siempre, para cada cliente, cada mes, más un panorama nuevo cada vez que el equipo de nuevo negocio pide un deck para el pitch del jueves.
Una API de investigación de mercado para agencias tiene que estar pensada para esa repetición: una sola configuración que recorra toda la cartera, un coste que puedas repartir por cliente y una primera pasada rápida sobre un prospecto que todavía no has ganado. CrawlForge es la capa web para eso. Lee las páginas públicas y los resultados de búsqueda a los que lo apuntes y devuelve lo que dicen. No es una base de datos de tamaño de mercado ni de contactos.
¿Qué necesita el informe mensual del cliente?
Para la mayoría de las agencias, dos cosas por cliente: dónde se posiciona el cliente frente a sus competidores en las búsquedas que importan y qué han cambiado esos competidores en sus propias webs. Las dos son públicas, las dos se mueven cada mes y ninguna está en un dataset que puedas licenciar por fila.
Dos llamadas las cubren:
serp_rank(5 credits) devuelve la posición orgánica de un dominio en Google para una keyword, consultada desde ellocation_name, ellanguage_codey eldeviceque configures para cada cliente. La respuesta incluyefound,rank, laurlque posiciona ychecked_at.scrapecon un formatoquestion(3 credits) devuelve, literalmente, las cinco frases de la página de un competidor que mejor responden a tu pregunta, cada una con su offset. El post para RevOps explica cómo se comporta ese formato; aquí es una fila más de la plantilla.
¿Cómo ejecutas una sola plantilla para todos tus clientes?
Deja todo lo que es específico de cada cliente en los datos, no en el código. Cada cliente es una pequeña configuración: su dominio, su mercado, sus keywords, sus competidores y las preguntas que haces a sus páginas.
{
"client": "Northwind",
"domain": "northwind.co.uk",
"location_name": "United Kingdom",
"device": "mobile",
"keywords": ["office cleaning contracts", "commercial cleaning manchester"],
"competitors": ["rival-a.co.uk", "rival-b.co.uk", "rival-c.co.uk"],
"pages": ["https://rival-a.co.uk/pricing", "https://rival-b.co.uk/services"],
"questions": ["What is the minimum contract length?"]
}Después, un único flujo recorre la cartera. Para cada keyword llama a serp_rank una vez para el cliente y una vez por competidor, porque cada llamada localiza un solo dominio. Para cada página de un competidor ejecuta un scrape por pregunta.
curl -X POST https://crawlforge.dev/api/v1/tools/serp_rank \
-H "X-API-Key: cf_live_NORTHWIND_KEY" \
-H "Content-Type: application/json" \
-d '{
"keyword": "office cleaning contracts",
"target": "northwind.co.uk",
"location_name": "United Kingdom",
"device": "mobile"
}'En n8n, ese bucle es un nodo que lee las configuraciones y alimenta dos nodos HTTP Request (la configuración de n8n está en la documentación); en un script son dos bucles anidados. El cliente número trece es un archivo de configuración nuevo, no un flujo nuevo.
Dale a cada cliente su propia API key con nombre y el registro de peticiones repartirá el gasto del mes por cliente, algo que el post para consultores explica paso a paso. Una cuenta admite diez claves, así que a partir de diez clientes agrúpalos por fee mensual.
¿Cómo investigas a un prospecto antes del pitch?
Empieza con una ejecución de deep_research por 10 credits. Dale la categoría y el mercado del prospecto: busca, lee hasta diez fuentes y devuelve literalmente los pasajes que mejor encajan, con una lista sources de URLs. Después ejecuta serp_rank sobre las tres keywords más obvias del prospecto por 15 credits más.
Son 25 credits por prospecto, menos de diez centavos con los precios de los packs, y te deja una diapositiva de "dónde te posicionas hoy" en el deck. Esa diapositiva suele abrir la conversación, y casi no cuesta nada cuando el pitch se pierde.
¿Cuánto cuesta una cartera cada mes?
Doce clientes, cada uno con cinco keywords, tres competidores, seis páginas de competidores y dos preguntas por página:
| Concepto | Llamadas | Credits |
|---|---|---|
| Posiciones: 5 keywords × 4 dominios × 12 clientes | 240 | 1.200 |
| Páginas de competidores: 6 páginas × 2 preguntas × 12 clientes | 144 | 432 |
| Cuatro prospectos para pitch | 16 | 100 |
| Total mensual | 1.732 |
Eso son unos $5 al mes al precio del pack de pago único de 5.000 credits ($14), sin licencias por usuario y sin mínimo mensual. Las posiciones son la línea cara, porque multiplican keywords por dominios, así que recorta competidores del bucle de posiciones antes de recortar keywords.
¿Qué no hace?
- No dimensiona mercados. Ni TAM, ni paneles, ni encuestas. Si el deck necesita una cifra de tamaño de mercado, sale de un informe.
- No tiene datos de contacto ni firmográficos. Lee páginas y resultados de búsqueda. No es una base de datos de empresas.
- No tiene portal para clientes. No hay dashboard de marca blanca; el informe es lo que tú construyas con las filas.
- Respeta
robots.txtpor defecto en las páginas que extraes. Una página no permitida se rechaza antes de descargarla y no cuesta nada.
Si un cliente quiere enterarse de cuándo cambia la página de un competidor en lugar de leerlo a fin de mes, lo que necesitas es un monitor por cliente, no ejecutar esto más a menudo.
Empieza gratis con 1.