Skip to main content
skill CX Codex

finding-freelancers-by-skill-on-twitter — Claude Code skill

Finds freelancers and independent contractors on Twitter by skill, profile details, and signs they are open to work. Useful when a project needs outside specialists.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add apidojo-io/apidojo-skills --skill finding-freelancers-by-skill-on-twitter -a claude-code
Open on GitHub

What finding-freelancers-by-skill-on-twitter does

This skill searches Twitter posts and profiles for people offering freelance or contract work. It gathers distinct usernames, enriches their profiles, and reports names, handles, bio-based skills, client-seeking signals, follower counts, and availability clues.

The workflow covers search, profile enrichment, candidate scoring, and a final list. It can run apidojo~tweet-scraper and apidojo~twitter-user-scraper through run_actor.js, Apify MCP, or the REST API. Results may be written as CSV or JSON.

Set APIFY_TOKEN in the environment or in .env before running it. Apify requests fail without that token. Inputs can also include profile URLs, handles, user IDs, follower or following extraction, and a result limit.

What it helps with

  • find freelancers with a specific skill on Twitter
  • filter profiles that signal openness to new projects
  • build a candidate roster for an agency or project
  • inspect bios and recent posts for hiring signals

Example prompts for the agent

  • Find Twitter freelancers with React skills who are looking for contract work.
  • Build a list of independent designers from recent posts, including handles, skills, followers, and availability signals.
  • Enrich the discovered profiles through Apify and save the result to freelancers.csv.

How to install finding-freelancers-by-skill-on-twitter

1Skills CLI (Vercel)

npx skills add apidojo-io/apidojo-skills --skill finding-freelancers-by-skill-on-twitter -a claude-code

2Manually: put the files in place

~/.claude/skills/finding-freelancers-by-skill-on-twitter/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/finding-freelancers-by-skill-on-twitter/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about finding-freelancers-by-skill-on-twitter

How do I install finding-freelancers-by-skill-on-twitter in Claude Code?

Run npx skills add apidojo-io/apidojo-skills --skill finding-freelancers-by-skill-on-twitter -a claude-code, then check ~/.claude/skills/finding-freelancers-by-skill-on-twitter/SKILL.md.

What does finding-freelancers-by-skill-on-twitter do?

The skill searches Twitter for freelancers and independent contractors, enriches their profiles, and scores signals related to skills, activity, and work availability.

What is required to run the skill?

Set APIFY_TOKEN in the environment or in .env. The workflow uses Apify actors apidojo~tweet-scraper and apidojo~twitter-user-scraper; Apify MCP is another supported route.

Source text

SKILL.md · Apache-2.0
---
name: finding-freelancers-by-skill-on-twitter
description: >
  Finds freelancers and independent contractors to recruit using apidojo's Twitter scrapers on Apify.
  Triggers when the user asks to: find freelancers on Twitter for contract work, discover independent contractors for hire in a skill area on X, find freelance developers designers writers or marketers on Twitter, identify consultants or solopreneurs by specialty on Twitter for project work, find contractors available for hire via social signals, build a freelancer roster from Twitter for agency or project needs, or find independent workers actively seeking clients.
  Returns handle, name, skill set (from bio), client signals, follower count, and availability indicators.
  Ideal for agencies, startup operators, and project managers needing on-demand specialist talent.
license: Apache-2.0
metadata:
  author: apidojo
  version: "1.0"
  apify-actors: apidojo/twitter-user-scraper, apidojo/tweet-scraper
---

# Finding Freelancers And Independent Contractors on Twitter

Discovers freelancers and independent contractors 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.

## Prerequisites

- `APIFY_TOKEN` environment variable set
- Optional: Apify MCP server installed

## Inputs

| 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 |

## 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
```

### Step 1: Search Queries


**Recommended — run_actor.js (handles waiting, output, and file saving automatically):**
```bash
# 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_TOKEN` must be set in environment or `.env` file.

**If Apify MCP is available:**
```
Tool: apify:run-actor
Actor: "apidojo~tweet-scraper"
Input:
{
  "searchTerms": ["freelance [SKILL]", "[SKILL] for hire", "available for contract [SKILL]"],
  "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": ["freelance [SKILL]", "[SKILL] for hire", "available for contract [SKILL]"], "maxItems": 300}'
```

Collect unique `author.username` from results.

### Step 2: Enrich Profiles

**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"]}'
```

### Step 3: Filter and Score

**Skill confirmation:** bio contains keywords: "freelance", "independent", "for hire", "consulting", "contract", "available", "hire me", "DM for work"

**availability_signal = bio or recent tweets contain 'available', 'taking clients', 'open for projects', 'DM for rates'**

**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)

### Step 4: Edge Cases

- **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

## Output Format

```
# Freelancers And Independent Contractors Candidates: [FREELANCE_SKILL]
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]"
```

## 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.

© apidojo · Apache-2.0 · apidojo-io/apidojo-skills

Similar skills

All skills for Browser and scraping →

From the same set57

extracting-tiktok-comments-for-research Collects TikTok comments and supports sentiment, theme, and top-reaction analysis. Useful for audience research, product feedback, and content studies. CX Codex +1 757installs discovering-pre-launch-startups-on-twitter Finds startups before public launch on Twitter and groups signals by stage. Use it to scout early products, beta programs, and waitlists. CX Codex +1 754installs finding-software-engineers-on-twitter A skill that hunts for engineers and developers on Twitter/X by tech stack and open-to-work signals. Built for technical recruiters and hiring managers. CX Codex +1 752installs scraping-instagram-comments Collects Instagram post comments through Apify, including text, engagement counts, timestamps, and commenter details. Useful for audience reaction analysis. CX Codex +1 750installs monitoring-instagram-hashtag-trends Pulls Instagram posts per hashtag and works out which tags actually earn engagement. Useful when you need a hashtag set for a post or a brand comparison. CX Codex +1 740installs finding-real-estate-professionals-on-twitter Finds real estate agents, brokers, investors, and other property professionals on Twitter/X through Apify. Useful for building targeted profile lists. CX Codex +1 739installs building-twitter-industry-watchlist Builds a curated list of key voices in an industry on X, with handle, follower count, engagement and an influence score. CX Codex +1 739installs scraping-tiktok-videos-by-hashtag Pulls TikTok videos for any hashtag or keyword through apidojo's scraper on Apify. Returns URL, views, likes, comments, shares and author per video. CX Codex +1 738installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor