Upwork Talent Scraper
Pricing
from $5.00 / 1,000 results
Upwork Talent Scraper
Scrape freelancer profiles from Upwork talent search. Returns name, title, hourly rate, skills, earnings, hours billed, location, and badge status. Filter by keyword, region, timezone, talent type, rate range, and more — up to 1,000 profiles per run. No login required.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
CRW
Maintained by CommunityActor stats
0
Bookmarked
5
Total users
4
Monthly active users
a day ago
Last modified
Categories
Share
Upwork Talent Search Scraper
Search Upwork's entire talent pool and export clean, structured data — without an account, without a browser, without copy-pasting.
No Upwork account required. No login. No browser.
Why this exists
Upwork's talent search is built for hiring one person. It's not built for:
- Pulling 200 React developers to compare rates across regions
- Researching how Top Rated designers price themselves in Europe vs. Asia
- Building a prospect list of freelancers who might need your SaaS tool
- Tracking how supply and skill distribution shifts over time
For any of that, you'd be clicking and copying for hours. This scraper does it in minutes.
How to Run
- Click Try for free above
- Set your filters in the input form (or paste JSON)
- Click Start
- Download as JSON, CSV, or Excel — or pull via API
Speed: ~100 profiles/minute. A 500-profile run takes about 5 minutes.
Sample Output
Real data from an actual run (personal identifiers removed):
{"title": "Senior AI Engineer | LLM Apps, RAG & Agents | 12 Yrs Full-Stack","location": {"country": "India","region": "Asia","timezone": "UTC+05:30 Mumbai, Kolkata, Chennai, New Delhi"},"hourlyRate": 68,"currency": "USD","skills": ["Python", "LangChain", "LLM Prompt Engineering", "OpenAI API","Azure OpenAI Service", "AI Agent Development", "FastAPI","Next.js", "Full-Stack Development", "PostgreSQL"],"totalEarnings": 375762.13,"totalHours": 11933.67,"totalHourlyJobs": 44,"totalFixedJobs": 31,"topRated": "top_rated","topRatedPlus": "top_rated_plus","idVerified": false,"portfolioCount": 50,"profileUrl": "https://www.upwork.com/freelancers/..."}
Example Inputs
Simplest possible run — just a keyword:
{"keyword": "python developer","maxResults": 50}
Top Rated Python developers in Asia, $60+/hr, 1,000+ hours billed in last 6 months:
{"keyword": "python","maxResults": 100,"regions": ["Asia"],"talentBadges": ["Top Rated", "Top Rated Plus"],"hourlyRateRange": "60+","hoursBilled": "1000","hoursBilledRecentOnly": true,"languages": ["English"]}
US/Canada UX designers working Eastern or Pacific hours:
{"keyword": "UX designer","maxResults": 50,"countries": ["United States", "Canada"],"timezones": ["(UTC-07:00) Pacific Time (US & Canada); Los Angeles","(UTC-04:00) Eastern Time (US & Canada)"],"hourlyRateRange": "60+","englishLevel": 3}
Rising Talent video editors — for rate benchmarking:
{"keyword": "video editor","maxResults": 500,"talentBadges": ["Rising Talent"],"talentType": "independent"}
Who uses this
Recruiters & hiring managers Before posting a job, pull 100 matching profiles. Know the typical rate range, where supply is concentrated, and what skills top candidates highlight — before you write a single word of your job post.
Agencies Benchmark your positioning against competitors. See how Top Rated Plus freelancers in your niche describe themselves, what they charge, and what skills they lead with.
Market researchers & analysts Track freelancer supply by region, skill, and rate tier. Export clean datasets for analysis in Excel, Python, or any BI tool.
Sales & growth teams Build prospect lists of freelancers who work in your target vertical. Filter by earnings, hours billed, and badge status to focus on the ones worth reaching out to.
Filters
Search & Volume
| Input | Description |
|---|---|
keyword | Skill, title, or any search term |
maxResults | 1–1,000 profiles per run |
Location
| Input | Options |
|---|---|
regions | Africa, Americas, Asia, Europe, Oceania |
subregions | e.g. South-Eastern Asia, Western Europe |
countries | 200+ countries (full list in input form) |
timezones | Match by local working hours |
Talent Quality
| Input | Options |
|---|---|
talentBadges | Top Rated Plus, Top Rated, Rising Talent |
minEarnings | any / 1 / 100 / 1000 / 10000 / none |
hoursBilled | any / 1 / 100 / 1000 |
hoursBilledRecentOnly | true = last 6 months only |
englishLevel | 1 Basic · 2 Conversational · 3 Fluent · 4 Native |
Rate & Type
| Input | Options |
|---|---|
hourlyRateRange | any / 0-10 / 10-30 / 30-60 / 60+ |
talentType | all / independent / agency |
languages | e.g. "English", "Japanese", "French" |
Output Fields
| Field | Type | Description |
|---|---|---|
title | string | Professional title |
description | string | Full profile bio |
hourlyRate | number | Hourly rate (USD) |
currency | string | Always "USD" |
skills | array | Full tagged skill list |
location.country | string | Country |
location.region | string | e.g. "Asia" |
location.timezone | string | e.g. "UTC+05:30 ..." |
totalEarnings | number | Lifetime earnings (USD). Note: Upwork hides exact amounts above certain thresholds — a value of 0 may mean the freelancer has opted to hide earnings, not that they have none. |
totalHours | number | Total hours billed on platform |
totalHourlyJobs | number | Number of hourly contracts |
totalFixedJobs | number | Number of fixed-price contracts |
totalCompletedJobs | number | Completed contracts |
topRated | string | "top_rated", "eligible", or empty |
topRatedPlus | string | "top_rated_plus", "tr_plus_eligible", or empty |
idVerified | boolean | Identity verification status |
portfolioCount | number | Number of portfolio items |
profileUrl | string | Direct link to Upwork profile |
Limits
- Max 1,000 profiles per run — Upwork's public search cap
- Data is from Upwork's non-logged-in talent search (same view as a visitor without an account)
Filter Reference
Hourly Rate
"any" · "0-10" · "10-30" · "30-60" · "60+"
Earned Amount
"any" · "1" ($1+) · "100" ($100+) · "1000" ($1K+) · "10000" ($10K+) · "none" (no earnings yet)
Hours Billed
"any" · "1" · "100" · "1000"
English Level
1 Basic · 2 Conversational · 3 Fluent · 4 Native/Bilingual
Timezone Examples
"(UTC-07:00) Pacific Time (US & Canada); Los Angeles""(UTC+05:30) Mumbai, Kolkata, Chennai, New Delhi""(UTC+09:00) Tokyo, Osaka, Sapporo, Seoul"
Multiple timezones with the same UTC offset are automatically deduplicated.