finding-startup-employees-for-recruiting

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Finding Professionals Currently Employed At Startups on Twitter

在Twitter上寻找目前受雇于初创公司的专业人士

Discovers professionals currently employed at startups on Twitter via skill keywords, portfolio/project signals, and open-to-work indicators. Twitter surfaces professionals who actively discuss their craft — a strong passive candidate signal.
通过技能关键词、作品集/项目信号以及“开放求职”标识,在Twitter上发掘目前受雇于初创公司的专业人士。Twitter会展示那些积极讨论自身专业领域的专业人士——这是很强的被动候选人信号。

Prerequisites

前提条件

  • APIFY_TOKEN
    environment variable set
  • Optional: Apify MCP server installed
  • APIFY_TOKEN
    环境变量已设置
  • 可选:已安装Apify MCP服务器

Inputs

输入参数

ParameterTypeRequiredDefaultNotes
startUrls
arrayOptional
[]
Twitter profile or tweet URLs
twitterHandles
arrayOptional
[]
Twitter usernames (without @)
twitterUserIds
arrayOptional
[]
Twitter user IDs
getFollowers
booleanOptional
false
Extract follower lists
getFollowing
booleanOptional
false
Extract following lists
getRetweeters
booleanOptional
false
Extract retweeters of a tweet URL
includeUnavailableUsers
booleanOptional
false
Include unavailable/suspended users
maxItems
numberOptionalUnlimitedMaximum users to return
customMapFunction
stringOptionalJavaScript function to transform each output object
参数类型是否必填默认值说明
startUrls
array可选
[]
Twitter个人主页或推文URL
twitterHandles
array可选
[]
Twitter用户名(不含@)
twitterUserIds
array可选
[]
Twitter用户ID
getFollowers
boolean可选
false
提取粉丝列表
getFollowing
boolean可选
false
提取关注列表
getRetweeters
boolean可选
false
提取某条推文的转发者
includeUnavailableUsers
boolean可选
false
包含无法访问/被暂停的用户
maxItems
number可选无限制返回的最大用户数量
customMapFunction
string可选用于转换每个输出对象的JavaScript函数

Workflow

工作流程

Progress:
- [ ] Step 1: Search for role-specific tweets
- [ ] Step 2: Collect unique handles
- [ ] Step 3: Enrich profiles
- [ ] Step 4: Score candidate fit
- [ ] Step 5: Deliver candidate list
进度:
- [ ] 步骤1:搜索特定职位的推文
- [ ] 步骤2:收集唯一账号昵称
- [ ] 步骤3:丰富个人资料
- [ ] 步骤4:评估候选人匹配度
- [ ] 步骤5:交付候选人列表

Step 1: Search Queries

步骤1:搜索查询

Recommended — run_actor.js (handles waiting, output, and file saving automatically):
bash
undefined
推荐方式 — 使用run_actor.js(自动处理等待、输出和文件保存):
bash
undefined

Quick answer (prints table to chat)

快速查看(在聊天中打印表格)

node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'

Save as CSV

保存为CSV文件

node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.csv --format csv

Save as JSON

保存为JSON文件

node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> `APIFY_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
Tool: apify:run-actor Actor: "apidojo~tweet-scraper" Input: { "searchTerms": ["at [COMPANY]", "engineer at [STARTUP]", "working at [SECTOR] startup"], "maxItems": 300, "tweetLanguage": "en" }

**REST API fallback:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["at [COMPANY]", "engineer at [STARTUP]", "working at [SECTOR] startup"], "maxItems": 300}'
Collect unique
author.username
from results.
node scripts/run_actor.js
--actor "apidojo~twitter-user-scraper"
--input '{"param": "value"}'
--output YYYY-MM-DD_results.json --format json
> 必须在环境变量或`.env`文件中设置`APIFY_TOKEN`。

**如果Apify MCP可用:**
工具:apify:run-actor Actor: "apidojo~tweet-scraper" 输入: { "searchTerms": ["at [COMPANY]", "engineer at [STARTUP]", "working at [SECTOR] startup"], "maxItems": 300, "tweetLanguage": "en" }

**REST API备选方案:**
```bash
curl -X POST \
  "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"searchTerms": ["at [COMPANY]", "engineer at [STARTUP]", "working at [SECTOR] startup"], "maxItems": 300}'
从结果中收集唯一的
author.username

Step 2: Enrich Profiles

步骤2:丰富个人资料

