Upwork Freelancer & Talent Scraper avatar

Upwork Freelancer & Talent Scraper

Pricing

from $19.00 / 1,000 results

Go to Apify Store
Upwork Freelancer & Talent Scraper

Upwork Freelancer & Talent Scraper

Scrape Upwork freelancer profiles by keyword. Extract names, titles, countries, Job Success Scores, total earnings, skills, and agency info. Export to CSV, Excel, JSON, XML.

Pricing

from $19.00 / 1,000 results

Rating

0.0

(0)

Developer

ParseForge

ParseForge

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

18 hours ago

Last modified

Share

ParseForge Banner

💼 Upwork Freelancer & Talent Scraper

🚀 Export Upwork freelancer profiles in seconds. Search by any keyword and get names, titles, countries, Job Success Scores, total earnings, skills, agency info, and availability - no login required, ready to download as CSV, Excel, JSON, or XML.

🕒 Last updated: 2026-05-21 · 📊 22 fields per record · Up to 1,000,000 freelancers · Global coverage

The Upwork Freelancer & Talent Scraper lets you extract public freelancer data from Upwork's talent marketplace at scale. Provide one or more search keywords (e.g. "react developer", "graphic designer", "copywriter"), and the scraper pages through Upwork's public search results collecting every freelancer card it finds. All data comes directly from Upwork's live public pages - no login, no API key, no Upwork account needed.

The dataset includes the 22 most useful public signals per freelancer: profile image, professional headline, country, Upwork tier badge (Top Rated Plus / Top Rated / Rising Talent / Expert-Vetted), Job Success Score, total lifetime earnings, skills list, agency affiliation, availability badge, consultation flag, search position, and more. Perfect for recruiters building talent pipelines, researchers studying the gig economy, or businesses benchmarking freelancer rates.

Coverage: Upwork lists 139,000+ freelancers for competitive keywords like "react developer". The scraper handles deep pagination (up to 50 pages per query) and deduplicates records across runs. Residential US proxies + Camoufox browser fingerprinting ensure reliable extraction through Cloudflare protection.

Who uses thisWhy
Recruiters & HR teamsBuild shortlists of vetted freelancers without manual search
Freelance platformsCompetitive intelligence on talent supply and pricing signals
Market researchersAnalyze gig economy trends, skill distributions, and earnings
Startup foundersFind Top Rated Plus developers, designers, and writers quickly
Data scientistsTrain models on freelancer bio text, skills, and reputation data
Lead generation agenciesIdentify high-earning freelancers as potential B2B clients

📋 What the Upwork Scraper does

  • Searches Upwork's public talent marketplace for any keyword or set of keywords
  • Paginates through all result pages (up to 50 pages per query, ~13 freelancers per page)
  • Extracts all 22 publicly visible fields from each freelancer card
  • Deduplicates records across multiple search terms in a single run
  • Handles Cloudflare bot protection using stealth browser + residential US proxy
  • Exports to CSV, Excel, JSON, and XML via the Apify platform

💡 Why it matters: Upwork has over 18 million registered freelancers. Manual search only shows a few pages. This scraper unlocks bulk access to the full public talent pool for any skill category - in minutes, not days.

🎬 Full Demo

🚧 Coming soon

⚙️ Input

FieldTypeRequiredDefaultDescription
searchTermsarrayNo["react developer"]List of keywords to search on Upwork talent marketplace. Each term is searched independently.
maxItemsintegerNo10Maximum number of freelancer records to collect. Free users: capped at 10. Paid users: up to 1,000,000.

Example 1 - Single keyword, 50 results:

{
"searchTerms": ["react developer"],
"maxItems": 50
}

Example 2 - Multiple keywords, larger dataset:

{
"searchTerms": ["react developer", "python developer", "ui ux designer", "copywriter"],
"maxItems": 500
}

⚠️ Good to Know: The scraper uses residential US proxies to access Upwork's public search. Free accounts are limited to 10 freelancer records. Create a free account w/ $5 credit to get started, then upgrade for full access.

📊 Output

Each record contains 22 fields:

