tracking-hiring-signals-from-company-tweets
Tracks hiring signals and growth indicators from company Twitter accounts using apidojo's Tweet scraper on Apify. Triggers when the user asks to: find companies that are actively h…
API Dojo
@apidojo-io
Install
$ openclaw skills install @apidojo-io/tracking-hiring-signals-from-company-tweetsTracking Hiring Signals from Company Tweets
Monitors company Twitter accounts for hiring announcements and growth signals. Companies tweet about openings before jobs.page or LinkedIn posts go live — Twitter is an early signal channel.
Prerequisites
APIFY_TOKENenvironment variable set- Optional: Apify MCP server installed
Inputs
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
searchTerms | array | ✅ | [] | Twitter advanced search queries (e.g. ["#AI lang:en", "from:NASA"]) |
sort | string | Optional | Top | Sort order: Latest, Top, or Latest+Top |
tweetLanguage | string | Optional | — | ISO 639-1 language code (e.g. en) |
maxItems | number | Optional | Unlimited | Maximum tweets to return |
onlyVerifiedUsers | boolean | Optional | false | Only tweets from verified users |
onlyTwitterBlue | boolean | Optional | false | Only Twitter Blue subscribers |
onlyImage | boolean | Optional | false | Only tweets with images |
onlyVideo | boolean | Optional | false | Only tweets with videos |
onlyQuote | boolean | Optional | false | Only quote tweets |
author | string | Optional | — | Filter to a specific author handle |
inReplyTo | string | Optional | — | Tweets replying to a specific handle |
mentioning | string | Optional | — | Tweets mentioning a specific handle |
geotaggedNear | string | Optional | — | Tweets near a location |
withinRadius | string | Optional | — | Radius around geotaggedNear |
geocode | string | Optional | — | Lat/lng + radius string |
placeObjectId | string | Optional | — | Tweets tagged with a place |
minimumRetweets | number | Optional | — | Minimum retweet count |
minimumFavorites | number | Optional | — | Minimum like count |
minimumReplies | number | Optional | — | Minimum reply count |
start | string | Optional | — | Tweets after this date (YYYY-MM-DD) |
end | string | Optional | — | Tweets before this date (YYYY-MM-DD) |
includeSearchTerms | boolean | Optional | false | Add the matched search term to each tweet |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
Workflow
Progress:
- [ ] Step 1: Search for hiring-signal tweets in sector
- [ ] Step 2: (Optional) Scrape specific company accounts
- [ ] Step 3: Extract role and team info from tweet text
- [ ] Step 4: Score growth signal strength
- [ ] Step 5: Deliver hiring intelligence report
Step 1: Search Hiring Signals
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~tweet-scraper" \
--input '{"param": "value"}'
# Save as CSV
node scripts/run_actor.js \
--actor "apidojo~tweet-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.csv --format csv
# Save as JSON
node scripts/run_actor.js \
--actor "apidojo~tweet-scraper" \
--input '{"param": "value"}' \
--output YYYY-MM-DD_results.json --format json
APIFY_TOKENmust be set in environment or.envfile.
If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
"searchTerms": ["we're hiring [SECTOR]", "join our team [SECTOR]", "[ROLE] hiring [SECTOR]"],
"maxItems": 300
}
REST API fallback:
curl -X POST "https://api.apify.com/v2/acts/apidojo~tweet-scraper/runs?token=$APIFY_TOKEN" -H "Content-Type: application/json" -d '{
"searchTerms": ["we are hiring fintech", "join our team SaaS startup", "software engineer hiring"],
"maxItems": 300
}'
Step 2: Extract Role Signals from Tweet Text
role_mentioned = extract noun phrases after "hiring a/an", "looking for a/an", "seeking a"
team_mentioned = extract from: "engineering team", "sales team", "marketing", "product team"
urgency = "immediately", "ASAP", "urgent" → HIGH; "growing team" → MEDIUM; general → LOW
Step 3: Growth Signal Score
hiring_signal_score = (is_confirmed_company_account ? 1 : 0.5) * 0.30
+ (role_is_specific ? 1 : 0.5) * 0.25
+ (post_is_recent: ≤7 days = 1, 8-14 = 0.7, 15-30 = 0.4) * 0.25
+ (link_to_job_page ? 1 : 0) * 0.20
Growth tier: Multiple hiring tweets in 30 days = HIGH_GROWTH; 1-2 = STEADY_HIRE; no link = SIGNAL_ONLY
Step 4: Edge Cases
- Retweets from employee accounts: If a company employee retweets a job post, keep — it's still a valid signal; note it's not the company's official account
- Job boards posting on behalf of company: Filter out accounts named "JobsAt[Company]", staffing agencies, or accounts posting > 10 hiring tweets/day (aggregators)
- Role extraction fails: Note the tweet verbatim and mark
role = "unspecified"— still a growth signal - Same company posts 5 roles: Deduplicate by
author.username; count unique companies, not unique tweets
Output Format
# Hiring Signal Intelligence: [SECTOR/ROLE]
Tweets analyzed: [N] | Companies with hiring signals: [N] | Date: [DATE]
## High-Growth Companies (Multiple Roles Posted)
| Company | @Handle | Roles Mentioned | Teams | Posts | Link to Jobs | Score |
|---------|---------|----------------|-------|-------|-------------|-------|
| [name] | @[handle] | [role list] | [eng/mktg] | [N] | [Yes/No] | [0.XX] |
## Single Hire Signals
| Company | @Handle | Role | Team | Tweet Date | Job Link |
|---------|---------|------|------|-----------|---------|
## Role Distribution Across All Companies
| Role Category | # Companies Hiring | Urgency |
|--------------|-------------------|---------|
| Engineering | [N] | [High/Med] |
| Marketing | [N] | |
| Sales | [N] | |
Troubleshooting
Results dominated by job boards: Add negative terms to search: -jobs -jobboard -staffing -recruiting
Sector too broad: Narrow with a sub-sector or specific stage: "Series A fintech" instead of "fintech".
Job links are broken/expired: Hiring tweets are posted in real-time; check within 48h for best link validity.
Top skills in this category
Openclaw Command Center
@jontsaiMission control dashboard for OpenClaw - real-time session monitoring, LLM usage tracking, cost intelligence, and system vitals. View all your AI agents in o...
Interview Simulator
@wscatsSimulates mock interviews for any role and experience level with tailored technical, behavioral, and case questions plus detailed feedback and scoring.
moltbook-interact
@lunarcmdInteract with Moltbook social network for AI agents. Post, reply, browse, and analyze engagement. Use when the user wants to engage with Moltbook, check their feed, reply to posts, or track their activity on the agent social network.
Web Development
@ivangdavilaBuild, debug, and deploy websites using HTML, CSS, JavaScript, and modern frameworks following production best practices.
LNBits Wallet wtih QR Code
@jamestsetsekasManage LNbits Lightning Wallet (Balance, Pay, Invoice)