If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~twitter-user-scraper"
Input: {"usernames": ["[username1]", "[username2]", "..."]}
REST API fallback:
bash
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"]}'
如果Apify MCP可用:
工具:apify:run-actor
Actor: "apidojo~twitter-user-scraper"
输入: {"usernames": ["[username1]", "[username2]", "..."]}
REST API备选方案:
bash
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"]}'

Step 3: Filter and Score

步骤3:筛选与评分

Skill confirmation: bio contains keywords: "@[company]", "prev:", "formerly", "ex-", "startup", "Series A", "YC", "Techstars"
career_change_signal = bio or recent tweets mention 'open to', 'looking for', 'next chapter', or company departure
Candidate score:
candidate_score = (skill_confirmed ? 1 : 0) * 0.35
                + (open_to_work_signal ? 1 : 0) * 0.30
                + (followerCount in 200..20000 ? 1 : 0.6) * 0.20
                + (tweeted_in_last_30_days ? 1 : 0) * 0.15
Activity: active (< 30 days) | passive (30–90 days) | dormant (> 90 days)
技能确认: 个人简介包含以下关键词:"@[company]", "prev:", "formerly", "ex-", "startup", "Series A", "YC", "Techstars"
职业变动信号 = 个人简介或近期推文提及'open to', 'looking for', 'next chapter'或离职相关内容
候选人评分:
candidate_score = (skill_confirmed ? 1 : 0) * 0.35
                + (open_to_work_signal ? 1 : 0) * 0.30
                + (followerCount in 200..20000 ? 1 : 0.6) * 0.20
                + (tweeted_in_last_30_days ? 1 : 0) * 0.15
活跃度:活跃(<30天)| 被动(30–90天)| 沉寂(>90天)

Step 4: Edge Cases

步骤4:边缘情况处理

  • Company/brand accounts in results: Filter where
    followerCount > 50K
    AND bio contains no personal pronouns; these are likely brand accounts
  • < 20 candidates found: Broaden skill term; remove location or seniority filter; try adjacent skills
  • Bot detection: Flag
    followerCount / followingCount < 0.05
    AND
    tweetsCount < 20
    as potential bot
  • Location not matching: Bio location is free text — use fuzzy match; accept partial city/country names
  • 结果中包含企业/品牌账号: 筛选掉
    followerCount > 50K
    且个人简介中无第一人称代词的账号;这些很可能是品牌账号
  • 找到的候选人不足20名: 放宽技能术语限制;移除地点或资历筛选;尝试相关技能关键词
  • 机器人检测:
    followerCount / followingCount < 0.05
    tweetsCount < 20
    的账号标记为潜在机器人
  • 地点不匹配: 个人简介中的地点为自由文本——使用模糊匹配;接受部分城市/国家名称

Output Format

输出格式

undefined
undefined

Professionals Currently Employed At Startups Candidates: [STARTUP_SECTOR]

初创公司在职专业人士候选人:[STARTUP_SECTOR]

Profiles found: [N] | Open-to-work: [N] | Active: [N] | Date: [DATE]
找到的资料数量:[N] | 开放求职:[N] | 活跃状态:[N] | 日期:[DATE]

Priority: Open-to-Work Candidates

优先级:开放求职候选人

Name@HandleSpecialtyLocationFollowersLast ActiveScore
姓名@账号昵称专业领域地点粉丝数最后活跃时间评分

Passive Candidates

被动候选人

Name@HandleSpecialtyLocationFollowersScore
姓名@账号昵称专业领域地点粉丝数评分

Bio Highlights (Top 5)

个人简介亮点(前5名)

  1. @[handle]: "[bio excerpt]"
undefined
  1. @[handle]: "[个人简介节选]"
undefined

Troubleshooting

故障排除

All results are agencies/companies not individuals: Add personal pronouns filter or search
"I am a [role]"
,
"I do [skill]"
. Role too generic returns too many results: Add location OR seniority qualifier. No open-to-work signals: Most candidates don't signal publicly — treat passive candidates as warm leads with personalized outreach referencing their recent content.
所有结果均为代理机构/企业而非个人: 添加第一人称代词筛选,或搜索
"I am a [role]"
,
"I do [skill]"
职位过于宽泛导致结果过多: 添加地点或资历限定词。 无开放求职信号: 大多数候选人不会公开发出此类信号——将被动候选人视为潜在意向人选,结合其近期内容进行个性化沟通。