ScavioScavio
ProductoPreciosDocumentación
Iniciar sesionComenzar
  1. Inicio
  2. Tutoriales
  3. Cómo extraer directorios B2B con n8n y una API de búsqueda
Tutorial

Cómo extraer directorios B2B con n8n y una API de búsqueda

Cree un flujo de trabajo n8n que extraiga datos de la empresa de directorios B2B a través de la API de búsqueda. No se necesita automatización del navegador. Tutorial paso a paso.

Obtener clave API gratisDocumentacion API

Los directorios B2B como Clutch, G2 y listados específicos de la industria son fuentes ricas de datos de la empresa para las ventas salientes. En lugar de crear raspadores de navegador frágiles que se rompen cuando cambia el diseño de los directorios, puede buscar listados de directorios a través de una API de búsqueda y extraer datos estructurados de los fragmentos de SERP. Este enfoque es más rápido, más barato y más fácil de mantener. Este tutorial crea una canalización n8n que consulta directorios, extrae información de la empresa y genera una lista de clientes potenciales limpia. Cada búsqueda cuesta $0.005 a través de Scavio.

Requisitos previos

  • Instancia n8n en ejecución (autohospedada o en la nube)
  • Una clave API de Scavio de scavio.dev
  • Industria o nicho objetivo para prospectar
  • Google Sheets o CRM para resultados

Guia paso a paso

Paso 1: Definir consultas de búsqueda de directorio

Cree consultas de búsqueda dirigidas a listados de directorios B2B. El patrón es: sitio:directorio.com + nicho + ubicación. Esto recupera sólo páginas de directorio, no sitios web aleatorios.

JavaScript
// n8n Code node to generate targeted queries:
const directories = [
  { name: 'clutch', query: 'site:clutch.co' },
  { name: 'g2', query: 'site:g2.com' },
  { name: 'goodfirms', query: 'site:goodfirms.co' }
];
const niches = ['marketing agency', 'web development company', 'IT consulting'];

const queries = [];
for (const dir of directories) {
  for (const niche of niches) {
    queries.push({
      json: {
        directory: dir.name,
        searchQuery: `${dir.query} ${niche}`,
        niche
      }
    });
  }
}
return queries; // 9 targeted directory queries

Paso 2: Ejecutar consultas de búsqueda mediante solicitud HTTP

Para cada consulta, llame a la API de Scavio para obtener resultados del listado del directorio. Los resultados orgánicos contienen nombres de empresas, descripciones y calificaciones en los fragmentos.

JSON
// n8n HTTP Request node:
// Method: POST
// URL: https://api.scavio.dev/api/v1/search
// Headers: x-api-key: {{ $env.SCAVIO_API_KEY }}
// Body:
{
  "query": "{{ $json.searchQuery }}",
  "country_code": "us"
}

Paso 3: Analizar datos de la empresa a partir de los resultados SERP

Extraiga nombres de empresas, URL y descripciones de los resultados orgánicos. Las páginas del directorio tienen formatos de títulos predecibles que se pueden analizar.

JavaScript
// n8n Code node to parse directory listings:
const data = $input.first().json;
const companies = (data.organic_results || []).map(r => {
  // Clutch titles: "Company Name - Reviews, Cost & More"
  // G2 titles: "Company Name Reviews 2026"
  const name = r.title.split(' - ')[0].split(' Reviews')[0].trim();
  return {
    name,
    url: r.link,
    description: r.snippet || '',
    directory: $('Code').first().json.directory,
    niche: $('Code').first().json.niche
  };
}).filter(c => c.name.length > 2 && c.name.length < 100);

return companies.map(c => ({ json: c }));

Paso 4: Deduplicar y enriquecer con la búsqueda en sitios web

Elimine empresas duplicadas en los directorios y, opcionalmente, enriquezca con una búsqueda directa de cada empresa para encontrar su sitio web real y su información de contacto.

JavaScript
// Dedup in a Code node:
const seen = new Set();
const unique = [];
for (const item of $input.all()) {
  const key = item.json.name.toLowerCase();
  if (!seen.has(key)) {
    seen.add(key);
    unique.push(item);
  }
}
return unique;

// Then enrich each with a second search:
// HTTP Request node:
// Body:
{
  "query": "{{ $json.name }} company website contact",
  "country_code": "us"
}

Paso 5: Exportar a Google Sheets con seguimiento de costos

Escriba los clientes potenciales limpios en una hoja de Google. Agregue una columna de costo para saber exactamente cuánto costó la ejecución de extracción.

JavaScript
// Final Code node before Google Sheets:
const leads = $input.all().map((item, i) => ({
  json: {
    ...item.json,
    extractedAt: new Date().toISOString(),
    estimatedCost: ((i + 1) * 0.005).toFixed(3)
  }
}));

const totalCost = (leads.length * 0.005).toFixed(2);
console.log(`Extracted ${leads.length} leads, cost: $${totalCost}`);
return leads;

// Google Sheets node: Append to "B2B Leads" sheet
// Total cost: 9 directory queries + ~50 enrichment queries = ~$0.30

Ejemplo en Python

Python
import os, requests, time

API_KEY = os.environ['SCAVIO_API_KEY']

