Finding SaaS Company Leads on Twitter
用途:通过推特/X 上的信号发现 SaaS 公司与软件产品账号,信号包括产品发布、功能公告、创始人动态以及特定垂直领域的话题标签。推特是早期 B2B SaaS 公司在建立正式网络存在之前最活跃的地方。
前置条件:
- 设置 APIFY_TOKEN 环境变量
- 可选:安装 Apify MCP 服务器
输入参数:
- startUrls(数组,可选,默认 []):推特个人资料或推文 URL
- twitterHandles(数组,可选,默认 []):推特用户名(不含 @)
- twitterUserIds(数组,可选,默认 []):推特用户 ID
- getFollowers(布尔,可选,默认 false):提取关注者列表
- getFollowing(布尔,可选,默认 false):提取正在关注列表
- getRetweeters(布尔,可选,默认 false):提取某条推文 URL 的转发者
- includeUnavailableUsers(布尔,可选,默认 false):包含不可用/被暂停的用户
- maxItems(数字,可选,无限制):返回的最大用户数
- customMapFunction(字符串,可选,—):用于转换每个输出对象的 JavaScript 函数
工作流:
- 步骤 1:为垂直领域构建关键词与话题标签搜索列表
- 步骤 2:运行 tweet-scraper 查找活跃公司
- 步骤 3:提取唯一公司账号
- 步骤 4:通过 twitter-user-scraper 丰富资料
- 步骤 5:按阶段打分并分类
- 步骤 6:交付线索名单
步骤 1:搜索关键词 根据垂直领域构建。以“project management SaaS”为例: 关键词:["project management software", "PM tool", "#pmtools", "task management SaaS", "launched a product", "we built", "try our tool", "project management app"] 标准 SaaS 信号短语(始终包含):["just launched", "we built", "our product", "sign up free", "#buildinpublic", "new feature", "we're hiring", "Series A", "product update", "[vertical] tool"]
步骤 2:运行 tweet-scraper 推荐使用 run_actor.js(自动处理等待、输出与文件保存):
快速回答(在聊天中打印表格)
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
保存为 CSV
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
保存为 JSON
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
APIFY_TOKEN 必须在环境或 .env 文件中设置。
若 Apify MCP 可用: 工具:apify:run-actor Actor:"apidojo~tweet-scraper" 输入: { "searchTerms": ["[VERTICAL] software", "[VERTICAL] SaaS", "[VERTICAL] tool launch", "we built [VERTICAL]"], "maxItems": 300, "tweetLanguage": "en" }
REST API 回退: curl -X POST "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{ "searchTerms": ["HR tech SaaS", "HR software launch", "we built HR tool"], "maxItems": 300 }'
收集唯一的 author.username 值。
步骤 3:丰富资料 若 Apify MCP 可用: 工具:apify:run-actor Actor:"apidojo~twitter-user-scraper" 输入: { "usernames": ["[username1]", "[username2]", "...up to 100 usernames"] }
REST API 回退: curl -X POST "https://api.apify.com/v2/acts/apidojo~twitter-user-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{"usernames": ["handle1", "handle2"]}'
步骤 4:筛选与分类 是否为 SaaS 公司?若简介包含以下内容则保留: 产品关键词:"software"、"SaaS"、"platform"、"app"、"tool"、"API"、"dashboard" 发布信号:"try"、"sign up"、"free trial"、"beta" 融资信号:"backed by"、"YC"、"Techstars"、"seed"、"Series A/B"
根据 followerCount 进行阶段分类: early:followerCount < 1,000 growing:1,000–10,000 established:> 10,000
公司评分: lead_score = (is_saas_signal ? 1 : 0) * 0.40 + (has_website ? 1 : 0) * 0.25 + (tweeted_in_last_30_days ? 1 : 0) * 0.20 + min(followerCount / 5000, 1) * 0.15
步骤 5:边界情况 返回个人账号而非公司:过滤——优先选择 name != username 且简介描述产品的账号;降低简介含个人代词(如"I build...")账号的优先级。 找到的公司少于 20 家:扩大垂直领域关键词;直接尝试话题标签 #buildinpublic、#indiehacker、#saas。 重复公司(同时找到创始人和公司账号):保留公司账号;将创始人账号作为联系人关联。
输出格式:
SaaS Company Leads: [VERTICAL]
Companies found: [N] | Early: [N] | Growing: [N] | Established: [N] | Date: [DATE]
Growing-Stage Companies (Best Outreach Window)
| Company | Handle | Product | Stage | Followers | Website | Score |
|---|---|---|---|---|---|---|
| [name] | @[handle] | [1-line description from bio] | Growing | [N] | [url] | [0.XX] |
Early-Stage (High Receptivity)
| Company | Handle | Product | Followers | Last Active |
|---|
Established (Formal Sales Cycle)
| Company | Handle | Product | Followers | Website |
|---|
故障排查: 结果大多是个人账号:在搜索中添加 "software" OR "app" OR "platform",并按简介关键词积极筛选。 垂直领域过宽(返回 500+ 家公司):缩小到子垂直领域(例如 "project management" → "async project management for remote teams")。 公司不活跃(最后一条推文超过 60 天):标记为可能休眠;交叉核对产品网站以确认活跃状态。
限制:需要 APIFY_TOKEN;依赖 Apify 上的 apidojo Twitter 爬虫;资料未说明具体收费标准、价格、平台支持范围或使用效果等,暂未提供。