Install
openclaw skills install @apidojo-io/finding-designers-and-creatives-on-twitterFinds designers and creative professionals to recruit using apidojo's Twitter scrapers on Apify. Triggers when the user asks to: find designers on Twitter for recruiting, discover UX UI or graphic designers to hire on X, find product designers or creative directors from their Twitter profile, identify visual designers by portfolio signals on Twitter, find motion designers illustrators or brand designers for talent sourcing, build a creative recruiting pipeline from social, or find designers posting about job search. Returns handle, name, design discipline (from bio), portfolio link, follower count, and portfolio signals. Ideal for design agencies, product design leads, creative directors, and startup hiring teams.
openclaw skills install @apidojo-io/finding-designers-and-creatives-on-twitterDiscovers designers and creative professionals 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.
APIFY_TOKEN environment variable set| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
startUrls | array | Optional | [] | Twitter profile or tweet URLs |
twitterHandles | array | Optional | [] | Twitter usernames (without @) |
twitterUserIds | array | Optional | [] | Twitter user IDs |
getFollowers | boolean | Optional | false | Extract follower lists |
getFollowing | boolean | Optional | false | Extract following lists |
getRetweeters | boolean | Optional | false | Extract retweeters of a tweet URL |
includeUnavailableUsers | boolean | Optional | false | Include unavailable/suspended users |
maxItems | number | Optional | Unlimited | Maximum users to return |
customMapFunction | string | Optional | — | JavaScript function to transform each output object |
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
Recommended — run_actor.js (handles waiting, output, and file saving automatically):
# Quick answer (prints table to chat)
node scripts/run_actor.js \
--actor "apidojo~twitter-user-scraper" \
--input '{"param": "value"}'
# Save as 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
node scripts/run_actor.js \
--actor "apidojo~twitter-user-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": ["UX designer", "product designer", "portfolio", "[DISCIPLINE] open to work"],
"maxItems": 300,
"tweetLanguage": "en"
}
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": ["UX designer", "product designer", "portfolio", "[DISCIPLINE] open to work"], "maxItems": 300}'
Collect unique author.username from results.
If Apify MCP is available:
Tool: apify:run-actor
Actor: "apidojo~twitter-user-scraper"
Input: {"usernames": ["[username1]", "[username2]", "..."]}
REST API fallback:
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"]}'
Skill confirmation: bio contains keywords: "UX", "UI", "product design", "graphic design", "motion", "brand design", "Figma", "Sketch", "Adobe"
portfolio_link_signal = bio contains figma.com, behance.net, dribbble.com, or personal domain → strong talent signal
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)
followerCount > 50K AND bio contains no personal pronouns; these are likely brand accountsfollowerCount / followingCount < 0.05 AND tweetsCount < 20 as potential bot# Designers And Creative Professionals Candidates: [DESIGN_DISCIPLINE]
Profiles found: [N] | Open-to-work: [N] | Active: [N] | Date: [DATE]
## Priority: Open-to-Work Candidates
| Name | @Handle | Specialty | Location | Followers | Last Active | Score |
|------|---------|----------|---------|-----------|------------|-------|
## Passive Candidates
| Name | @Handle | Specialty | Location | Followers | Score |
|------|---------|----------|---------|-----------|-------|
## Bio Highlights (Top 5)
1. @[handle]: "[bio excerpt]"
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.