def search(query: str) -> dict:
    resp = requests.post('https://api.scavio.dev/api/v1/search',
        headers={'x-api-key': API_KEY, 'Content-Type': 'application/json'},
        json={'query': query, 'country_code': 'us'})
    return resp.json()

def scrape_directory(directory_site: str, niche: str) -> list:
    data = search(f'site:{directory_site} {niche}')
    companies = []
    for r in data.get('organic_results', []):
        name = r['title'].split(' - ')[0].split(' Reviews')[0].strip()
        companies.append({'name': name, 'url': r['link'],
                         'snippet': r.get('snippet', ''), 'directory': directory_site})
    return companies

def main():
    directories = ['clutch.co', 'g2.com', 'goodfirms.co']
    all_leads = []
    seen = set()
    for d in directories:
        companies = scrape_directory(d, 'marketing agency')
        for c in companies:
            if c['name'].lower() not in seen:
                seen.add(c['name'].lower())
                all_leads.append(c)
        time.sleep(0.3)
    print(f'Found {len(all_leads)} unique companies')
    for lead in all_leads[:5]:
        print(f'  {lead["name"]} ({lead["directory"]})')

if __name__ == '__main__':
    main()

Ejemplo en JavaScript

JavaScript
const API_KEY = process.env.SCAVIO_API_KEY;

async function search(query) {
  const resp = await fetch('https://api.scavio.dev/api/v1/search', {
    method: 'POST',
    headers: { 'x-api-key': API_KEY, 'Content-Type': 'application/json' },
    body: JSON.stringify({ query, country_code: 'us' })
  });
  return resp.json();
}

async function main() {
  const directories = ['clutch.co', 'g2.com', 'goodfirms.co'];
  const seen = new Set();
  const leads = [];
  for (const dir of directories) {
    const data = await search(`site:${dir} marketing agency`);
    for (const r of data.organic_results || []) {
      const name = r.title.split(' - ')[0].split(' Reviews')[0].trim();
      if (!seen.has(name.toLowerCase())) {
        seen.add(name.toLowerCase());
        leads.push({ name, url: r.link, directory: dir });
      }
    }
  }
  console.log(`Found ${leads.length} unique companies`);
  leads.slice(0, 5).forEach(l => console.log(`  ${l.name} (${l.directory})`));
}

main().catch(console.error);

Salida esperada

JSON
Found 27 unique companies across 3 directories
  WebFX (clutch.co)
  Ignite Digital (clutch.co)
  SmartSites (g2.com)
  Thrive Internet Marketing (goodfirms.co)
  Disruptive Advertising (g2.com)

Cost: 3 directory queries = $0.015
With enrichment: ~$0.15 total

Tutoriales relacionados

  • Cómo crear un canal de extracción de correo electrónico de Google Maps n8n
  • Cómo crear puntuación de clientes potenciales n8n con datos de la API de búsqueda
  • Cómo enriquecer clientes potenciales con una API de búsqueda en Python

Preguntas frecuentes

La mayoria de los desarrolladores completan este tutorial en 15 a 30 minutos. Necesitaras una clave API de Scavio (el plan gratuito funciona) y un entorno de Python o JavaScript.

Instancia n8n en ejecución (autohospedada o en la nube). Una clave API de Scavio de scavio.dev. Industria o nicho objetivo para prospectar. Google Sheets o CRM para resultados. Una clave API de Scavio te da 50 creditos gratuitos al registrarte.

Si. El plan gratuito incluye 50 creditos al registrarte, mas que suficiente para completar este tutorial y crear un prototipo funcional.

Scavio tiene un paquete nativo de LangChain (langchain-scavio), un servidor MCP y una API REST simple que funciona con cualquier cliente HTTP. Este tutorial usa the raw REST API, pero puedes adaptarlo al framework que prefieras.

Recursos relacionados

Best Of

La mejor API de búsqueda para flujos de trabajo n8n en 2026

Read more
Best Of

Las mejores integraciones de API de búsqueda n8n en 2026

Read more
Comparison

Web Scraping in n8n (HTTP Request + HTML Extract) vs Search API in n8n (HTTP Request to search API)

Read more
Use Case

Flujo de trabajo de enriquecimiento de búsqueda n8n

Read more
Glossary

Panorama de proveedores de API de búsqueda (2026)

Read more
Comparison

Firecrawl vs Scavio

Read more

Empieza a construir

Cree un flujo de trabajo n8n que extraiga datos de la empresa de directorios B2B a través de la API de búsqueda. No se necesita automatización del navegador. Tutorial paso a paso.

Obtener clave API gratuitaLeer la documentacion
ScavioScavio

API de busqueda en tiempo real para agentes de IA. Busca en todas las plataformas, no solo en Google.

Producto

  • Funciones
  • Precios
  • Panel
  • Afiliados

Desarrolladores

  • Documentacion
  • Referencia de API
  • Inicio rapido
  • Integracion MCP
  • Python SDK

Alternativas

  • Alternativa a Tavily
  • Alternativa a SerpAPI
  • Alternativa a Firecrawl
  • Alternativa a Exa

Herramientas

  • Formateador JSON
  • cURL a codigo
  • Contador de tokens
  • Todas las herramientas

© 2026 Scavio. Todos los derechos reservados.

Featured on TAAFT
Terminos de servicioPolitica de privacidad