Mindket

Google 地图商家线索,从各家网站读出邮箱

新上架第 1 版 · 更新于

概览

一个 n8n 工作流,把一次 Google 地图搜索变成一张带邮箱的本地商家表。表单接收关键词、地点和数量。Apify 收集商家,gpt-4o-mini 从每家网站读出邮箱,Anymail Finder 补上缺的。

Google 地图商家线索,从各家网站读出邮箱 是一款 n8n 工作流,属于营销类,由 Mindket 上架。可免费获取。当前为第 1 版,最近更新于 。在本页下载,或复制它的 JSON,再导入 n8n 画布。在 n8n 里启用之前,它不会运行。

速览

用在
  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Google Sheets:每家商家一行,可以直接筛选和排序
  • 邮件工具或 CRM:在最后一个表格节点后面加一个节点,把线索转过去

平台

连接 5 个应用

运行方式

触发

线索表单

有人提交 Google Maps Leads 表单时开始运行,表单里有:

  • 一个关键词,比如商家的类型
  • 一个地点
  • Max results 里填最多收集多少家

动作

  1. Apify 的 Google Maps Actor 返回匹配的商家,带地址、网站和电话
  2. 每个网站都经 Jina 读成纯文本,由 gpt-4o-mini 从中挑出最合适的联系邮箱
  3. 商家和它的邮箱存进 Google Sheets,按名称对应到行
  4. 没找到邮箱时,Anymail Finder 搜索网站的域名,再更新这一行

结果

一张本地商家表,凡是网站或 Anymail Finder 能提供邮箱的,都附上联系邮箱

集成

开始之前要准备好这些。

Apify

商家抓取

按你的关键词和地点运行 Compass 的 Google Maps Scraper,返回每家商家的地址、网站和电话。

需要Apify API 令牌,以及够用的抓取额度

Jina AI

网页读取

通过它的 Reader 地址把每家商家的网站转成纯文本,交给模型去读。

需要文件里不用密钥。有 Jina 密钥可以提高速率上限

OpenAI

语言模型

运行 gpt-4o-mini,从网站文本里挑出最合适的联系邮箱,找不到就回答 Null。

需要OpenAI API 密钥

Anymail Finder

邮箱查找

网站上没有邮箱时,按商家的域名查找邮箱,交回给表格。

需要Anymail Finder API 密钥,以及够用的查询额度

Google Sheets

线索表格

按名称把每家商家的信息和邮箱存成一行,Anymail Finder 找到邮箱时再更新它。

需要一个用来登录的 Google 账号,以及一张有七个表头的表格

工作流检查

由 Mindket 于 2026年11月13日检查

步骤
10 个步骤,由表单启动
AI
1 个步骤调用 AI 模型:Message a model
登录
需要登录:Google Sheets、Anymailfinder、Apify
API 密钥
文件里没有留下 API 密钥;有 2 处留空,需填入你自己的密钥
步骤类型
Mindket 的检查器能读懂它全部 7 种步骤类型

以上内容读自工作流文件,并非实际运行的结果。

关于

它是什么

这个 n8n 工作流把一次 Google 地图搜索变成一张本地商家表,每家都附上联系邮箱。表单接收一个关键词、一个地点和你想要的结果数量。一个 Apify Actor 负责收集商家。随后工作流通过 Jina 访问每家的网站,让 gpt-4o-mini 从页面里挑出最合适的联系邮箱。页面上没有的话,就改由 Anymail Finder 搜索网站的域名。每家商家连同地址、电话和链接存进 Google Sheets。十个节点在一个循环里运行。

适合谁

向本地商家推销的自由职业者、代理公司和小型销售团队,比如面向牙医、餐馆或水管工,需要一个能写信的地址,而不只是电话号码。如果有电话号码就够了,就别选它。大部分费用和时间都花在找邮箱的步骤上。

谁在用,怎么用
行业谁在用怎么用例子
网站设计和 SEO自由职业者和小型代理公司在一个城市搜一个行业,向网站薄弱的商家推销一位设计师搜索一个城市的牙医,给网站看起来过时的那些写信。
家居和工程服务供应商和软件销售为每个工种建一份承包商名单一位工具销售列出三个镇的屋顶工,给有邮箱的那些写信。
本地营销客户经理客户服务的每个片区各搜一次一位客户经理为客户覆盖的每个街区各跑一次搜索。
招聘和人力招聘人员在某个行业和地点找雇主一位招聘人员列出一个度假小镇的酒店,按每家酒店网站上的地址写信。

你需要会一点 n8n,还要四个账号:Apify、OpenAI、Anymail Finder 和 Google。作者估计设置要 16 分钟左右,前提是账号都已经开好。

用在哪里

