Upwork Scraper — Jobs, Freelancers, Budgets & Skills avatar

Upwork Scraper — Jobs, Freelancers, Budgets & Skills

Under maintenance

Pricing

Pay per usage

Go to Apify Store
Upwork Scraper — Jobs, Freelancers, Budgets & Skills

Upwork Scraper — Jobs, Freelancers, Budgets & Skills

Under maintenance

Scrape Upwork job listings and freelancer profiles. Extract job titles, descriptions, budgets, required skills, client countries, client ratings, proposal counts, experience levels, and posting dates. Also scrape freelancer profiles with hourly rates, job success scores, total earnings, skills, and

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Ricardo Akiyoshi

Ricardo Akiyoshi

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

an hour ago

Last modified

Categories

Share

Upwork Jobs & Freelancer Scraper

Scrape Upwork job listings and freelancer profiles at scale. Extract complete job details including budgets, skills, proposals, client ratings, and more. Also scrape freelancer profiles with hourly rates, job success scores, earnings, and portfolio items.

Features

  • Job search scraping -- search by keyword, category, experience level, job type, and budget range
  • 35 job categories -- web dev, mobile, AI/ML, design, writing, marketing, data entry, and more
  • Full detail extraction -- visit each job's page for complete descriptions, all skills, and client history
  • Freelancer profiles -- hourly rates, job success %, total earnings, skills, portfolio, work history
  • Smart pagination -- automatically follows Upwork's paginated search results
  • Budget filtering -- set min/max budget for fixed-price jobs
  • Experience level filter -- entry, intermediate, or expert
  • Time filtering -- jobs posted within 1, 3, 7, 14, or 30 days
  • Client country filter -- narrow to jobs from specific countries
  • Anti-bot handling -- detects Cloudflare challenges and stops gracefully
  • User agent rotation -- rotates between 8 realistic browser user agents
  • Proxy support -- Apify residential proxies for reliable large-scale scraping
  • Pay-per-event -- only pay for results successfully scraped ($0.005/result)

Use Cases

Freelancer Market Research

Monitor job posting trends across categories to understand demand for specific skills, average budgets, and client expectations.

Competitive Intelligence

Track what types of jobs are being posted in your niche, typical budgets offered, and how many proposals competitors are submitting.

Rate Benchmarking

Scrape freelancer profiles to benchmark hourly rates and job success scores across different skill sets and experience levels.

Lead Generation

Find potential clients posting jobs in your area of expertise, with their spending history and verification status.

Hiring Intelligence

Analyze freelancer supply -- find top-rated freelancers, their rates, availability, and specializations for recruitment.

Academic Research

Collect structured data on the gig economy, freelance labor markets, skill pricing, and geographic distribution.

Input

FieldTypeDefaultDescription
searchTermsString[]["web scraping"]Keywords to search for (each term runs separately)
categoryString(all)Job category filter (35 options)
experienceLevelString(all)entry, intermediate, or expert
jobTypeString(all)hourly or fixed
budgetMinInteger0Min budget for fixed-price jobs (0 = no min)
budgetMaxInteger0Max budget for fixed-price jobs (0 = no max)
maxResultsInteger500Max results to scrape (0 = unlimited)
scrapeFreelancersBooleanfalseAlso scrape freelancer profiles
scrapeJobDetailsBooleantrueVisit detail pages for full data
clientCountryString(all)Filter by client country name
postedWithinString(any)1, 3, 7, 14, or 30 days
maxConcurrencyInteger3Parallel requests (1-10)
proxyObject(none)Apify proxy configuration

Categories

CategorySlugCategorySlug
Web Developmentweb-developmentMobile Developmentmobile-development
Software Developmentsoftware-developmentData Sciencedata-science-analytics
Machine Learning / AImachine-learning-aiDevOps / Clouddevops-cloud
CybersecuritycybersecurityBlockchainblockchain
QA / Testingqa-testingGraphic Designgraphic-design
UI/UX Designui-ux-designWeb Designweb-design
Video Editingvideo-editingWritingwriting
CopywritingcopywritingContent Writingcontent-writing
Technical Writingtechnical-writingTranslationtranslation
SEOseoSocial Media Marketingsocial-media-marketing
Email Marketingemail-marketingSEM / PPCsem-ppc
Data Entrydata-entryVirtual Assistantvirtual-assistant
Project Managementproject-managementCustomer Servicecustomer-service
AccountingaccountingLegallegal

Input Examples

Python developer jobs, $1K+ budget

{
"searchTerms": ["python developer"],
"category": "software-development",
"jobType": "fixed",
"budgetMin": 1000,
"maxResults": 200,
"scrapeJobDetails": true
}

React + Node.js jobs posted this week

{
"searchTerms": ["react", "node.js", "full stack"],
"category": "web-development",
"experienceLevel": "intermediate",
"postedWithin": "7",
"maxResults": 500
}

AI/ML freelancers with rates and success scores

{
"searchTerms": ["machine learning engineer", "data scientist"],
"category": "machine-learning-ai",
"scrapeFreelancers": true,
"scrapeJobDetails": false,
"maxResults": 300
}