FieldTypeDescription
🖼 imageUrlstringFreelancer profile picture URL
🧑 namestringFreelancer display name
📌 titlestringProfessional headline
🔗 urlstringFull Upwork profile URL
🆔 idstringUpwork contractor unique ID
🌍 countrystringFreelancer country
🏅 tierstringTop Rated Plus / Top Rated / Rising Talent / Expert-Vetted
jobSuccessScoreintegerJob Success Score percentage (0-100)
💵 totalEarningsstringLifetime earnings label, e.g. "$300K+"
💵 totalEarningsValueMinintegerNumeric earnings floor in USD (e.g. 300000)
📝 descriptionstringFull bio / overview text
🛠 skillsarrayList of skill tags
🎯 jobsRelevantToSearchintegerCount of past jobs relevant to the search query
💡 recommendedReasonstringUpwork recommendation label
🟢 isAvailableNowbooleanHas "Available Now" badge
💬 offersConsultationsbooleanOffers paid consultations
🚀 isBoostedbooleanPaid boosted listing
🏢 agencyNamestringAgency name if affiliated
🏢 agencyEarningsstringAgency total earnings label
🔍 searchTermstringKeyword that returned this freelancer
📊 searchPositionintegerPosition in search results (1-based)
🕒 scrapedAtstringISO timestamp of collection
errorstringError message if collection failed

Sample records (real data from 2026-05-21):

[
{
"imageUrl": "https://www.upwork.com/profile-portraits/c1GyxylmbwyRDMzLnTieLbYbtAhDZRD3HTLPFtGFsI0jm3I4sQrbMr8LV3iqXfkiq1",
"name": "Yurij M.",
"title": "React Developer | Full Stack Developer React | Frontend React Next.js",
"url": "https://www.upwork.com/freelancers/~01dc05c3dd4817bee4",
"id": "1463815904098725888",
"country": "Ukraine",
"tier": "Top Rated Plus",
"jobSuccessScore": 100,
"totalEarnings": "$300K+",
"totalEarningsValueMin": 300000,
"skills": ["CSS", "JavaScript", "React", "Redux", "Node.js", "HTML5", "TypeScript", "Vue.js", "MongoDB"],
"jobsRelevantToSearch": 23,
"recommendedReason": "23 jobs related to your search",
"isAvailableNow": true,
"offersConsultations": true,
"isBoosted": false,
"agencyName": "Soft Bee",
"agencyEarnings": "$400K+",
"searchTerm": "react developer",
"searchPosition": 1,
"scrapedAt": "2026-05-21T12:19:54.288Z",
"error": null
},
{
"imageUrl": "https://www.upwork.com/profile-portraits/c1pPxfzLZCY5gqzbPmuHHwcwuAUfPQP8dRhg71efx-E50MwEYq7TN0qPr_gT0kOjgP",
"name": "Mykhailo D.",
"title": "Front End Developer React Developer Full Stack Developer React Native",
"url": "https://www.upwork.com/freelancers/~01b46d301b6827ab0c",
"id": "1143921350420840448",
"country": "Ukraine",
"tier": "Top Rated Plus",
"jobSuccessScore": 100,
"totalEarnings": "$400K+",
"totalEarningsValueMin": 400000,
"skills": ["CSS", "Front-End Development", "JavaScript", "React", "Node.js", "TypeScript", "Next.js", "Python"],
"jobsRelevantToSearch": 8,
"recommendedReason": "8 jobs related to your search",
"isAvailableNow": true,
"offersConsultations": true,
"isBoosted": false,
"agencyName": "Hoverla Soft",
"agencyEarnings": "$100K+",
"searchTerm": "react developer",
"searchPosition": 2,
"scrapedAt": "2026-05-21T12:19:54.289Z",
"error": null
},
{
"imageUrl": "https://www.upwork.com/profile-portraits/c1z0rS30VbTRWd9Tmq-OxDg3GKXBG_KbON50H-vmqWffPe94BNt70Hwd7u5N_tgkTy",
"name": "Raman A.",
"title": "React Developer / Full Stack Developer / Full Stack Cursor / PM",
"url": "https://www.upwork.com/freelancers/~011ea97aeb9206b2a7",
"id": "424277385188458496",
"country": "Lithuania",
"tier": "Top Rated",
"jobSuccessScore": 100,
"totalEarnings": "$700K+",
"totalEarningsValueMin": 700000,
"skills": ["CSS", "Front-End Development", "JavaScript", "React", "Python", "Node.js", "TypeScript", "Laravel", "WordPress"],
"jobsRelevantToSearch": 7,
"recommendedReason": "7 jobs related to your search",
"isAvailableNow": true,
"offersConsultations": true,
"isBoosted": false,
"agencyName": "CreativeIT",
"agencyEarnings": "$1M+",
"searchTerm": "react developer",
"searchPosition": 3,
"scrapedAt": "2026-05-21T12:19:54.350Z",
"error": null
}
]

