πŸ”₯ Upwork Jobs Scraper avatar

πŸ”₯ Upwork Jobs Scraper

Pricing

$25.00/month + usage

Go to Apify Store
πŸ”₯ Upwork Jobs Scraper

πŸ”₯ Upwork Jobs Scraper

Scrape Upwork job listings at scale β€” titles, budgets, hourly rates, skills, and client details. Filter by keyword, client location, experience level, job type, and budget. Bypasses Cloudflare with residential proxies. Export to JSON, CSV, or Excel.

Pricing

$25.00/month + usage

Rating

2.2

(13)

Developer

Pedrock LLC

Pedrock LLC

Maintained by Community

Actor stats

74

Bookmarked

1.9K

Total users

5

Monthly active users

48 days

Issues response

6 days ago

Last modified

Categories

Share

Upwork Jobs Scraper πŸ”₯

Scrape Upwork.com job listings at scale β€” titles, budgets, hourly rates, skills, client details, and more. Bypasses Cloudflare with residential proxies. Filter by keyword, location, experience level, budget, and job type.

Perfect for freelancers hunting new gigs, agencies tracking demand, and analysts studying the freelance market. Enter a keyword, pick your filters, and get a clean structured dataset (JSON, CSV, Excel) in minutes.


✨ Why this scraper

  • Actually works β€” parses Upwork's current layout and clears the Cloudflare "Just a moment" challenge with residential proxies + Turnstile handling.
  • Powerful filtering β€” keyword, client location, experience level, hourly-rate range, job type (hourly/fixed), payment-verified-only, and sort order.
  • Rich data β€” title, full description, budget/hourly rate, skills, experience level, estimated time, posting time, and a stable job ID.
  • Bring your own filters β€” paste any Upwork search URL directly via Start URLs.
  • Optional logged-in mode β€” supply session cookies to unlock client fields (total spent, payment verified, rating, proposals).
  • No duplicates β€” results are de-duplicated by job URL automatically.

πŸš€ How to use

  1. Enter one or more Job keywords (e.g. React developer, logo design).
  2. (Optional) Add Client locations, Experience level, Job type, hourly-rate range, or payment-verified only.
  3. Set Max results (and optionally Max results per search to spread results across locations).
  4. Keep the default Residential proxy. Click Start.
  5. Download your data as JSON, CSV, or Excel β€” or pull it via the API.

πŸ’‘ Tip: To scrape a very specific search, run it once on upwork.com, copy the URL from your browser, and paste it into Start URLs β€” every filter you set on Upwork is respected.

πŸ”Ž Filtering options

FilterInput fieldNotes
KeywordJob keywordsOne search per keyword
Client locationClient locationsCountry or region
Experience levelExperience levelEntry / Intermediate / Expert
Contract typeJob typeHourly / Fixed / Any
Hourly rateMin / Max hourly rateApplies to hourly jobs
Payment verifiedPayment-verified onlyVerified clients only
SortSort byMost recent / Relevance
Raw searchStart URLsPaste any Upwork search URL

πŸ“€ Output fields

Each job in the dataset includes:

FieldDescription
jobIdStable Upwork job identifier
titleJob title
urlDirect link to the job posting
descriptionFull job description
postedAtWhen it was posted (e.g. "Posted 13 minutes ago")
contractTypee.g. "Hourly: $60.00 - $85.00" or "Fixed price"
hourlyRateHourly range (hourly jobs)
fixedPriceBudgetBudget (fixed-price jobs)
experienceLevelEntry / Intermediate / Expert
estimatedTimeDuration & weekly hours
tagsRequired skills
searchQuery, searchLocationThe search that produced the row

Logged-in mode (cookies) additionally populates: clientPaymentVerified, clientSpent, clientLocation, clientRating, proposals.

Example output

{
"jobId": "2076800888120589296",
"title": "Python/FastAPI + React Developer for small feature update",
"url": "https://www.upwork.com/jobs/...",
"postedAt": "Posted 13 minutes ago",
"description": "We're looking for a developer to add 2 small features...",
"contractType": "Hourly: $60.00 - $85.00",
"hourlyRate": "$60.00 - $85.00",
"fixedPriceBudget": "",
"experienceLevel": "Expert",
"estimatedTime": "Less than 1 month, Less than 30 hrs/week",
"tags": ["React", "Python", "FastAPI", "AWS Lambda"],
"searchQuery": "react developer",
"searchLocation": "United States"
}

πŸ” Unlocking client data (optional)

Client stats (spend, payment verification, ratings, proposals) are only visible to logged-in Upwork users. To include them:

  1. Log in to Upwork in your browser.
  2. Export your upwork.com cookies with a cookie-export extension (Cookie-Editor, EditThisCookie).
  3. Paste the exported JSON array into the Upwork login cookies input.

Leave it empty to scrape anonymously (all non-client fields still work).

πŸ’‘ Use cases

  • Freelancers β€” monitor fresh, relevant postings without refreshing Upwork all day.
  • Agencies β€” track demand and pricing for your services across regions.
  • Market research β€” analyze rates, skills in demand, and hiring trends.
  • Lead generation β€” build lists of clients actively hiring in your niche.

🌍 Supported locations

Any country or region Upwork supports (Americas, Europe, Asia, Africa, Oceania, and individual countries such as United States, United Kingdom, Canada, Germany, Australia, India, etc.).

πŸ”Œ API & integrations

Run this Actor from the Apify API, the CLI, or any integration (Make, Zapier, n8n, webhooks). Schedule it to run daily/weekly to keep a live feed of new jobs.

πŸ€– Use with AI agents (MCP)

This Actor is available as a tool for AI agents through the Apify MCP server. Agents built with Claude, ChatGPT, or any MCP-compatible client can call it directly to fetch live Upwork jobs β€” no glue code needed.

  • MCP endpoint: https://mcp.apify.com
  • Tool / Actor ID: kobimantzur/upwork-jobs-scraper
  • The structured input schema (keywords, filters) and output schema (typed job fields) let agents call it and parse results reliably.

Typical agent uses: "find fresh React jobs paying $50+/hr from verified US clients", monitoring pipelines, or feeding a job-matching assistant.


Not affiliated with Upwork. Scrapes only publicly available job-listing data. Use responsibly and in line with applicable terms and laws.