Upwork Jobs Scraper avatar

Upwork Jobs Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Upwork Jobs Scraper

Upwork Jobs Scraper

Extract detailed Upwork jobs together with **client history and competition data**. Search by URL or filters, narrow opportunities using budget, applicants, client quality and more, then run searches repeatedly to discover new jobs.

Pricing

from $1.50 / 1,000 results

Rating

5.0

(1)

Developer

Mox

Mox

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

19 days ago

Last modified

Share

Upwork Jobs API & Monitor

⚑ Real-Time🧠 ~10MB RAM🌐 Integrate to anythingπŸ’° ~$2 / 1k results

Monitor Upwork in real time, find new opportunities, and get detailed client & competition data.

Upwork scraper workflow animation

  • ⚑ True Real-Time Data (No Stale DBs): We scrape Upwork live on request. Get the newest jobs milliseconds after they are posted, not hours later from a cached database.
  • πŸ“‰ Micro-Compute Efficiency: Built on a highly concurrent architecture consuming just ~10MB of RAM. You pay almost nothing for Apify compute, making this the most cost-effective real-time scraper on the Store.
  • πŸ›‘οΈ Zero-Friction Authentication: Proxies and cookies are handled entirely in-house. Paste a URL and get data. Zero ban risk to your personal Upwork account.
  • πŸ”” Instant Job Alerts: Push matches to Telegram, Discord, Slack, or any custom webhook you choose.

✨ Why use this Actor?

Stop repeatedly searching Upwork for new jobs.

This Actor lets you monitor Upwork searches and automatically receive only new matching jobs β€” with detailed information about the job, client, budget, competition, and more

🧠 Stupidly easy to use

  • Prompt with a profile: Use your own Upwork profile link (or any freelancer's) as a prompt. We extract their skills and find relevant jobs matching their expertise.
  • Paste a search URL: Reproduce any Upwork search instantly.
  • Apply powerful filters: Budget ranges, applicant counts, client hire rates, countries, and moreβ€”all rendered in the UI below.

⚑ Ultra fast and realtime

Instant job search on request with lower usage. You get data while it's still fresh enough to be the first applicant.

Apify RAM & CPU usage dashboard showing ~10MB and <1% CPU

πŸ“¦ Every possible detail

We don't just scrape titles. We pull the full picture so you can bid with confidence.

Job DetailsClient AnalyticsCompetition Signals
Title, Description, IDPayment method verificationNumber of applicants
Date postedPhone verification statusNumber invited to interview
Payment type (Fixed/Hourly)Location (Country & City)Invitations sent
Fixed budget amountJobs posted & Open jobsUnanswered invitations
Hourly budget (Min/Max)Hire rate (%)Number of positions to hire
Category & SubcategoryTotal spent & Total hiresNumber already hired
Engagement durationActive projects(All in one clean payload!)
Screening questionsTotal hours & Avg rate paid
AttachmentsFull work history & previous feedback

πŸ”Œ Supported Integrations & Webhooks

Push matching jobs instantly to your favorite platform. Available integrations:

  • Telegram
  • Discord
  • Slack
  • WhatsApp
  • πŸͺ Generic Webhook (push to Zapier, Make, your custom server, etc.)

🎯 Fetch specific jobs by ID

Have a list of Upwork job IDs? Provide them directly, and we return every single detail for those exact postingsβ€”no search needed.

🧠 Smart Incremental State

When you enable onlyNewJobs, the Actor automatically saves the latest Job IDs to your Apify Key-Value store. On the next run, it checks this state and only pushes jobs it hasn't seen before. No duplicate alerts, ever.


πŸ’Έ Pricing that actually makes sense

$2 per 1,000 job listing pulls. You can make hundreds of job pulls for less than a cent.

Avoid the hidden Apify costs for RAM and CPU usage. Our actor is super lightweight and runs on ~10MB of RAMβ€”so your compute costs are practically zero.


πŸ†š Why this one is different

Most scrapers on the market fall into two traps: they are either heavy Node.js browser automations that drain your Apify compute credits, or they rely on pre-indexed databases that feed you stale data. We built a third option.

Feature⚑ Upwork Jobs API (This Actor)Traditional Node.js ScrapersCached Database Scrapers
ArchitectureLightweight EngineHeavy Puppeteer / PlaywrightDatabase querying
Data FreshnessTrue Real-Time (Live)Live (but slow to boot)Stale (Hours to days old)
RAM Footprint~10MB (Costs pennies)500MB – 1GB+ (Expensive)Varies
Native WebhooksYes (Discord, Slack, Telegram)No (Requires Zapier)No (Requires Zapier)
Anti-Bot / Proxies100% Handled In-HouseOften requires your cookiesNot applicable
Avg. Cost per 1k~$2.00~$3.00 – $4.00~$3.50 – $4.50

πŸš€ Quickstart

Here are 3 ways to run this Actor, depending on what you need.

Example 1: The "Paste & Go" (Search URL)

Just paste your Upwork search URL. We handle the rest.

{
"searchUrl": "https://www.upwork.com/nx/search/jobs/?q=python+fastapi",
"maxItems": 50
}

Paste a freelancer profile link. We analyze their skills and title to find matching jobs automatically.

{
"freelancerProfileUrl": "https://www.upwork.com/freelancers/~01234XXXXXXXXXX",
"paymentType": "HOURLY",
"minHourlyRate": 50,
"maxApplicants": 10,
"paymentVerified": true,
"maxItems": 25
}

Example 3: The "Monitor & Push" (Webhook + Dedupe)

Run this every 5 minutes. We'll only return new jobs and push them directly to your custom endpoint.

{
"searchUrl": "https://www.upwork.com/nx/search/jobs/?q=ai+developer",
"onlyNewJobs": true,
"telegramBotToken": "12345:XXXXXXXXXXXXXXXXXXX",
"telegramChatId": "1234567"
"minClientTotalSpent": 10000,
"minHireRate": 80,
"maxItems": 10
}

πŸ“€ Output Example

πŸ†˜ Support & Custom Integrations

Upwork updates their platform frequently, and we update this engine just as fast.

Found a bug? Open an Issue in the Apify Console.

Need a custom integration? We can easily add custom webhook formats, new data fields, or private instances. Reach out via the Apify Issues tab!