✨ Why choose this Actor

FeatureBenefit
🧠 Stealth browser + CamoufoxBypasses Cloudflare bot protection reliably
🌐 Residential US proxiesReal user IP fingerprint for consistent access
📊 22 fields per freelancerMore complete than manual copy-paste or basic scrapers
🔁 Multi-keyword batch runsOne run, multiple search terms, deduplicated output
💰 Earnings data includedtotalEarnings and numeric totalEarningsValueMin for easy sorting/filtering
🏅 Tier badges capturedFilter by Top Rated Plus, Top Rated, Rising Talent, Expert-Vetted
🟢 Availability flagisAvailableNow - immediately filter for ready-to-hire talent
📦 4 export formatsCSV, Excel, JSON, XML - download directly from Apify
🔌 API + webhooksIntegrate with Make, Zapier, Slack, Google Sheets

📈 How it compares to alternatives

MethodSpeedScaleCostReliability
This ActorFast (auto-paginated)Up to 1,000,000Pay-per-useHigh (stealth + proxy)
Manual Upwork searchVery slow~100 results per sessionFreeN/A
Upwork API (official)FastLimited by rate limitsRequires partner statusHigh
Generic web scraperVariableLimitedVariableLow (blocked easily)

🚀 How to use

  1. Create a free Apify account w/ $5 credit
  2. Open the Upwork Freelancer Scraper on Apify Store
  3. Click Try for free
  4. Enter your search terms (e.g. "react developer", "copywriter")
  5. Set maxItems to the number of freelancers you need
  6. Click Start and wait for the run to complete
  7. Download your dataset as CSV, Excel, JSON, or XML

💼 Business use cases

Talent Acquisition & Recruiting

Build targeted shortlists of vetted freelancers for any skill category. Filter by tier (Top Rated Plus only), country, JSS above 95%, or availability. Export to your ATS or Google Sheets for team review. A search for "python developer" returns 100+ Top Rated candidates with full bios and skills - in minutes.

Competitor & Market Intelligence

Monitor how many Top Rated Plus freelancers exist in your niche. Track the distribution of earnings tiers ($10K+, $100K+, $1M+) to understand market maturity. Compare skill frequency across categories. Run weekly to spot emerging skill trends before your competitors.

Sales & Lead Generation

Identify high-earning freelancers ($100K+, $300K+) as potential agency clients or SaaS customers. The totalEarningsValueMin field enables precise numeric filtering. Freelancers with agencyEarnings of $1M+ are running substantial operations and may need professional services.

Academic & Gig Economy Research

Download thousands of freelancer bios, country data, and earnings bands for quantitative research. Analyze the geography of high-earning freelancers, skill clustering, the premium commanded by Top Rated vs. Rising Talent badges, and the distribution of JSS scores across categories.

🔌 Automating Upwork Scraper

Connect the Upwork Scraper to your workflow tools:

  • Make (formerly Integromat): Trigger a run on schedule, send results to Google Sheets or Airtable
  • Zapier: Auto-push new freelancer records to HubSpot, Notion, or Slack
  • Slack: Alert your team when a new batch of Top Rated Plus candidates is ready
  • Google Sheets: Live-sync freelancer data for collaborative review
  • REST API: POST /v2/acts/parseforge~upwork-scraper/runs - fully scriptable

🌟 Beyond business use cases

Research & Academia

Study the global distribution of freelance labor, skill premiums, and the effect of Upwork badge tiers on earnings. With 22 structured fields per record, datasets of 10,000+ freelancers are ready for regression analysis, NLP on bio text, or geographic clustering.

Non-profit & Education

Career counseling organizations can show students real earning outcomes for skills like "data scientist" or "ux designer." See which skills command $300K+ lifetime earnings vs. which are saturated.

Creative & Content Projects

Journalists and podcasters covering the future of work can pull live statistics - how many Top Rated Plus React developers are available right now? What percentage list agency affiliations? Fresh data in minutes.

Experimentation & Side Projects

