AutomationFlowsWeb Scraping › Prospecção Ativa - Financial Services & Mídia Latam

Prospecção Ativa - Financial Services & Mídia Latam

Prospecção Ativa - Financial Services & Mídia LATAM. Uses httpRequest. Scheduled trigger; 15 nodes.

Cron / scheduled trigger★★★★☆ complexity15 nodesHTTP Request
Web Scraping Trigger: Cron / scheduled Nodes: 15 Complexity: ★★★★☆ Added:

The workflow JSON

Copy or download the full n8n JSON below. Paste it into a new n8n workflow, add your credentials, activate. Full import guide →

Download .json
{
  "name": "Prospec\u00e7\u00e3o Ativa - Financial Services & M\u00eddia LATAM",
  "nodes": [
    {
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "type": "n8n-nodes-base.scheduleTrigger",
      "typeVersion": 1.2,
      "position": [
        -1600,
        0
      ],
      "id": "trigger-001",
      "name": "Manual Trigger"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.apollo.io/v1/mixed_companies/search",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            },
            {
              "name": "X-Api-Key",
              "value": "SUA_APOLLO_API_KEY"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"page\": 1,\n  \"per_page\": 100,\n  \"organization_industry_tag_ids\": [],\n  \"organization_locations\": [\n    \"Brazil\",\n    \"Mexico\",\n    \"Colombia\",\n    \"Argentina\",\n    \"Chile\",\n    \"Peru\",\n    \"Ecuador\",\n    \"Venezuela\",\n    \"Bolivia\",\n    \"Paraguay\",\n    \"Uruguay\"\n  ],\n  \"q_organization_keyword_tags\": [\n    \"financial services\",\n    \"fintech\",\n    \"banking\",\n    \"media\",\n    \"journalism\",\n    \"broadcasting\"\n  ],\n  \"organization_num_employees_ranges\": [\n    \"50,500\"\n  ]\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        -1360,
        0
      ],
      "id": "apollo-001",
      "name": "Apollo - Buscar Empresas"
    },
    {
      "parameters": {
        "fieldToSplitOut": "organizations",
        "options": {}
      },
      "type": "n8n-nodes-base.splitOut",
      "typeVersion": 1,
      "position": [
        -1120,
        0
      ],
      "id": "split-001",
      "name": "Split Empresas"
    },
    {
      "parameters": {
        "options": {}
      },
      "type": "n8n-nodes-base.splitInBatches",
      "typeVersion": 3,
      "position": [
        -880,
        0
      ],
      "id": "loop-001",
      "name": "Loop Over Empresas"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.tavily.com/search",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"api_key\": \"SUA_TAVILY_API_KEY\",\n  \"query\": \"{{ $json.name }} merger acquisition acquired M&A Latin America\",\n  \"search_depth\": \"basic\",\n  \"max_results\": 3\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        -640,
        -160
      ],
      "id": "tavily-ma",
      "name": "Tavily - Check M&A"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.tavily.com/search",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"api_key\": \"SUA_TAVILY_API_KEY\",\n  \"query\": \"{{ $('Loop Over Empresas').item.json.name }} scandal fraud corruption lawsuit investigation\",\n  \"search_depth\": \"basic\",\n  \"max_results\": 3\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        -640,
        0
      ],
      "id": "tavily-scandal",
      "name": "Tavily - Check Esc\u00e2ndalos"
    },
    {
      "parameters": {
        "method": "POST",
        "url": "https://api.tavily.com/search",
        "sendHeaders": true,
        "headerParameters": {
          "parameters": [
            {
              "name": "Content-Type",
              "value": "application/json"
            }
          ]
        },
        "sendBody": true,
        "specifyBody": "json",
        "jsonBody": "={\n  \"api_key\": \"SUA_TAVILY_API_KEY\",\n  \"query\": \"{{ $('Loop Over Empresas').item.json.name }} number of employees total staff headcount\",\n  \"search_depth\": \"basic\",\n  \"max_results\": 3\n}",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.3,
      "position": [
        -640,
        160
      ],
      "id": "tavily-employees",
      "name": "Tavily - N\u00famero Exato Funcion\u00e1rios"
    },
    {
      "parameters": {
        "jsCode": "const company = $('Loop Over Empresas').item.json;\nconst maResults = $('Tavily - Check M&A').item.json;\nconst scandalResults = $('Tavily - Check Esc\u00e2ndalos').item.json;\nconst employeeResults = $('Tavily - N\u00famero Exato Funcion\u00e1rios').item.json;\n\n// --- CHECK M&A ---\nconst maKeywords = ['acquired', 'merger', 'acquisition', 'adquirida', 'fus\u00e3o', 'aquisi\u00e7\u00e3o', 'comprada por'];\nconst maText = JSON.stringify(maResults).toLowerCase();\nconst hasMa = maKeywords.some(k => maText.includes(k));\nconst maStatus = hasMa ? 'Sim - Verificar' : 'N\u00e3o Identificado';\n\n// --- CHECK ESC\u00c2NDALOS ---\nconst scandalKeywords = ['fraud', 'corruption', 'scandal', 'lawsuit', 'investigation', 'fraude', 'corrup\u00e7\u00e3o', 'esc\u00e2ndalo', 'processo', 'investiga\u00e7\u00e3o', 'san\u00e7\u00e3o'];\nconst scandalText = JSON.stringify(scandalResults).toLowerCase();\nconst hasScandal = scandalKeywords.some(k => scandalText.includes(k));\nconst scandalStatus = hasScandal ? 'Sim - Verificar' : 'N\u00e3o Identificado';\n\n// --- N\u00daMERO EXATO DE FUNCION\u00c1RIOS ---\nconst empText = JSON.stringify(employeeResults);\nconst empMatch = empText.match(/(\\d{2,6})\\s*(employees|funcion\u00e1rios|staff|colaboradores)/i);\nconst exactEmployees = empMatch ? empMatch[1] : (company.estimated_num_employees || company.num_employees || 'N\u00e3o encontrado');\n\n// --- FILTROS ---\nconst numEmp = parseInt(exactEmployees) || parseInt(company.estimated_num_employees) || 0;\nconst passesEmployeeFilter = numEmp >= 50;\nconst passesMaFilter = !hasMa;\nconst passesScandalFilter = !hasScandal;\n\nif (!passesEmployeeFilter || !passesMaFilter || !passesScandalFilter) {\n  return [];\n}\n\n// --- MONTAR LINHA FINAL ---\nreturn [{\n  json: {\n    'Nome da Empresa': company.name || '',\n    'Setor': company.industry || '',\n    'Pa\u00eds': company.hq_location_country || company.country || '',\n    'Cidade': company.hq_location_city || company.city || '',\n    'Website': company.website_url || company.primary_domain || '',\n    'N\u00famero de Funcion\u00e1rios': exactEmployees,\n    'S\u00f3cios / C-Levels': (company.organization_job_postings || []).length > 0 ? 'Ver LinkedIn' : 'N\u00e3o encontrado',\n    'Receita Estimada': company.annual_revenue_printed || 'N\u00e3o encontrado',\n    'Status M&A': maStatus,\n    'Esc\u00e2ndalos': scandalStatus,\n    'Data': new Date().toISOString().split('T')[0]\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        -320,
        0
      ],
      "id": "filter-001",
      "name": "Filtros + Montar Linha"
    },
    {
      "parameters": {
        "jsCode": "const items = $input.all();\n\nif (items.length === 0) {\n  return [{ json: { message: 'Nenhuma empresa passou pelos filtros.' } }];\n}\n\n// Cabe\u00e7alhos\nconst headers = [\n  'Nome da Empresa',\n  'Setor',\n  'Pa\u00eds',\n  'Cidade',\n  'Website',\n  'N\u00famero de Funcion\u00e1rios',\n  'S\u00f3cios / C-Levels',\n  'Receita Estimada',\n  'Status M&A',\n  'Esc\u00e2ndalos',\n  'Data'\n];\n\n// Montar CSV\nconst rows = items.map(item => {\n  return headers.map(h => {\n    const val = item.json[h] || '';\n    return `\"${String(val).replace(/\"/g, '\"\"')}\"`;\n  }).join(',');\n});\n\nconst csv = [headers.join(','), ...rows].join('\\n');\n\nreturn [{\n  json: {},\n  binary: {\n    data: {\n      data: Buffer.from(csv).toString('base64'),\n      mimeType: 'text/csv',\n      fileName: `prospeccao_latam_${new Date().toISOString().split('T')[0]}.csv`,\n      fileExtension: 'csv'\n    }\n  }\n}];"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        160,
        0
      ],
      "id": "excel-001",
      "name": "Gerar CSV/Excel"
    },
    {
      "parameters": {
        "respondWith": "binary",
        "options": {
          "responseHeaders": {
            "entries": [
              {
                "name": "Content-Disposition",
                "value": "=attachment; filename=\"prospeccao_latam_{{ $now.format('yyyy-MM-dd') }}.csv\""
              },
              {
                "name": "Content-Type",
                "value": "text/csv"
              }
            ]
          }
        }
      },
      "type": "n8n-nodes-base.respondToWebhook",
      "typeVersion": 1.4,
      "position": [
        400,
        0
      ],
      "id": "respond-001",
      "name": "Download Excel"
    },
    {
      "parameters": {
        "content": "## 1. TRIGGER\nClique em Execute para rodar o workflow manualmente.",
        "height": 200,
        "width": 240,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1640,
        -160
      ],
      "id": "note-001",
      "name": "Nota 1"
    },
    {
      "parameters": {
        "content": "## 2. APOLLO\nBusca 100 empresas de Financial Services e M\u00eddia na Am\u00e9rica Latina com 50-500 funcion\u00e1rios.\n\n\u26a0\ufe0f Troque SUA_APOLLO_API_KEY pela sua chave.",
        "height": 240,
        "width": 280,
        "color": 4
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -1400,
        -200
      ],
      "id": "note-002",
      "name": "Nota 2"
    },
    {
      "parameters": {
        "content": "## 3. CHECKS via TAVILY\n- M&A: verifica se foi adquirida ou fez aquisi\u00e7\u00f5es\n- Esc\u00e2ndalos: fraude, corrup\u00e7\u00e3o, processos\n- Funcion\u00e1rios: tenta buscar n\u00famero exato\n\n\u26a0\ufe0f Troque SUA_TAVILY_API_KEY pela sua chave.",
        "height": 300,
        "width": 280,
        "color": 7
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -880,
        -320
      ],
      "id": "note-003",
      "name": "Nota 3"
    },
    {
      "parameters": {
        "content": "## 4. FILTROS\nEmpresas que N\u00c3O passam s\u00e3o descartadas:\n- Passou por M&A \u2192 fora\n- Tem esc\u00e2ndalo \u2192 fora\n- Menos de 50 funcion\u00e1rios \u2192 fora",
        "height": 240,
        "width": 260,
        "color": 6
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        -360,
        -240
      ],
      "id": "note-004",
      "name": "Nota 4"
    },
    {
      "parameters": {
        "content": "## 5. OUTPUT\nGera arquivo CSV compat\u00edvel com Excel e disponibiliza para download.",
        "height": 200,
        "width": 240,
        "color": 3
      },
      "type": "n8n-nodes-base.stickyNote",
      "typeVersion": 1,
      "position": [
        120,
        -200
      ],
      "id": "note-005",
      "name": "Nota 5"
    }
  ],
  "connections": {
    "Manual Trigger": {
      "main": [
        [
          {
            "node": "Apollo - Buscar Empresas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Apollo - Buscar Empresas": {
      "main": [
        [
          {
            "node": "Split Empresas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Split Empresas": {
      "main": [
        [
          {
            "node": "Loop Over Empresas",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Loop Over Empresas": {
      "main": [
        [],
        [
          {
            "node": "Tavily - Check M&A",
            "type": "main",
            "index": 0
          },
          {
            "node": "Tavily - Check Esc\u00e2ndalos",
            "type": "main",
            "index": 0
          },
          {
            "node": "Tavily - N\u00famero Exato Funcion\u00e1rios",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tavily - Check M&A": {
      "main": [
        [
          {
            "node": "Filtros + Montar Linha",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Tavily - Check Esc\u00e2ndalos": {
      "main": [
        [
          {
            "node": "Filtros + Montar Linha",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "Tavily - N\u00famero Exato Funcion\u00e1rios": {
      "main": [
        [
          {
            "node": "Filtros + Montar Linha",
            "type": "main",
            "index": 2
          }
        ]
      ]
    },
    "Filtros + Montar Linha": {
      "main": [
        [
          {
            "node": "Gerar CSV/Excel",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Gerar CSV/Excel": {
      "main": [
        [
          {
            "node": "Download Excel",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1"
  },
  "meta": {
    "templateCredsSetupCompleted": false
  },
  "tags": []
}
Pro

For the full experience including quality scoring and batch install features for each workflow upgrade to Pro

About this workflow

Prospecção Ativa - Financial Services & Mídia LATAM. Uses httpRequest. Scheduled trigger; 15 nodes.

Source: https://gist.github.com/joaozmarchiori-rgb/c42a0c2609bb7d0dc29e5c7d837dcdcd — original creator credit. Request a take-down →

More Web Scraping workflows → · Browse all categories →

Related workflows

Workflows that share integrations, category, or trigger type with this one. All free to copy and import.

Web Scraping

This template runs two scheduled workflows to govern Microsoft Entra ID (Azure AD) guest accounts by detecting stale users via Microsoft Graph, staging deletions in SharePoint with a 72-hour window, n

Microsoft SharePoint, Microsoft Teams, Microsoft Entra +1
Web Scraping

Spotify-Sync-Surrealdb-V1. Uses httpRequest, n8n-nodes-surrealdb, spotify. Scheduled trigger; 62 nodes.

HTTP Request, N8N Nodes Surrealdb, Spotify
Web Scraping

As n8n instances scale, teams often lose track of sub-workflows—who uses them, where they are referenced, and whether they can be safely updated. This leads to inefficiencies like unnecessary copies o

HTTP Request, n8n, N8N Trigger +1
Web Scraping

This workflow is an improvement of this workflow by Greg Brzezinka.

HTTP Request, Email Send, XML +1
Web Scraping

N8N-Workflow-Github-Manager. Uses github, httpRequest, n8n. Scheduled trigger; 38 nodes.

GitHub, HTTP Request, n8n