任何能访问 Apify、OpenAI、Jina、Anymail Finder 和 Google 的 n8n 都能运行它。结果只在表格里看。

  • n8n Cloud:在那里新建一个工作流,把文件导入进去
  • 你自己的 n8n 服务器:同一个文件,同样的步骤
  • Google Sheets:每家商家一行,可以直接筛选和排序
  • 邮件工具或 CRM:在最后一个表格节点后面加一个节点,把线索转过去

设置

点“获取”会把一个压缩包存到你的下载文件夹,里面有 workflow.json 和 Mindket 写的设置说明。先建好表格,因为有两个节点指向它。

先准备好这些
需要说明
n8nn8n Cloud 或你自己的服务器
Apify一个账号、它的 API 令牌和额度,用于 Google Maps Actor
OpenAI一个能用 gpt-4o-mini 的 API 密钥
Anymail Finder一个账号、它的 API 密钥和额度,用于没有邮箱的网站
Google一个能编辑这张表格的账号,用于 Google Sheets OAuth2 凭据
一张表格一个名为 Sheet1 的标签页,第 1 行有七个表头:Title、Street、Neighborhood、Website、Phone、Email 和 URL
  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 建好表格,复制它的 ID:地址里 /d/ 和 /edit 之间那一长串。
  3. 添加 Google Sheets OAuth2 凭据。在 Append or update row in sheet1 和 Update row in sheet 里选中它,把 YOUR_SHEET_ID 换成这个 ID。两个节点都按名称 Sheet1 找标签页。
  4. 添加 OpenAI 凭据,在 Message a model 里选中它。
  5. 在 HTTP Request1 的 Authorization 请求头里,把 <YOUR_APIFY_TOKEN> 换成你的令牌。尖括号也要去掉,请求头应该是 Bearer、一个空格,再加令牌。
  6. 在 Anymail 的 Authorization 请求头里,把 <YOUR_ANYMAILFINDER_KEY> 换成你的密钥,别的什么都不加。
  7. 保存,打开表单的测试地址,填一个关键词、一个地点和一个小数字,比如 10。
  8. 第一次运行看起来没问题,再点 Publish 发布。

我们在 2026 年 11 月 2 日读过 Anymail Finder 的文档,它要求请求头的值就是密钥本身,前面不加 Bearer。文件里的占位符带了 Bearer,这里已经去掉。

如何使用

从 On form submission1 打开表单,填 Keyword、Location 和 Max results。三项都没有标为必填。但 Max results 空着会让请求出错。表单一提交就会答复。Apify 搜完之前,表格里什么都不会出现。之后各行逐一写入,某一行的邮箱可能稍后才由 Anymail Finder 那一步补上。

想要不同的效果,改这里
要改的在哪里改
商家类型和地点表单的 Keyword 和 Location 字段。Actor 两项都接受自由文本
地点数量表单里的 Max results,它决定 maxCrawledPlacesPerSearch
结果的语言HTTP Request1 请求体里的 language,文件里是 en
选哪个邮箱Message a model 里的提示词,它要的是最权威的那个地址
存哪些列Edit Fields,以及两个 Google Sheets 节点里的映射

示例

你在表单里填:

Keyword: dentist
Location: Austin, Texas
Max results: 20

Apify 最多返回这么多家牙医。每一家都会写成这样一行:

表格里的一行
列值
TitleBright Smile Dental
Street120 Congress Ave
NeighborhoodDowntown
Websitehttps://brightsmile.example
Phone+15125550123
Emailinfo@brightsmile.example
URL这家商家的 Google 地图地址

网站上没有邮箱时,模型回答 Null,这一行起初就写着它。等 Anymail 回复后,Email 里是它返回的列表,比如 ["info@brightsmile.example"]。

新手与专家

新手:n8n 把工作流画成用线连起来的方框,每个方框是一个节点,只做一件事。这里的 Loop Over Items 每次把一家商家送下这条链,到最后再收回来。先用 10 个地点跑一次。每个节点都会显示它收到和发出的内容,填错的密钥或打不开的网站就在那里露出来。

专家:整个运行都在一个循环里,每个阶段只有一两个节点。

每个阶段做什么
阶段节点要知道的
搜索HTTP Request1向 Apify 的 run-sync-get-dataset-items 发一个 POST,Actor 是 compass~crawler-google-places。请求体里有 searchStringsArray、locationQuery、maxCrawledPlacesPerSearch 和 language
整理Edit Fields保留七个字段,并用 extractDomain() 从网站取出域名
读取Scrape Website、Message a modelJina 把页面转成纯文本,gpt-4o-mini 回答一个地址或者 Null
保存Append or update row in sheet1、Update row in sheet两个节点都按 Title 对应行
补救If、Anymail回答里有 Null 时,把域名交给 Anymail Finder,它返回的地址列表写进 Email