Build a freelancer comparison tool, a skills-demand tracker, or a JSS benchmark dashboard. The consistent 22-field schema makes integration into any app straightforward.

🤖 Ask an AI assistant about this scraper

Not sure what to scrape or how to use the data? Paste this into ChatGPT, Claude, or any AI assistant:

"I have a CSV of Upwork freelancer profiles with fields: name, title, country, tier, jobSuccessScore, totalEarnings, totalEarningsValueMin, skills, agencyName, isAvailableNow. Help me: 1) filter for Top Rated Plus freelancers with JSS >= 95, 2) rank by totalEarningsValueMin descending, 3) extract the top 5 most common skills."

The AI can write the Python/Excel formula instantly. Your dataset is the fuel.

❓ Frequently Asked Questions

🔒 Do I need an Upwork account? No. The scraper accesses Upwork's public talent search pages - the same results you'd see browsing without logging in.

📊 How many freelancers can I get per search term? Upwork returns up to ~13 results per page and allows up to 50 pages of pagination, giving approximately 650 results per keyword. For popular terms like "react developer", the scraper finds 139,000+ listed results. Use multiple keywords to maximize coverage.

🌍 Can I filter by country? Not directly in the input - Upwork's public search doesn't expose a country filter in the URL. However, every record includes the country field, so you can filter the exported dataset in Excel or with a script.

💰 How is totalEarningsValueMin calculated? Upwork shows earnings as labels like "$300K+". The scraper parses this to a numeric floor (e.g. 300000). Use this field to sort or filter freelancers by earning tier programmatically.

🏅 What does the tier field contain? One of: Top Rated Plus, Top Rated, Rising Talent, Expert-Vetted, or null if no badge is shown. Top Rated Plus = top 3% of talent by Upwork's criteria.

🔄 Can I run it on a schedule? Yes. Use the Apify Scheduler to run weekly or daily and keep your talent database fresh. Combine with Make or Zapier to auto-sync to Google Sheets.

⏱ How long does a 100-item run take? Typically 3-8 minutes depending on Cloudflare response time and proxy routing. The stealth browser requires a warmup step on the Upwork homepage before searching.

🆓 What do free users get? Free users get 10 freelancer records per run - enough to verify the data quality and field coverage. Upgrade to a paid plan to unlock up to 1,000,000 records.

🔌 Can I use the data with an API? Yes. Every Apify dataset is accessible via REST API. Fetch results as JSON: GET https://api.apify.com/v2/datasets/{datasetId}/items?format=json

🛡 Is this legal? The scraper only accesses publicly available data - the same information visible to any visitor browsing Upwork without an account. Always use scraped data in compliance with applicable laws and Upwork's terms of service.

📁 What export formats are available? CSV, Excel (.xlsx), JSON, XML, RSS - all available directly from the Apify dataset UI or API.

🔍 Can I search for freelancers in a specific category? Yes - use Upwork-style keyword searches: "logo designer", "video editor", "seo specialist", "wordpress developer", etc. The more specific the keyword, the more targeted the results.

🔌 Integrate with any app

The Upwork Scraper dataset is accessible via Apify's standard integrations:

Storage & Productivity: Google Sheets, Airtable, Notion, Microsoft Excel, OneDrive

Automation: Make (Integromat), Zapier, n8n, Activepieces

CRM & Sales: HubSpot, Salesforce, Pipedrive, Close

Data & Analytics: BigQuery, Snowflake, PostgreSQL, MongoDB, Metabase

Communication: Slack, Microsoft Teams, Discord, Email (SendGrid)

Developer: REST API, Webhooks, JavaScript SDK, Python SDK

ActorDescription
PeoplePerHour Jobs ScraperScrape freelance job postings from PeoplePerHour
LinkedIn People ScraperExtract professional profiles from LinkedIn
G2 Reviews ScraperCollect software reviews and ratings from G2

💡 Pro Tip: browse the complete ParseForge collection for scrapers covering jobs, reviews, e-commerce, travel, and more - all production-ready and regularly maintained.

🆘 Need Help? Open our contact form

⚠️ Disclaimer: This is an independent tool and is not affiliated with, endorsed by, or connected to Upwork in any way. Only publicly available data is collected - the same information visible to any visitor browsing Upwork without an account. Use this data responsibly and in compliance with applicable laws and Upwork's terms of service.