Upwork Job Scraper avatar

Upwork Job Scraper

Pricing

$23.00/month + usage

Go to Apify Store
Upwork Job Scraper

Upwork Job Scraper

Scrape recent and relevant Upwork.com jobs, bypasses captchas. No cookie scrapes = no ban risk.

Pricing

$23.00/month + usage

Rating

4.9

(8)

Developer

Matthew James

Matthew James

Maintained by Community

Actor stats

28

Bookmarked

536

Total users

3

Monthly active users

5 days ago

Last modified

Share

Collect Upwork job listings as structured data for research, monitoring, and analysis.

Features

  • Optional cookies: Use current Upwork cookies to request additional client details.
  • Flexible proxies: Use Apify Proxy or your own proxy URLs.
  • Custom searches: Use a supported Upwork search URL or configure a search query and filters.
  • Pagination controls: Select the number of jobs per page and the number of pages.
  • Advanced filters: Filter by experience, project length, weekly hours, hourly rates, and fixed-price budgets.

Input guidance

  • Use a residential proxy and current cookies for the most reliable, detailed results.
  • A custom search URL overrides the search query and other search filters.
  • The search query is ignored when you provide a custom search URL.
  • Export the full cookie set from a logged-in Upwork browser session. Treat the export as a secret.
  • If cookies are incomplete, expired, or rejected, the Actor logs a warning and continues with standard results.
  • Runs without valid cookies can return fewer jobs and fewer pages.
  • The available input filters work with and without cookies.
  • Unavailable field values are null.

Invalid inputs fail before the scrape starts. A custom URL must be an HTTPS Upwork job-search URL. Page counts must be between 1 and 100. Custom URL page sizes must be between 1 and 50. Budgets cannot be negative, and each minimum budget must not exceed its maximum.

Standard result fields

  • Date Scraped
  • Job ID
  • Time Posted
  • Project Payment Type
  • Budget
  • Skill Level
  • Skills
  • Title
  • URL
  • Description
  • Project Length
  • Weekly Hours

Standard result example

{
"Date Scraped": "2025-01-16T12:09:25.591Z",
"Job ID": "7769492930342982627",
"Time Posted": "2025-01-16T12:07:35.591Z",
"Project Payment Type": "Hourly",
"Budget": "$20.00 - $40.00",
"Skill Level": "Entry Level",
"Skills": ["Administrative Support", "Microsoft Excel", "Microsoft Word", "Google Workspace", "Data Entry"],
"Title": "Administrative Assistant Needed for Letter Mailing in New York, USA",
"URL": "https://www.upwork.com/url",
"Description": "Lorem ipsum",
"Location": null,
"Total Spent": null,
"Feedback": null,
"Proposals": null,
"Project Length": "3 to 6 months",
"Weekly Hours": "Less than 30 hrs/week"
}

Additional fields with valid cookies

  • Location
  • Total Spent
  • Feedback
  • Proposals

Upwork can omit these values for some jobs. An omitted value appears as null.

Detailed result example

{
"Date Scraped": "2025-01-18T10:16:41.649Z",
"Job ID": "7769492930342982627",
"Time Posted": "2025-01-17T10:12:21.649Z",
"Project Payment Type": "Hourly",
"Budget": "$7.00 - $25.00",
"Skill Level": "Intermediate",
"Title": "Web Scraping Specialist for Real Estate Data",
"URL": "https://www.upwork.com/jobs/url",
"Description": "Lorem ipsum",
"Location": "United States",
"Total Spent": "$4,588.28",
"Feedback": 4.99,
"Proposals": 8,
"Project Length": "Less than 1 month",
"Weekly Hours": "Less than 30 hrs/week",
"Skills": [
"Python",
"Statistical Analysis",
"Microsoft Excel",
"Machine Learning",
"CI/CD",
"Data Engineering",
"Deep Learning"
]
}

Output

Results are available in the run's default dataset. Each dataset item contains one job and follows the 16-field structure shown above.

Choose an Actor