Upwork Jobs Scraper
Under maintenancePricing
from $0.02 / 1,000 upwork job results
Upwork Jobs Scraper
Under maintenanceSearch public Upwork job postings by keyword and filters, then write normalized jobs with budgets, hourly ranges, skills, proposal counts, visible client history, and direct job URLs to the dataset.
Pricing
from $0.02 / 1,000 upwork job results
Rating
0.0
(0)
Developer
jts
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
1
Monthly active users
13 days ago
Last modified
Categories
Share
What this Actor does
Search public Upwork job postings by keyword and filters, then write normalized jobs with budgets, hourly ranges, skills, proposal counts, visible client history, and direct job URLs to the dataset.
Input example
{"q": "typescript api","category": "web-mobile-software-dev","paymentType": "hourly","experienceLevel": "expert","budgetMin": 100,"budgetMax": 5000,"limit": 10}
Input fields
Provide one query or an array of search requests. Optional filters include category, budget range, payment type, experience level, limit, and offset.
q(string, user input): Public Upwork job search phrase, for example "typescript api".category(string, user input): Optional category label or Upwork occupation id.paymentType(string, user input): Optional fixed or hourly filter.experienceLevel(string, user input): Optional entry, intermediate, or expert filter.budgetMin(integer, user input): Optional minimum fixed-price budget.budgetMax(integer, user input): Optional maximum fixed-price budget.limit(integer, user input): Results per query, 1-50.searches(array, user input): Optional array of query strings or search objects. Overrides the top-level query when provided.apiBaseUrl(string, optional override): Override of the upstream API base URL. Defaults to runtime.baseUrl from service.json.
Output dataset
Each dataset item is one normalized Upwork job result.
jobId: Upwork job ciphertext or public id.title: Job title.paymentType: fixed or hourly.budget: Fixed-price budget object.hourlyRange: Hourly min/max range.experienceLevel: Normalized experience level.clientCountry: Visible client country.skills: Required skills.proposalsCount: Visible proposal/applicant count.jobUrl: Direct Upwork job URL.result: Full normalized job result.
Developer notes
Set UPWORK_JOBS_SCRAPER_API_KEY as an Apify secret environment variable. The Actor forwards it as X-API-Key to the upstream API.
Use apiBaseUrl only for local or staging QA. Production runs default to the deployed API base URL from service.json.
For advanced testing, a requests array can call explicit API paths; normal users should use the service-specific fields above.
Run locally
$apify run
Deploy
$apify push