对 Null 的检查区分大小写。Scrape Website 和 Anymail 调用失败时会继续往下走,所以一个打不开的网站不会让循环停下。

注意事项

三家服务商按用量收费,一项免费服务有上限,文件调用的是 Anymail Finder 的旧地址。

  • 费用:Apify 按抓到的每个地点收费,附加项另算。OpenAI 每个地点收一次小调用的钱。Anymail Finder 的文档说,只有找到有效邮箱才扣一次额度
  • 时间上限:按 Apify 的 API 参考,同步调用 300 秒后就会结束,所以大搜索可能一个地点都拿不回来。先从小的开始
  • Jina 的上限:我们同一天读过它的页面,没有密钥时每分钟可读 20 次。读取失败时模型没东西可读,这一行多半会转给 Anymail Finder
  • 同名商家:两次写表都按 Title 对应,所以两家同名的商家会互相覆盖
  • 旧地址:文件调用 v5.0/search/company.json,读取 results.emails。现在的文档写的是 v5.1/find-email/company,地址在 emails 里。我们检查时旧地址还能用。如果它停了,两处都要改
  • 个人数据:名单里有电话号码,有时还有店主的邮箱,所以先查清你推广所在地关于冷邮件的规定
  • 密钥:Apify 令牌和 Anymail Finder 密钥写在请求头里,分享工作流之前先把它们删掉
  • 凭据:JSON 里没有任何凭据,也没有作者表格里的任何东西

README 和文件

README

Google 地图商家线索,从各家网站读出邮箱

一个 n8n 工作流。表单接收一个关键词、一个地点和一个数字。一个 Apify Actor 从 Google 地图收集匹配的商家,工作流再读取每家商家的网站,找出联系邮箱。网站上没有的话,Anymail Finder 会搜索它的域名。每家商家都存进一张 Google 表格。

包里有什么

  • workflow.json:n8n 导出的工作流,十个节点,没有便签。里面没有任何凭据。
  • README.md:这份设置说明,压缩包里的是英文版。

我们相对原来的副本改了什么

  • Apify 和 Anymail Finder 的请求头原来写的是占位符 Bearer <api key>。现在分别是 Bearer <YOUR_APIFY_TOKEN> 和 <YOUR_ANYMAILFINDER_KEY>。我们在 2026 年 11 月 2 日读过 Anymail Finder 的文档,它要求请求头的值就是密钥本身,前面不加 Bearer,所以第二个没有。
  • 作者的表格和标签页 ID 都已删掉。两个 Google Sheets 节点改为要 YOUR_SHEET_ID,并按名称 Sheet1 找标签页。

开始之前

  • 一个 n8n 实例,n8n Cloud 或自己的服务器都行。
  • 一个 Apify 账号和它的 API 令牌,还要有额度。用到的 Actor 是 Compass 的 Google Maps Scraper,按抓到的地点收费。
  • 一个能用 gpt-4o-mini 的 OpenAI API 密钥。
  • 一个 Anymail Finder 账号和它的 API 密钥,还要有查询额度。
  • 一个 Google 账号,以及一张放线索的 Google 表格。

这个文件里的 Jina Reader 不需要密钥。

设置

  1. 在 n8n 里新建一个工作流,打开它的菜单,选 Import from File,选中 workflow.json。
  2. 建一张 Google 表格,里面有一个名为 Sheet1 的标签页,第 1 行写这些表头:Title、Street、Neighborhood、Website、Phone、Email、URL。复制表格的 ID:地址里 /d/ 和 /edit 之间那一长串。
  3. 添加 Google Sheets OAuth2 凭据。在 Append or update row in sheet1 和 Update row in sheet 里选中它,把 YOUR_SHEET_ID 换成这个 ID。
  4. 添加 OpenAI 凭据,在 Message a model 里选中它。
  5. 在 HTTP Request1 的 Authorization 请求头里,把 <YOUR_APIFY_TOKEN> 换成你的令牌。尖括号也要去掉,请求头应该是 Bearer、一个空格,再加令牌。
  6. 在 Anymail 的 Authorization 请求头里,把 <YOUR_ANYMAILFINDER_KEY> 换成你的密钥,别的什么都不加。
  7. 保存,打开表单的测试地址,三个字段都填上,Max results 填 10,然后看表格。
  8. 第一次运行看起来没问题,再点画布顶部的 Publish 发布(也可以按 Shift+P)。

