Upwork Jobs Scraper avatar
Upwork Jobs Scraper

Pricing

from $5.00 / 1,000 results

Go to Apify Store
Upwork Jobs Scraper

Upwork Jobs Scraper

Developed by

Sachin Kumar Yadav

Sachin Kumar Yadav

Maintained by Community

Upwork Jobs Scraper – Extract Freelance Job Data Easily. Scrape Upwork jobs with custom filters or URLs using this Apify Actor. Get clean, structured job data for analysis, automation, or lead generation.

0.0 (0)

Pricing

from $5.00 / 1,000 results

0

3

2

Last modified

7 days ago

Upwork Jobs Scraper (Apify Actor)

Search Upwork jobs with flexible filters or a direct Upwork search URL, and save structured results to your Apify dataset. ⚡ Built with reliability and clarity for seamless data workflows.

Features

  • 🔎 Flexible search: filter-based input (query, type, difficulty, etc.) or a direct Upwork search URL
  • 🧾 Structured output: one dataset item per job with id, title, type, info, skills, url, and more
  • 🧱 Designed for Apify: clear status messages and a clean dataset for easy export (JSON/CSV/Excel)
  • ♻️ Robust retries and pacing to maximize successful runs

Why Use This Actor? 💼

  • Consistent, structured results ready for dashboards, analytics, or automations
  • Simple configuration via Apify input UI—no code changes needed
  • Works great for lead generation, market research, and competitive tracking

Input Examples

Filter-based search:

{
"query": "Data Entry",
"type": ["hourly", "fixed"],
"sort": "recency",
"difficulty": ["entry", "intermediate", "expert"],
"client_location": "United States",
"min_hourly_rate": "50",
"max_hourly_rate": "70",
"min_fixed_budget": "5000",
"max_fixed_budget": "10000"
}

Direct Upwork search URL (filters ignored when url is provided):

{
"url": "https://www.upwork.com/nx/search/jobs/?nbs=1&q=lead%20generation"
}

Input Parameters

FieldTypeRequiredDescription
querystringNoKeywords to search (e.g., "Data Entry"). Ignored if url is provided.
typearrayNoJob types: hourly, fixed.
sortstringNoSort order: recency or relevance.
difficultyarrayNoExperience levels: entry, intermediate, expert.
durationarrayNoProject duration filters.
hours_per_weekarrayNoWeekly time: less_than_30, more_than_30.
client_hiresarrayNoClient hire count: 0, 1-9, 10+.
client_locationstringNoCountry filter (e.g., United States).
min_hourly_ratestringNoMinimum hourly rate.
max_hourly_ratestringNoMaximum hourly rate.
min_fixed_budgetstringNoMinimum fixed budget.
max_fixed_budgetstringNoMaximum fixed budget.
urlstringNoDirect Upwork search URL. When set, all other filters are ignored.

Output Example (single item)

{
"success": true,
"mode": "filters",
"request_body": { "query": "Data Entry" },
"job": {
"id": "021983878372933804273",
"type": "hourly",
"title": "Research and Compile List of Flooring Companies in Metro Detroit",
"created_at": "2025-10-30T12:47:18.182Z",
"time": "Posted 1 hour ago",
"info": "$20.0-$50.0/hr",
"description": "We are seeking a detail-oriented freelancer...",
"skills": "Online Research, Company Research, Data Entry",
"url": "https://www.upwork.com/jobs/~021983878372933804273"
},
"fetched_at": "2025-10-30T14:10:00.000Z"
}

Output Fields

PathTypeDescription
successbooleanWhether the job item was fetched successfully
modestringfilters or url, depending on how the search was made
request_bodyobjectThe input used to perform the search
job.idstringUnique job identifier
job.typestringhourly or fixed
job.titlestringJob title
job.created_atstringISO timestamp of job creation
job.timestringHuman-friendly posted time (e.g., "Posted 1 hour ago")
job.infostringPay range or budget information
job.descriptionstringJob description snippet
job.skillsstringSkills listed for the job
job.urlstringDirect URL to the Upwork job post
fetched_atstringISO timestamp when the item was stored

Quick Start

  1. Open this actor on Apify and click Run.
  2. In the input, provide either filters (e.g., query) or a direct url to an Upwork search page.
  3. Start the run. Each discovered job will be saved as a separate item in the default dataset.
  4. Download results from the Dataset in JSON/CSV/Excel as needed.

Notes and Best Practices

  • Prefer url when you already have a tuned Upwork search; otherwise, filters are great for repeatable runs.
  • Export dataset results from the Apify UI in JSON/CSV/Excel with a single click.
  • Schedule the actor to run periodically to keep your leads fresh and up-to-date.

Frequently Asked Questions (FAQ) ❓

  • What does this actor do? This actor searches Upwork jobs using either flexible filters or a direct search URL and stores results in a structured dataset.

  • Do I need to write any code? No. You configure everything in the Apify input UI and run the actor.

  • Can I export results to Google Sheets or a database? Yes. Export the dataset as CSV/JSON/Excel, or connect to integrations/automations on the Apify platform.

  • Can I schedule this to run automatically? Yes. Use Apify schedules to run daily or hourly and always have fresh job listings.

  • What fields are included? See the Output Fields table above for a complete list of saved fields.


Find Me Better 🔍

upwork jobs scraper, upwork job search automation, apify upwork actor, upwork data extraction, lead generation upwork, upwork jobs dataset, upwork scraping tool, scrape upwork jobs, upwork listing extractor, upwork API alternative

For any issues or feature requests, please open an issue on your project tracker or contact the actor author. 🧑‍💻