Upwork Jobs Scraper
Pricing
from $5.00 / 1,000 results
Upwork Jobs Scraper
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
| Field | Type | Required | Description |
|---|---|---|---|
query | string | No | Keywords to search (e.g., "Data Entry"). Ignored if url is provided. |
type | array | No | Job types: hourly, fixed. |
sort | string | No | Sort order: recency or relevance. |
difficulty | array | No | Experience levels: entry, intermediate, expert. |
duration | array | No | Project duration filters. |
hours_per_week | array | No | Weekly time: less_than_30, more_than_30. |
client_hires | array | No | Client hire count: 0, 1-9, 10+. |
client_location | string | No | Country filter (e.g., United States). |
min_hourly_rate | string | No | Minimum hourly rate. |
max_hourly_rate | string | No | Maximum hourly rate. |
min_fixed_budget | string | No | Minimum fixed budget. |
max_fixed_budget | string | No | Maximum fixed budget. |
url | string | No | Direct 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
| Path | Type | Description |
|---|---|---|
success | boolean | Whether the job item was fetched successfully |
mode | string | filters or url, depending on how the search was made |
request_body | object | The input used to perform the search |
job.id | string | Unique job identifier |
job.type | string | hourly or fixed |
job.title | string | Job title |
job.created_at | string | ISO timestamp of job creation |
job.time | string | Human-friendly posted time (e.g., "Posted 1 hour ago") |
job.info | string | Pay range or budget information |
job.description | string | Job description snippet |
job.skills | string | Skills listed for the job |
job.url | string | Direct URL to the Upwork job post |
fetched_at | string | ISO timestamp when the item was stored |
Quick Start
- Open this actor on Apify and click Run.
- In the input, provide either filters (e.g.,
query) or a directurlto an Upwork search page. - Start the run. Each discovered job will be saved as a separate item in the default dataset.
- Download results from the Dataset in JSON/CSV/Excel as needed.
Notes and Best Practices
- Prefer
urlwhen 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. 🧑💻
