AutomationFlowsWeb Scraping › Google Maps Lead Generator V1

Google Maps Lead Generator V1

Google Maps Lead Generator v1. Uses @apify/n8n-nodes-apify, formTrigger, httpRequest, googleSheets. Event-driven trigger; 15 nodes.

Event trigger★★★★☆ complexity15 nodes@Apify/N8N Nodes ApifyForm TriggerHTTP RequestGoogle Sheets
Web Scraping Trigger: Event Nodes: 15 Complexity: ★★★★☆ Added:

This workflow follows the Apifyn8N Nodes Apify → Google Sheets recipe pattern — see all workflows that pair these two integrations.

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": "Google Maps Lead Generator v1",
  "nodes": [
    {
      "parameters": {
        "actorId": {
          "__rl": true,
          "value": "nwua9Gu5YrADL7ZDj",
          "mode": "list",
          "cachedResultName": "Google Maps Scraper (compass/crawler-google-places)",
          "cachedResultUrl": "https://console.apify.com/actors/nwua9Gu5YrADL7ZDj/input"
        },
        "customBody": "=\n{\n    \"searchStringsArray\": [\n        \"{{ $json.Keywords }}\"\n    ],\n    \"locationQuery\": \"{{ $json.Location }}\",\n    \"maxCrawledPlacesPerSearch\": {{ $json.Limit }},\n    \"language\": \"fr\",\n    \"scrapeContacts\": true,\n    \"countryCode\": \"fr\"\n}",
        "memory": 2048
      },
      "type": "@apify/n8n-nodes-apify.apify",
      "typeVersion": 1,
      "position": [
        -864,
        -160
      ],
      "id": "ab1196c1-5fb8-4ad6-b915-dc708ce7dc19",
      "name": "Run an Actor",
      "credentials": {
        "apifyApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "formTitle": "Hunter",
        "formDescription": "Acquisition clients via Google Maps",
        "formFields": {
          "values": [
            {
              "fieldLabel": "Keywords",
              "defaultValue": "cabinets comptables",
              "requiredField": true
            },
            {
              "fieldLabel": "Location",
              "placeholder": "City, Country",
              "requiredField": true
            },
            {
              "fieldLabel": "Limit",
              "fieldType": "number",
              "defaultValue": "20",
              "requiredField": true
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.formTrigger",
      "typeVersion": 2.6,
      "position": [
        -1088,
        -160
      ],
      "id": "2055bd08-fa63-4e95-b524-bdc1c9a03c0d",
      "name": "search leads"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "ce050388-8206-41bd-b475-652294729f48",
              "leftValue": "={{ $json.status }}",
              "rightValue": "=SUCCEEDED",
              "operator": {
                "type": "string",
                "operation": "equals"
              }
            },
            {
              "id": "ea4aa003-08df-4275-9c8e-6c05fc6198e0",
              "leftValue": "={{ $json.defaultDatasetId }}",
              "rightValue": "",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.if",
      "typeVersion": 2.3,
      "position": [
        -640,
        -160
      ],
      "id": "9fd95cf6-26c2-4676-9267-aad174f011c9",
      "name": "succeeded ?"
    },
    {
      "parameters": {
        "url": "=https://api.apify.com/v2/datasets/{{ $json.defaultDatasetId }}/items?format=json",
        "authentication": "predefinedCredentialType",
        "nodeCredentialType": "apifyApi",
        "options": {}
      },
      "type": "n8n-nodes-base.httpRequest",
      "typeVersion": 4.4,
      "position": [
        -416,
        -160
      ],
      "id": "558049c8-b841-414d-9254-0438d2e9c312",
      "name": "get leads",
      "credentials": {
        "apifyApi": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "with email",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "title": "={{ $json.title }}",
            "website": "={{ $json.website }}",
            "phone": "={{ $json.phone }}",
            "email": "={{ $json.email }}",
            "city": "={{ $json.city }}",
            "searchString": "={{ $json.searchString }}",
            "subject": "={{ $json.subject }}",
            "j0": "={{ $json.j0 }}",
            "j3": "={{ $json.j3 }}",
            "j7": "={{ $json.j7 }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "title",
              "displayName": "title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "website",
              "displayName": "website",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "phone",
              "displayName": "phone",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "email",
              "displayName": "email",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "city",
              "displayName": "city",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "searchString",
              "displayName": "searchString",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "subject",
              "displayName": "subject",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j0",
              "displayName": "j0",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j3",
              "displayName": "j3",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j7",
              "displayName": "j7",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j0_date",
              "displayName": "j0_date",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "j3_date",
              "displayName": "j3_date",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "j7_date",
              "displayName": "j7_date",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "sending_log",
              "displayName": "sending_log",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "status",
              "displayName": "status",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            },
            {
              "id": "messageId",
              "displayName": "messageId",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": true
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        1376,
        -256
      ],
      "id": "1872ae16-d913-40da-ba22-76891f07f5a0",
      "name": "save leads",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "assignments": {
          "assignments": [
            {
              "id": "3d098a65-67c2-4a96-8b7d-68ab080e19ad",
              "name": "title",
              "value": "={{ $json.title }}",
              "type": "string"
            },
            {
              "id": "6e66443f-1435-493c-8c00-29986a30f088",
              "name": "website",
              "value": "={{ $json.website }}",
              "type": "string"
            },
            {
              "id": "937ad18a-ada5-4b4e-8d18-f97395d21aa2",
              "name": "phone",
              "value": "={{ $json.phoneUnformatted }}",
              "type": "string"
            },
            {
              "id": "60bff893-843c-43db-84fe-c01393874255",
              "name": "emails",
              "value": "={{ $json.emails }}",
              "type": "array"
            },
            {
              "id": "dc446dc1-990c-47be-9718-d33f1f5ca76e",
              "name": "city",
              "value": "={{ $json.city }}",
              "type": "string"
            },
            {
              "id": "348c0fd6-c7aa-4e4c-8e4a-913e9b4c093d",
              "name": "searchString",
              "value": "={{ $json.searchString }}",
              "type": "string"
            }
          ]
        },
        "options": {}
      },
      "type": "n8n-nodes-base.set",
      "typeVersion": 3.4,
      "position": [
        -192,
        -160
      ],
      "id": "dec33d1e-7b69-4b0c-9cc3-0b510e8a3b03",
      "name": "Edit Fields"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "45b8d648-bf64-4055-95d2-e88eed43cc13",
              "leftValue": "={{ $json.email }}",
              "rightValue": 0,
              "operator": {
                "type": "string",
                "operation": "notExists",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.3,
      "position": [
        1152,
        -64
      ],
      "id": "11c52cb2-36d9-406d-8e32-4d7998935b59",
      "name": "leads without email"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": "gid=0",
          "mode": "list",
          "cachedResultName": "with email",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=0"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        256,
        -256
      ],
      "id": "0fa87630-bcdd-48bb-8527-57b348b46ee8",
      "name": "leads with email",
      "executeOnce": true,
      "retryOnFail": true,
      "alwaysOutputData": true,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const leadsWithEmail = new Set($input.all().map(lead => lead.json.email));\nconst leadsWithoutEmail = new Set($input.all().map(lead => lead.json.website));\n\nconst newLeads = $(\"choose best email address\").all();\nconst loggableLeads = newLeads.filter(lead => lead.json.email ? !leadsWithEmail.has(lead.json.email) : !leadsWithoutEmail.has(lead.json.website))\n  \nreturn loggableLeads;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        704,
        -160
      ],
      "id": "76e32716-3378-43d0-bdab-772e7479aa6e",
      "name": "skip duplication"
    },
    {
      "parameters": {},
      "type": "n8n-nodes-base.merge",
      "typeVersion": 3.2,
      "position": [
        480,
        -160
      ],
      "id": "1803a8c4-ec63-4677-baed-a4c506767c79",
      "name": "merge"
    },
    {
      "parameters": {
        "conditions": {
          "options": {
            "caseSensitive": true,
            "leftValue": "",
            "typeValidation": "strict",
            "version": 3
          },
          "conditions": [
            {
              "id": "45b8d648-bf64-4055-95d2-e88eed43cc13",
              "leftValue": "={{ $json.email }}",
              "rightValue": 0,
              "operator": {
                "type": "string",
                "operation": "exists",
                "singleValue": true
              }
            }
          ],
          "combinator": "and"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.filter",
      "typeVersion": 2.3,
      "position": [
        1152,
        -256
      ],
      "id": "e9672532-0e0b-44fb-8258-06b8d33c2a11",
      "name": "leads with email_"
    },
    {
      "parameters": {
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": 1136827919,
          "mode": "list",
          "cachedResultName": "without email",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=1136827919"
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        256,
        -64
      ],
      "id": "e299aff4-d52d-432f-898f-2981466af25a",
      "name": "leads without email_",
      "executeOnce": true,
      "retryOnFail": true,
      "alwaysOutputData": true,
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    },
    {
      "parameters": {
        "jsCode": "const leads = [];\nconst roleBased = /^(info|contact|hello|support|admin|no-?reply|secretariat)@/i;\n\nfor (const lead of $input.all()) {\n  lead.json.email = lead.json.emails.find(e => !roleBased.test(e) || lead.json.emails[0]);\n  delete lead.json.emails;\n  leads.push(lead);\n}\n\nreturn leads;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        32,
        -160
      ],
      "id": "35c8572a-88cc-4cce-996f-194a8a762d5f",
      "name": "choose best email address"
    },
    {
      "parameters": {
        "jsCode": "let leads = [];\nfunction buildMessage(title, city){\n  const j0 = `Bonjour,\\n\\nJe suis tomb\u00e9 sur ${title} en regardant du c\u00f4t\u00e9 des cabinets comptables de ${city}.\\nJe m'appelle Eyitola, je construis des automatisations pour des ind\u00e9pendants et PME.\\n\\nUne question rapide : entre les clients qui oublient d'envoyer leurs pi\u00e8ces avant la cl\u00f4ture, les factures qui arrivent par mail/courrier/WhatsApp un peu partout, et les \u00e9ch\u00e9ances fiscales qu'on rate parce que personne n'y pense \u00e0 temps, laquelle vous fait perdre le plus de temps actuellement ?\\n\\nEyitola`;\n\n  const j3 = `Bonjour,\\n\\nJe fais court, je sais que les emails s'accumulent vite.\\n\\nSi un des points que je mentionnais (pi\u00e8ces, factures, \u00e9ch\u00e9ances) vous parle particuli\u00e8rement, dites-le-moi et je vous explique concr\u00e8tement comment je m'y prendrais pour ${title}.\\nEt si ce n'est pas le bon moment, dites-le-moi aussi, on garde le contact.\\n\\nEyitola`;\n\n  \n  const j7 = `Bonjour,\\n\\nDernier message de ma part, pour clore proprement.\\n\\nSi l'un des points \u00e9voqu\u00e9s (pi\u00e8ces, factures, \u00e9ch\u00e9ances) reste un vrai sujet pour ${title}, dites-le-moi simplement, ou parlez-moi d'un autre point qui vous prend du temps en ce moment. Je reste disponible.\\nSinon, aucun souci, je ne reviens pas l\u00e0-dessus.\\n\\nEyitola`\n  return {j0, j3, j7};\n}\n\n\n\nfor (const lead of $input.all()) {\n  if (lead.json.title) {\n  lead.json.subject = `3 automatisations pour ${lead.json.title}`;\n    ({j0: lead.json.j0, j3: lead.json.j3, j7: lead.json.j7} = buildMessage(lead.json.title, lead.json.city))\n    leads.push(lead);\n  }\n}\n\nreturn leads;"
      },
      "type": "n8n-nodes-base.code",
      "typeVersion": 2,
      "position": [
        928,
        -160
      ],
      "id": "f0c826a8-c5f8-403a-9e7a-28c3ce06af65",
      "name": "messages setter"
    },
    {
      "parameters": {
        "operation": "append",
        "documentId": {
          "__rl": true,
          "value": "YOUR_GOOGLE_SHEET_ID",
          "mode": "id"
        },
        "sheetName": {
          "__rl": true,
          "value": 1136827919,
          "mode": "list",
          "cachedResultName": "without email",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/YOUR_GOOGLE_SHEET_ID/edit#gid=1136827919"
        },
        "columns": {
          "mappingMode": "defineBelow",
          "value": {
            "title": "={{ $json.title }}",
            "website": "={{ $json.website }}",
            "phone": "={{ $json.phone }}",
            "city": "={{ $json.city }}",
            "searchString": "={{ $json.searchString }}",
            "subject": "={{ $json.subject }}",
            "j0": "={{ $json.j0 }}",
            "j3": "={{ $json.j3 }}",
            "j7": "={{ $json.j7 }}"
          },
          "matchingColumns": [],
          "schema": [
            {
              "id": "title",
              "displayName": "title",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "website",
              "displayName": "website",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "phone",
              "displayName": "phone",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "city",
              "displayName": "city",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "searchString",
              "displayName": "searchString",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "subject",
              "displayName": "subject",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j0",
              "displayName": "j0",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j3",
              "displayName": "j3",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            },
            {
              "id": "j7",
              "displayName": "j7",
              "required": false,
              "defaultMatch": false,
              "display": true,
              "type": "string",
              "canBeUsedToMatch": true,
              "removed": false
            }
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {}
      },
      "type": "n8n-nodes-base.googleSheets",
      "typeVersion": 4.7,
      "position": [
        1376,
        -64
      ],
      "id": "182b6937-4364-4424-9ab5-c2e098c74023",
      "name": "saving",
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      }
    }
  ],
  "connections": {
    "Run an Actor": {
      "main": [
        [
          {
            "node": "succeeded ?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "search leads": {
      "main": [
        [
          {
            "node": "Run an Actor",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "succeeded ?": {
      "main": [
        [
          {
            "node": "get leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "get leads": {
      "main": [
        [
          {
            "node": "Edit Fields",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Edit Fields": {
      "main": [
        [
          {
            "node": "choose best email address",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "leads without email": {
      "main": [
        [
          {
            "node": "saving",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "leads with email": {
      "main": [
        [
          {
            "node": "merge",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "skip duplication": {
      "main": [
        [
          {
            "node": "messages setter",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "merge": {
      "main": [
        [
          {
            "node": "skip duplication",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "leads with email_": {
      "main": [
        [
          {
            "node": "save leads",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "leads without email_": {
      "main": [
        [
          {
            "node": "merge",
            "type": "main",
            "index": 1
          }
        ]
      ]
    },
    "choose best email address": {
      "main": [
        [
          {
            "node": "leads with email",
            "type": "main",
            "index": 0
          },
          {
            "node": "leads without email_",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "messages setter": {
      "main": [
        [
          {
            "node": "leads without email",
            "type": "main",
            "index": 0
          },
          {
            "node": "leads with email_",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  },
  "active": false,
  "settings": {
    "executionOrder": "v1",
    "binaryMode": "separate"
  },
  "versionId": "8c134a72-7646-4569-9d54-c35306f16ae1",
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodeGroups": [],
  "id": "CY0faQPQv9ZYq7Op",
  "tags": []
}

Credentials you'll need

Each integration node will prompt for credentials when you import. We strip credential IDs before publishing — you'll add your own.

Pro

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

About this workflow

Google Maps Lead Generator v1. Uses @apify/n8n-nodes-apify, formTrigger, httpRequest, googleSheets. Event-driven trigger; 15 nodes.

Source: https://github.com/tolproductlab/google-maps-lead-generator/blob/main/Google_Maps_Lead_Generator_v1.json — 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

[VICTOR] Google Maps Extractor. Uses formTrigger, outputParserStructured, lmChatOpenAi, httpRequest. Event-driven trigger; 21 nodes.

Form Trigger, Output Parser Structured, OpenAI Chat +5
Web Scraping

Automate LinkedIn lead generation by scraping comments from targeted posts and enriching profiles with detailed data

Form Trigger, HTTP Request, Google Sheets
Web Scraping

This n8n workflow collects leads from Google Maps, scrapes their websites via direct HTTP requests, and extracts valid email addresses — all while mimicking real user behavior to improve scraping reli

Form Trigger, @Apify/N8N Nodes Apify, HTTP Request +1
Web Scraping

This n8n template demonstrates how to automatically clone and adapt competitor Facebook ads for your own product using AI. Simply provide a Facebook Ad Library URL and your product image, and the work

Form Trigger, HTTP Request, Google Drive +1
Web Scraping

Automatically scrapes Google My Business listings using Apify's Google Maps Scraper, filters results to businesses with 1-star reviews, and exports structured lead data into a dedicated Google Sheet t

Form Trigger, HTTP Request, Google Sheets +1