B2B Prospect Engine
Toma un dominio de empresa y devuelve un registro enriquecido de la empresa con contactos coincidentes, correos electrónicos laborales verificados y clasificación de roles para cada uno.
Documentación
Servidor MCP de Prospect Engine
Servidor MCP para el actor Prospect Engine de Mamba Labs en Apify.
Cuatro modos en un solo actor: enriquece empresas que ya tienes, descubre quién está contratando para tus palabras clave, encuentra contactos en una empresa, o ejecuta toda la cadena de principio a fin con un filtro de ICP en el medio.
Instalación
npx -y @mambalabsdev/mcp-b2b-prospect-engine
Claude Desktop
{
"mcpServers": {
"mamba-b2b-prospect-engine": {
"command": "npx",
"args": ["-y", "@mambalabsdev/mcp-b2b-prospect-engine"],
"env": { "APIFY_TOKEN": "your-apify-token" }
}
}
}
Obtén un token de Apify en console.apify.com/account/integrations.
Herramienta
run_prospect_engine
Cuatro modos en un solo actor: enriquece empresas que ya tienes, descubre quién está contratando para tus palabras clave, encuentra contactos en una empresa, o ejecuta toda la cadena de principio a fin con un filtro de ICP en el medio.
| Entrada | Tipo | Obligatorio | Notas |
|---|---|---|---|
mode | enum | no | Qué ejecutar. enrich_companies resuelve identidad, firmografía, LinkedIn y redes sociales para cada empresa. discover_jobs encuentra quién está contratando para tus palabras clave y resuelve el empleador real a partir de la descripción del puesto. find_contacts encuentra personas en cada empresa. full encadena los tres. Predeterminado: "enrich_companies". Uno de: enrich_companies, discover_jobs, find_contacts, full. |
domains | array | no | Un dominio por línea. Usado por enrich_companies y find_contacts. |
company_names | array | no | Un nombre por línea. Usado cuando tienes un nombre pero no un dominio. |
keywords | array | no | Roles a buscar. Usado por discover_jobs y full. Ejemplo: editor de copia, corrector de pruebas, editor de contenido. Predeterminado: ["editor de copia", "corrector de pruebas", "editor de contenido"]. |
country | string | no | Código de país de dos letras para la búsqueda de empleo, por ejemplo us o gb. Predeterminado: "us". |
location | string | no | Filtro de ubicación opcional para la búsqueda de empleo, por ejemplo Nueva York. |
lookback_days | string | no | Descarta publicaciones más antiguas que este número de días. Se envía como cadena porque Clay envía cada campo como cadena. Predeterminado: "30". |
max_results | string | no | Límite de publicaciones devueltas por ejecución. Evita que un conjunto amplio de palabras clave se descontrole. Predeterminado: "25". |
max_pages | string | no | 1 a 5. Cada página es una llamada a SerpAPI, así que este es el principal control de costo en el descubrimiento. Predeterminado: "1". |
new_postings_only | string | no | true para devolver solo publicaciones no vistas en una ejecución anterior. Predeterminado: "false". |
previous_run_date | string | no | Marca de agua AAAA-MM-DD para la detección de cambios cuando la caché entre ejecuciones no está disponible. |
remote_only | string | no | true para conservar solo publicaciones marcadas como remotas por el tablón. Predeterminado: "false". |
company_size_min | string | no | Descarta empresas por debajo de este número de empleados. Solo tiene efecto una vez que se conoce el número de empleados, por lo que se aplica en modo full y a cualquier fila de descubrimiento que haya llevado un recuento de empleados. El descubrimiento solo no enriquece. |
company_size_max | string | no | Descarta empresas por encima de este número de empleados. Misma condición que el mínimo. |
exclude_staffing | string | no | true para descartar publicaciones de agencias de personal y reclutamiento. Predeterminado: "true". |
exclude_marketplaces | string | no | true para descartar listados de Upwork, Fiverr, Freelancer y similares. Predeterminado: "true". |
extra_marketplaces | array | no | Nombres de mercados adicionales a filtrar. |
fetch_posting_page | string | no | true para abrir la publicación de empleo cuando la descripción por sí sola no identifica al empleador. Más lento, y es lo que captura una publicación de tablón de empleo en nombre de un empleador. Predeterminado: "true". |
target_contacts | string | no | 1 a 25. Predeterminado: "3". |
target_roles | array | no | Solo enriquece contactos cuyo título coincida plausiblemente con uno de estos roles. Filtra después del descubrimiento y antes de cualquier búsqueda de correo de pago, así que un contacto que no coincide no cuesta nada. Déjalo vacío para conservar cada contacto que permitan los filtros de antigüedad y departamento. |
deny_tokens | array | no | Palabras completas que descalifican a un contacto incluso cuando el título coincidió con un rol objetivo, por ejemplo product rechaza Product Owner y conserva Production Editor. Se aplica incluso cuando no se establecen roles objetivo. |
company_concurrency | string | no | Cuántas empresas trabajar a la vez. Las llamadas simultáneas al proveedor son este valor por contact_concurrency; 6 x 3 = 18 está por debajo del techo documentado más estricto del proveedor. Predeterminado: "6". |
contact_concurrency | string | no | Cuántos contactos enriquecer a la vez dentro de una empresa. La cascada de correos en sí siempre se ejecuta en orden. Predeterminado: "3". |
max_spend_usd | string | no | Deja de hacer llamadas de pago a proveedores una vez que este monto de tu propio gasto de proveedor (Findymail, Icypeas, Prospeo, BounceBan) está comprometido, y devuelve todo lo completado hasta ahora. Limita tus facturas de proveedor, no el cargo de Apify por este actor. Déjalo vacío para no tener límite. |
job_titles | array | no | Títulos a buscar al encontrar contactos. |
seniority | array | no | c_level, vp, director, manager, senior. |
departments | array | no | marketing, sales, engineering, product, finance, hr, operations, legal. |
include_email | string | no | true para ejecutar la cascada de correos. Necesita una clave de Icypeas o Prospeo, que tú proporcionas y por la que se te factura directamente. Predeterminado: "false". |
verify_email | string | no | true para verificar cada dirección. Necesita una clave de BounceBan. Predeterminado: "true". |
verify_position | string | no | true para preguntar a un modelo si el título registrado de cada contacto es consistente y plausiblemente actual, solo a partir de la evidencia proporcionada. Necesita claude_api_key; se omite sin ella. Los contactos encontrados en el propio sitio web de la empresa se omiten. Predeterminado: "true". |
personalize | string | no | true para escribir una frase de apertura de una o dos oraciones por contacto que tenga una dirección, haciendo referencia a algo específico de la empresa. Necesita claude_api_key; se omite sin ella. Predeterminado: "true". |
brand_voice | string | no | Cómo debe sonar la apertura. Déjalo vacío y escribirá de forma clara y directa. |
score_icp | string | no | true para puntuar cada fila contra las reglas de ICP y clasificarla de A a D. Predeterminado: "true". |
icp_preset | enum | no | Qué modelo de puntuación aplicar. "editorial_services" puntúa para un vendedor de edición de copia y corrección de pruebas gestionadas. "generic_b2b" puntúa según intención de contratación, resolubilidad del empleador y número de empleados sin vocabulario específico del servicio. Predeterminado: "editorial_services". Uno de: editorial_services, generic_b2b. |
min_icp_score | string | no | En modo full, solo las empresas que puntúan en o por encima de este valor pasan al descubrimiento de contactos. Predeterminado 45: en 25 el filtro dejó pasar cada publicación editorial descubierta por palabras clave, porque 25 es el mínimo que tal publicación puede puntuar. Predeterminado: "45". |
extra_exclude_names | array | no | Cualquier empresa cuyo nombre contenga uno de estos se excluye. |
signal_taxonomy | array | no | Sobrescribe los tipos de señal predeterminados. Cada entrada es un objeto con type, strength, title_keywords, y opcionalmente also_keywords y description_keywords. |
include_social | string | no | true para resolver Facebook, Instagram, X y YouTube junto con LinkedIn. Predeterminado: "true". |
source_timeout_secs | string | no | 5 a 120. Una fuente que supere esto se marca como degradada y la ejecución continúa. Predeterminado: "30". |
skip_cache | string | no | true para ignorar la caché de 7 días entre ejecuciones y recalcular todo. Predeterminado: "false". |
serper_api_key | string | no | Tu clave de Serper.dev. Impulsa la búsqueda de personas en find_contacts, que es la capa de mayor cobertura. Sin ella, el respaldo gratuito es notablemente deficiente. |
findymail_api_key | string | no | Tu clave de Findymail. Primer proveedor en la cascada de correos. |
icypeas_api_key | string | no | Tu clave de Icypeas. Se ejecuta en fallos de Findymail. |
prospeo_api_key | string | no | Tu clave de Prospeo. Se ejecuta en el residual después de Findymail e Icypeas. |
bounceban_api_key | string | no | Tu clave de BounceBan. Segundo verificador, usado para el caso de catch-all. |
serpapi_key | string | no | Tu clave de SerpApi. Requerida por discover_jobs y full. Distinta de una clave de Serper: proveedor diferente. |
claude_api_key | string | no | Tu propia clave de Anthropic, usada para la verificación de posición y la apertura personalizada. Ambos pasos se omiten cuando está ausente. Nunca se almacena. |
Facturación
Se te cobra por empresa enriquecida, por contacto verificado y por publicación de empleo descubierta, a tarifas diferentes para enriquecimiento básico y completo. Las llamadas API de proveedores te las facturan esos proveedores directamente. Establece max_spend_usd para limitar ese gasto de proveedor por ejecución, y target_roles para omitir búsquedas de pago para contactos fuera de los roles que deseas. verify_position y personalize se ejecutan con tu propia clave de Anthropic (claude_api_key) y se omiten sin ella.
Los precios están en la página del actor en Apify. Ejecutar este servidor consume créditos de Apify.
Qué hace y qué no hace este servidor
Es un cliente ligero para el actor de Apify. Pasa tu entrada y devuelve la salida del actor sin cambios. Cada comportamiento descrito arriba vive en el actor, no aquí.
Los errores se muestran, nunca se ocultan. Una entrada inválida, un token inválido, un saldo agotado, un tiempo de espera agotado, o una ejecución que devuelve algo distinto a un conjunto de datos, todo vuelve como un error explícito de herramienta en lugar de un resultado vacío.
La herramienta inicia la ejecución del actor y la consulta hasta un estado finalizado, así que una ejecución larga no se corta a los 300 segundos. A la ejecución se le permiten 1.800 segundos. Si aún continúa dos minutos después de eso, la llamada deja de esperar y devuelve el ID de ejecución con un enlace a ella en la Consola de Apify, donde los resultados llegan cuando termina. Una ejecución que no tiene éxito vuelve como un error con su ID de ejecución y estado. Una ejecución de full o find_contacts sobre muchas empresas puede tomar varios minutos, que es por lo que esto importa aquí.
Fuente
El actor está en la Tienda de Apify. Este envoltorio tiene licencia MIT.
Construido por Mamba Labs