一次运行的过程

  1. 表单要 Keyword、Location 和 Max results,都没有标为必填。
  2. HTTP Request1 把它们发到 Apify 上 Actor compass~crawler-google-places 的 run-sync-get-dataset-items 地址,等它返回地点。请求体把语言设为 en。
  3. Edit Fields 保留 Title、Street、Neighborhood、Website、Phone(取自 phoneUnformatted)和 URL,再加一个从网站取出的 Domain。
  4. Loop Over Items 每次处理一个地点。然后 Scrape Website 通过 Jina 的 Reader,也就是 https://r.jina.ai/,取回它的网站,返回纯文本。接着 Message a model 让 gpt-4o-mini 找出页面上最合适的联系邮箱,最好是店主的,找不到就回答 Null。
  5. Append or update row in sheet1 把这个地点连同这个回答存进 Email,按 Title 对应行。
  6. If 检查回答里有没有 Null。有的话,Anymail 搜索这个地点的 Domain,Update row in sheet 把返回的列表写进 Email。没有的话,循环转到下一个地点。

改变搜索

  • 地点和类型:表单的三个字段。Actor 两项都接受自由文本。
  • 结果的语言:HTTP Request1 请求体里的 language。
  • 哪个邮箱算数:Message a model 里的提示词。它要的是最权威的那个地址。
  • 存哪些内容:两个 Google Sheets 节点里的映射,以及 Edit Fields 里的字段。

注意事项

  • Apify 按抓到的每个地点收费,它的 Actor 页面另外列出附加项的价格。OpenAI 每个地点收一次小调用的钱,Anymail Finder 的文档说只有找到有效邮箱才扣一次额度。
  • 我们在 2026 年 11 月 2 日读过 Apify 的 API 参考,同步调用 300 秒后就会结束,所以大搜索可能拿不回任何地点。先从 20 开始。
  • 我们同一天读过 Jina 的页面,没有密钥时每分钟可读 20 次。搜 100 个地点就要读 100 次,读取失败时模型没东西可读。在循环里加一个 Wait 节点,或者在请求头里放一个 Jina 密钥。
  • 两个表格节点都按 Title 对应,所以两家同名的商家会互相覆盖。
  • Max results 空着会让 Apify 的请求体出错。三个表单字段都要填。
  • 文件调用的是 Anymail Finder 较早的 v5.0/search/company.json 地址,读取 results.emails。现在的文档写的是 v5.1/find-email/company,地址在 emails 里返回。我们检查时旧地址还能用。如果它停了,就换地址,并在 Update row in sheet 里读 $json.emails。
  • 对 Null 的检查区分大小写。
  • 名单里有商家名称、电话号码,有时还有店主的邮箱。联系任何人之前,先查清你推广所在地关于冷邮件的规定。
  • Apify 令牌和 Anymail Finder 密钥写在请求头里,分享工作流之前先把它们删掉。
文件
README.md  5 KB
workflow.json  16 KB

2 个文件,共 21 KB,以 zip 压缩包下载。

更新内容

  • 第 1 版 · 2026-11-03

评价

还没有评分

写评价

还没有评价。

Mindket 的更多商品

查看 Mindket 的全部商品

anaksor-ocr

Sokheng · 工具包

这个模型从文档、收据和路牌照片里读取高棉语和英语文字,用一个检测器找文本行,再用识别器读每一行。适合需要在 Python 里做高棉语 OCR 的开发者。

新上架

Qwen2.5-7B-Instruct-GGUF

Qwen · 工具包

Qwen2.5-7B-Instruct 的 GGUF 文件,提供八种量化大小,可通过 llama.cpp 在本地聊天。适合想在自己电脑上用 7.6B 强力模型、又不想搭 Python 环境的人。

新上架

ACE-Step 1.5 XL SFT

ACE-Step · 工具包

用 4B 扩散解码器根据文字生成音乐,50 步并带引导控制,音频质量高于基础版。适合拥有 12 GB 或更多显存 GPU 的创作者。

新上架

营销类的相似商品

查看营销类的全部商品

Huashu Design

alchaincyf · 技能

把你在 AI 智能体里写的一句话需求,变成一份完成的设计:发布动画、可点击的应用原型、可编辑的幻灯片、信息图,或一组小红书图片。可在多种智能体中使用。

新上架29.4k

Pixel Art XL

nerijs · 工具包

一个用于 Stable Diffusion XL 的像素画风格附加模型,把文字提示词变成像素风图片,并可搭配 LCM LoRA 加快运行。适合游戏开发者、设计师和爱好者。

新上架

Licon MSR for LTX-2.5

LiconStudio · 工具包

给模型最多五张参考图,让生成视频中的人物、服装、物体和背景保持一致。这是用于 ComfyUI 中 LTX-2.5 的 LoRA,还可以为两位说话者添加音频参考。

新上架