Upwork Jobs Scraper — Freelance Job Listings & Budgets avatar

Upwork Jobs Scraper — Freelance Job Listings & Budgets

Pricing

from $0.001 / job scraped

Go to Apify Store
Upwork Jobs Scraper — Freelance Job Listings & Budgets

Upwork Jobs Scraper — Freelance Job Listings & Budgets

Scrape Upwork job listings by keyword: title, description, hourly range or fixed budget, experience level, duration, workload, skills and posting date. Filter by type, level and location. Export to JSON, CSV or Excel.

Pricing

from $0.001 / job scraped

Rating

0.0

(0)

Developer

Hipersoft

Hipersoft

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

21 hours ago

Last modified

Categories

Share

Upwork Jobs Scraper extracts public freelance job listings from Upwork by keyword: title, description, hourly range or fixed budget, experience level, project length, workload, skills and posting date. Filter by job type, level, length and client location, then export to JSON, CSV or Excel.

Upwork Jobs Scraper input — searches, job type, level and filters

What does Upwork Jobs Scraper do?

It runs your Upwork job searches and returns one clean row per job. Run several searches at once; a job found by two searches is delivered and charged once. A test run collected 1,168 unique jobs across five searches in about two minutes.

Client details aren't included. This actor returns the job listing itself, not client spend, reviews or payment verification.

What data can you scrape from Upwork?

DataFields
JobjobId, title, description, url, publishedAt
PayjobType, hourlyMin, hourlyMax, fixedBudget
RequirementsexperienceLevel, skills, duration, workload
ContextsearchQuery, collectedAt

Use cases

  • Freelancers and agencies: catch new jobs that match your skills, on a schedule.
  • Rate research: see what clients offer for a skill.
  • Skill demand: track which tools and skills clients ask for.
  • Lead generation: spot project demand in your niche.
  • Job alerts: send new listings to Slack, Sheets or email with integrations.

How to scrape Upwork jobs

  1. Open Upwork Jobs Scraper.
  2. Add your job searches.
  3. Pick any filters.
  4. Click Start.
  5. Export to JSON, CSV, Excel or XML.

Input

{
"queries": ["react developer"],
"sort": "recency",
"jobType": "0",
"experienceLevel": ["2", "3"],
"workload": "full_time",
"minHourlyRate": 30,
"maxAgeHours": 720,
"maxResultsPerSearch": 40
}
FieldDescription
queriesWhat to search for.
maxResultsPerSearchJobs per search (default 100).
sortrecency (newest) or relevance.
jobTypeany, 0 (hourly) or 1 (fixed price).
experienceLevel1 entry, 2 intermediate, 3 expert.
durationweek, month, semester or ongoing.
workloadas_needed, part_time or full_time.
locationsClient regions or countries.
clientHires0, 1-9 or 10-.
minFixedBudgetDrop fixed-price jobs below this (USD).
minHourlyRateDrop hourly jobs whose top rate is below this (USD).
maxAgeHoursOnly jobs posted in the last N hours.

Output

A real row from a test run, with the description shortened.

Upwork Jobs Scraper output example — jobs with pay, level and link

{
"jobId": "2118006378163258089",
"title": "Seeking a Full-Stack Developer to Develop an AI-Based SaaS Product",
"url": "https://www.upwork.com/jobs/~022118006378163258089",
"jobType": "hourly",
"hourlyMin": 56,
"hourlyMax": 68,
"fixedBudget": null,
"experienceLevel": "Expert",
"duration": "More than 6 months",
"workload": "Full time",
"skills": [
"Next.js",
"Node.js",
"AI Development",
"API Integration",
"Web Development",
"PostgreSQL",
"AI Model Integration",
"Full-Stack Development",
"SaaS Development"
],
"description": "We are looking for an experienced Full-Stack Developer to build an AI-powered SaaS invoici…",
"publishedAt": "2026-11-04T15:45:47.099Z",
"searchQuery": "react",
"collectedAt": "2026-11-04T21:06:16.882481+00:00"
}

Output schema

FieldTypeDescription
jobIdstringUpwork job ID.
titlestringJob title.
urlstring (URL)Link to the job.
jobTypestringhourly or fixed.
hourlyMin / hourlyMaxnumberHourly range in USD, when the client set one.
fixedBudgetnumberFixed budget in USD, when set.
experienceLevelstringEntry level, Intermediate or Expert.
durationstringProject length.
workloadstringHours per week. Not set on fixed-price jobs.
skillsarraySkills on the listing.
descriptionstringJob description.
publishedAtstring (ISO date)When it was posted.
searchQuerystringThe search that found it.
collectedAtstring (ISO date)When the row was collected.

Need more freelance and job data?

FAQ

How much does it cost? You pay per job delivered, shown on the Pricing tab. Set a maximum cost per run and it stops cleanly at that limit, storing only what you paid for.

How many jobs can I get? That depends on the search. Popular searches returned 400 or more in testing, and narrower ones fewer. Run several searches for broader coverage.

Can I get only new jobs? Yes. Schedule a run with sort Newest and a Posted within window.

Can I connect this to other tools? Yes, through integrations on the Apify platform: Make, Zapier, Slack, Airbyte, GitHub, Google Drive and many more, plus the Apify API and webhooks.

Is it legal to scrape Upwork? It returns publicly listed jobs. You are responsible for how you use them, including Upwork's terms and privacy law.

Notes

Independent tool, not affiliated with Upwork. Returns only public data; you are responsible for how you use it.

Feedback

How did it go? Good or bad, a review helps other users decide and tells us what to improve. Something broken or missing? Open an issue and we'll look at it.