Upwork Scraper - Freelance Jobs, Budget & Skills
Pricing
from $5.00 / 1,000 results
Upwork Scraper - Freelance Jobs, Budget & Skills
Scrape Upwork freelance job listings: title, description, budget (fixed/hourly), required skills, client rating, client spend, proposals count, and posting date. World's largest freelance marketplace. No login needed.
Pricing
from $5.00 / 1,000 results
Rating
0.0
(0)
Developer
Thirdwatch
Maintained by CommunityActor stats
2
Bookmarked
40
Total users
8
Monthly active users
3.4 hours
Issues response
9 days ago
Last modified
Categories
Share
Upwork Scraper
Thirdwatch portfolio: 5K users across 88 public Actors, 2M+ records delivered, and >99% run success. Explore all Thirdwatch Actors.
Scrape Upwork freelance job listings — titles, descriptions, budgets, required skills, public client history, and proposal activity.
What you get
Structured freelance job data from Upwork, the world's largest freelance marketplace. Search by keyword and get job titles, full descriptions, budgets (fixed or hourly), required skills, experience levels, plus the proposal range and client history that Upwork exposes publicly. No Upwork login needed.
Output fields
| Field | Description |
|---|---|
title | Job title |
description | Full job description |
budget_type | Fixed or Hourly |
budget_min | Minimum budget (fixed-price jobs) |
budget_max | Maximum budget (fixed-price jobs) |
hourly_rate | Hourly rate range (hourly jobs) |
skills | Required skills / tags |
experience_level | Entry, Intermediate, or Expert |
client_rating | Client's overall rating on Upwork |
client_spend | Client's total historical spend on Upwork |
client_location | Client's city and country, when public |
client_hires | Total number of hires by the client |
proposals_range | Public proposal range bucket (e.g., "20 to 50") |
is_featured | Whether the job is featured |
project_length | Expected project duration |
posted_date | When the job was posted |
country | Client/job country |
client_member_since | Date the client joined Upwork, when public detail enrichment is enabled |
client_total_hours | Total client hours shown publicly, when available |
payment_verified | Whether Upwork publicly marks the client's payment method verified |
url | Upwork job URL |
Example output
{"title": "React Native Mobile App Developer","description": "Looking for an experienced React Native developer to build a cross-platform marketplace app from scratch...","budget_type": "Fixed","budget_min": 5000,"budget_max": 10000,"skills": ["React Native", "JavaScript", "iOS", "Android"],"experience_level": "Expert","client_rating": 4.8,"client_spend": "$150K total spent","client_location": "Austin, United States","client_hires": 28,"proposals_range": "20 to 50","payment_verified": true,"project_length": "1 to 3 months","posted_date": "2026-04-20","url": "https://www.upwork.com/jobs/~01abcdef1234567890"}
Input parameters
| Parameter | Required | Description |
|---|---|---|
queries | Yes | Search queries (e.g., ["python developer", "react frontend"]). Each query runs a separate Upwork search. |
maxResults | No | Maximum total jobs to return across all queries. Upwork shows 10 jobs per page. Default 5. |
includeJobDetails | No | Default true. Enriches rows with public proposal and client history fields. Set to false for the fastest search-only run. |
proxyConfiguration | No | Apify proxy settings. Leave default for best results. |
Use cases
- Freelancers: Track new postings in your niche, compare budgets, and calibrate proposal pricing.
- Agencies: Monitor demand for specific skills and spot clients with large spend histories.
- Market researchers: Analyze freelance rates and project volumes by skill and region.
- Recruiters: Understand freelance compensation ranges when planning internal budgets.
Pricing
Pay-per-result pricing. Tiered discounts apply automatically based on usage volume.
| Tier | Price per result |
|---|---|
| FREE | $0.008 |
| BRONZE | $0.006 |
| SILVER | $0.005 |
| GOLD | $0.004 |
Limitations
- Upwork listings are time-sensitive and can close within hours of posting.
- Client and proposal fields reflect only what Upwork displays on the anonymous public job page; new or private clients may not show spend, hires, hours, rating, or payment status.
- Upwork does not expose the Connects required to anonymous visitors, so this no-login Actor does not return or estimate Connects. That value is visible only in Upwork's authenticated application flow and can change while a job is live.
- Budget ranges and proposal ranges are marketplace estimates, not final contract terms or exact applicant counts.
- Upwork has aggressive bot protection; very large parallel runs may slow down.
Compared to alternatives
- vs. neatrat/upwork-scraper (~$0.0035 per result, 2.9K users): Their scraper is cheaper thanks to a cookie-pool trick. This actor is positioned as the reliable, no-setup alternative — you get the same fields without maintaining cookie pools, and it keeps working when their cookie pool gets burned.
Pairs well with LinkedIn Profile Scraper for enriching client or freelancer research.
FAQ
Do I need an Upwork account? No. The actor only reads public search results.
Can I filter by budget type or experience level?
Not directly via input today — include terms in your queries (e.g., "expert python developer") for keyword-level targeting.
How many jobs can I pull per run?
Up to 500 via maxResults. Bear in mind Upwork only returns 10 per page, so large runs walk through many pages.
How fresh is the data? Pulled live at run time — as fresh as Upwork itself.
Last verified: 2026-07
More scrapers at thirdwatch.dev.