Expert-level jobs from US clients

{
"searchTerms": ["senior developer"],
"experienceLevel": "expert",
"clientCountry": "United States",
"postedWithin": "3",
"maxResults": 100
}

Web scraping jobs and freelancers (full dataset)

{
"searchTerms": ["web scraping", "data extraction", "crawling"],
"scrapeFreelancers": true,
"scrapeJobDetails": true,
"maxResults": 1000,
"maxConcurrency": 2
}

Output

Job Listing

{
"title": "Build a Python Web Scraper for E-commerce Data",
"url": "https://www.upwork.com/jobs/~01abc123def456",
"description": "We need an experienced Python developer to build a web scraper that extracts product data from 5 major e-commerce sites...",
"budget": 2500,
"budgetRaw": "$2,500",
"hourlyRateMin": null,
"hourlyRateMax": null,
"jobType": "fixed",
"experienceLevel": "Expert",
"skills": ["Python", "Web Scraping", "Scrapy", "Selenium", "BeautifulSoup", "API Integration"],
"clientCountry": "United States",
"clientRating": 4.8,
"clientSpent": "$50K+",
"clientTotalHires": "23",
"clientTotalJobs": "31",
"clientHireRate": "74%",
"clientMemberSince": "Jan 2019",
"proposals": "10-15",
"interviews": 3,
"postedAt": "2026-03-01T10:30:00.000Z",
"duration": "1 to 3 months",
"hoursPerWeek": null,
"paymentVerified": true,
"connectsCost": 16,
"searchTerm": "web scraping",
"searchCategory": "Software Development",
"dataType": "job",
"scrapedAt": "2026-03-01T12:00:00.000Z"
}

Freelancer Profile

{
"name": "Alex M.",
"url": "https://www.upwork.com/freelancers/~01xyz789abc",
"profileTitle": "Senior Full-Stack Developer | Python | React | AWS",
"overview": "10+ years building scalable web applications. Expert in Python, JavaScript, React, and cloud architecture...",
"hourlyRate": 85,
"hourlyRateRaw": "$85.00/hr",
"jobSuccess": 98,
"totalEarnings": "$200K+",
"totalEarningsAmount": 200000,
"totalHours": 4500,
"totalJobs": 87,
"skills": ["Python", "React", "Node.js", "AWS", "PostgreSQL", "Docker", "GraphQL"],
"location": "United States",
"rating": 4.95,
"languages": ["English: Native", "Spanish: Conversational"],
"education": [
{ "school": "MIT", "degree": "BS Computer Science" }
],
"employment": [
{ "company": "Google", "role": "Senior Software Engineer" }
],
"certifications": ["AWS Solutions Architect Professional"],
"portfolio": [
{ "title": "E-commerce Platform", "image": "https://...", "url": "https://..." }
],
"workHistory": [
{
"jobTitle": "Build REST API with Python Flask",
"feedback": "Excellent work, delivered on time...",
"rating": 5.0,
"period": "Dec 2025 - Jan 2026",
"amount": "$3,500"
}
],
"availability": "More than 30 hrs/week",
"memberSince": "March 2016",
"searchTerm": "python developer",
"dataType": "freelancer",
"scrapedAt": "2026-03-01T12:00:00.000Z"
}

Performance Tips

  1. Use proxies -- Upwork has strong anti-bot protection. Apify residential proxies are highly recommended for reliable results.
  2. Start small -- test with maxResults: 10 before scaling up.
  3. Lower concurrency -- maxConcurrency: 2 is safest. Only increase with good proxies.
  4. Skip details for speed -- set scrapeJobDetails: false for 3-5x faster scraping when you only need search-level data.
  5. Be specific -- narrow search terms get better results and fewer pages to scrape.
  6. Use time filters -- postedWithin: 7 reduces total pages significantly.
  7. Separate runs -- run jobs and freelancers in separate runs for easier data management.

Anti-Bot Protection

Upwork uses Cloudflare and custom anti-bot measures. This actor handles them by:

  • Rotating user agents across 8 realistic browser signatures
  • Setting proper HTTP headers (Sec-Fetch, Accept, etc.)
  • Limiting requests to 20/minute by default
  • Detecting challenge pages and stopping gracefully
  • Preserving all data collected before a block
  • Supporting Apify proxy rotation for IP diversity

If you see "Anti-bot challenge detected" in logs, the actor saves all results collected so far. Switch to Apify residential proxies for the most reliable experience.

Pricing (Pay Per Event)

This actor uses Apify's pay-per-event pricing model:

EventPriceDescription
result-scraped$0.005Charged per job or freelancer successfully scraped

Example costs:

  • 100 jobs = $0.50
  • 500 jobs + 200 freelancers = $3.50
  • 1,000 jobs with details = $5.00

This actor is provided as a technical tool for market research and data analysis. Users are responsible for ensuring their use complies with Upwork's Terms of Service and all applicable laws. The actor is designed for personal research, competitive analysis, and academic purposes. Do not use scraped data for spamming, harassment, or unauthorized commercial use.