Scrape Upwork Job — Salaries, Locations & Requirements avatar
Scrape Upwork Job — Salaries, Locations & Requirements

Pricing

Pay per usage

Go to Apify Store
Scrape Upwork Job — Salaries, Locations & Requirements

Scrape Upwork Job — Salaries, Locations & Requirements

Scrape upwork job data at scale with this powerful Apify actor. Extracts salaries, locations & requirements with automatic pagination and proxy rotation. Perfect for market research, competitive intelligence, and data-driven decision making.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Donny Nguyen

Donny Nguyen

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

0

Monthly active users

a day ago

Last modified

Share

Scrape Upwork Jobs — Budgets, Skills & Client History

Extract job listing data from Upwork search results including titles, budgets, skill requirements, client information, and proposal counts.

What does this actor do?

This actor scrapes Upwork job listings based on a search query. It collects detailed information about each job posting including the budget or hourly rate, experience level, job type, skills required, client spending history, and more.

Features

  • Search for any job type across Upwork
  • Extract job titles and description snippets
  • Get budget ranges and hourly rates
  • Capture experience level requirements (Entry, Intermediate, Expert)
  • Identify job types (Fixed-price vs Hourly)
  • Track proposal counts and competition
  • Collect client spending history and ratings
  • Extract required skill tags
  • Multi-page support for larger result sets
  • Auth detection: gracefully handles login walls with clear status messages

Important Note

Upwork may require authentication to view job search results. If the actor encounters a login page or CAPTCHA, it will mark the result as "skipped - requires auth" rather than failing silently. This is expected behavior and indicates that Upwork is restricting unauthenticated access.

Input

FieldTypeDefaultDescription
searchQuerystring"react developer"Job type to search for
maxResultsinteger50Maximum number of results to scrape

Output

Each result contains:

{
"jobTitle": "Senior React Developer for SaaS Platform",
"descriptionSnippet": "We are looking for an experienced React developer to help build...",
"budget": "$50-$80/hr",
"experienceLevel": "Expert",
"jobType": "Hourly",
"proposalsCount": "15",
"clientSpend": "$125K",
"clientRating": "4.9",
"postedTime": "2 hours ago",
"skillsTags": ["React", "TypeScript", "Node.js", "Redux", "REST API"],
"jobUrl": "https://www.upwork.com/jobs/...",
"searchQuery": "react developer",
"scrapedAt": "2026-02-10T12:00:00.000Z"
}

If authentication is required:

{
"status": "skipped - requires auth",
"message": "Upwork requires authentication to view job search results.",
"url": "https://www.upwork.com/nx/search/jobs/?q=react+developer",
"searchQuery": "react developer",
"scrapedAt": "2026-02-10T12:00:00.000Z"
}

Notes

  • Upwork frequently requires authentication for job search pages
  • Results may vary based on account status and geographic location
  • The actor uses built-in delays to respect rate limits
  • Deduplication ensures no duplicate job listings in output

Built by donnycodesdefi