Upwork Job Scraper avatar

Upwork Job Scraper

Pricing

from $6.99 / 1,000 results

Go to Apify Store
Upwork Job Scraper

Upwork Job Scraper

Scrape Upwork job listings with keyword or search-URL filters. Get titles, budgets, skills, client signals, and posting times in structured JSON.

Pricing

from $6.99 / 1,000 results

Rating

0.0

(0)

Developer

PowerAI

PowerAI

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

6 days ago

Last modified

Share

Scrape public Upwork job listings with keyword search or a raw Upwork search URL. Filter by experience, payment type, budget, client history, location, and more — then export structured job data.

✨ Key Features

  • 🔎 Search by keywords or paste a full Upwork search URL
  • 🧰 Filters: experience level, fixed/hourly, budget ranges, client hire history, location
  • ✅ Optional payment-verified clients only
  • ⏱️ Sort by newest/relevance and limit by max job age
  • 🧩 Advanced match rules on title, description, skills, eligible countries, and more
  • 📋 Structured JSON output, streamed while the run is in progress

💪 Why Choose This Actor?

  • Focused: Upwork job listings with practical filters
  • Flexible: Query builder or raw search URL
  • Structured: Renamed, integration-friendly field names
  • Practical: Built for freelancers, agencies, and market research

🎯 Perfect For

  • 🎯 Targeted job hunting and alerts
  • 📊 Niche demand / rate research
  • 🕵️ Competitor and skill-trend monitoring
  • 🤖 Automation and enrichment pipelines

📝 Input Requirements

Provide at least one of:

  • searchQuery — keywords to search
  • searchUrl — Upwork jobs search URL (nx/search/jobs)

Optional filters include experienceLevels, paymentTypes, requirePaymentVerified, budget ranges, clientLocations, sortBy, paging, max age, and matchRules.

Input Example

{
"searchQuery": "web scraping",
"experienceLevels": ["intermediate", "expert"],
"paymentTypes": ["fixed", "hourly"],
"requirePaymentVerified": true,
"maxPages": 1,
"jobsPerPage": 50,
"sortBy": "newest",
"maxAgeValue": 24,
"maxAgeUnit": "hours"
}

Output Example

{
"title": "Build a web scraping pipeline",
"paymentType": "Hourly",
"experienceLevel": "Expert",
"budget": "$30-$50/hr",
"skills": ["Python", "Scrapy", "API"],
"paymentVerified": true,
"clientLocation": "United States",
"postedRelative": "2 hours ago",
"jobUrl": "https://www.upwork.com/jobs/~01...",
"scrapedAt": "2026-08-04T07:30:00.000Z"
}

🚀 How to Use

  1. Enter a search query and/or paste an Upwork search URL
  2. Optionally add filters, paging, and match rules
  3. Click Start
  4. Download results as JSON, CSV, Excel, or HTML

📌 Notes

  • When searchUrl is set, it overrides constructed search parameters
  • Session cookies are optional; authenticated scraping works by default without them
  • Estimated result size is roughly maxPages × jobsPerPage