Upwork Scraper — Jobs, Freelancers, Budgets & Skills
Pricing
Pay per usage
Upwork Scraper — Jobs, Freelancers, Budgets & Skills
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
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
| Field | Type | Default | Description |
|---|---|---|---|
searchTerms | String[] | ["web scraping"] | Keywords to search for (each term runs separately) |
category | String | (all) | Job category filter (35 options) |
experienceLevel | String | (all) | entry, intermediate, or expert |
jobType | String | (all) | hourly or fixed |
budgetMin | Integer | 0 | Min budget for fixed-price jobs (0 = no min) |
budgetMax | Integer | 0 | Max budget for fixed-price jobs (0 = no max) |
maxResults | Integer | 500 | Max results to scrape (0 = unlimited) |
scrapeFreelancers | Boolean | false | Also scrape freelancer profiles |
scrapeJobDetails | Boolean | true | Visit detail pages for full data |
clientCountry | String | (all) | Filter by client country name |
postedWithin | String | (any) | 1, 3, 7, 14, or 30 days |
maxConcurrency | Integer | 3 | Parallel requests (1-10) |
proxy | Object | (none) | Apify proxy configuration |
Categories
| Category | Slug | Category | Slug |
|---|---|---|---|
| Web Development | web-development | Mobile Development | mobile-development |
| Software Development | software-development | Data Science | data-science-analytics |
| Machine Learning / AI | machine-learning-ai | DevOps / Cloud | devops-cloud |
| Cybersecurity | cybersecurity | Blockchain | blockchain |
| QA / Testing | qa-testing | Graphic Design | graphic-design |
| UI/UX Design | ui-ux-design | Web Design | web-design |
| Video Editing | video-editing | Writing | writing |
| Copywriting | copywriting | Content Writing | content-writing |
| Technical Writing | technical-writing | Translation | translation |
| SEO | seo | Social Media Marketing | social-media-marketing |
| Email Marketing | email-marketing | SEM / PPC | sem-ppc |
| Data Entry | data-entry | Virtual Assistant | virtual-assistant |
| Project Management | project-management | Customer Service | customer-service |
| Accounting | accounting | Legal | legal |
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
- Use proxies -- Upwork has strong anti-bot protection. Apify residential proxies are highly recommended for reliable results.
- Start small -- test with
maxResults: 10before scaling up. - Lower concurrency --
maxConcurrency: 2is safest. Only increase with good proxies. - Skip details for speed -- set
scrapeJobDetails: falsefor 3-5x faster scraping when you only need search-level data. - Be specific -- narrow search terms get better results and fewer pages to scrape.
- Use time filters --
postedWithin: 7reduces total pages significantly. - 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:
| Event | Price | Description |
|---|---|---|
result-scraped | $0.005 | Charged 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
Legal Notice
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.