Upwork Recent Jobs
Pricing
from $0.50 / 1,000 saved jobs
Upwork Recent Jobs
Extract up to 1,000 recent Upwork jobs, filter by publication date, and export results as CSV or JSON.
Pricing
from $0.50 / 1,000 saved jobs
Rating
0.0
(0)
Developer
Muhammed Tahreem Alam
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
12 days ago
Last modified
Categories
Security
Limited permissionsShare
Collect bounded public Upwork job batches, filter by publication date and remove duplicate IDs.
Input
{"query": "", "maxJobs": 1000, "maxAgeHours": 24, "useResidentialProxy": true}
query is optional, at most256 characters; blank covers public job categories. maxJobs accepts1-1000, default1000. maxAgeHours accepts1-168, default24. The lower publication cutoff is fixed at run start.
Results
Use Apify Console or its API. Results go into the default dataset, downloadable as JSON or CSV. The OUTPUT key-value record holds counts, exclusions, timestamps, request receipts and the stopping reason.
Each row contains ID, title, description, publication/creation/sourcing dates, job type, skills, hourly/fixed budget fields and collection time. Source-empty fields stay empty. Results sort by publication date.
COMPLETE_TARGET means the requested number was collected, not complete period coverage. PARTIAL means the search, page/time or spending limit ended before the target. A charge_limit stopping reason means the maximum run cost could not cover more jobs; counts describe saved results. EMPTY means a valid search ended without qualifying rows. BLOCKED or FAILED fails the run while preserving earlier usable results and summary. Invalid inputs fail before contacting Upwork.
Newest-first API ordering mixes old publications with recent sourcing dates, so this Actor checks publishTime directly. Offset pagination can move; deduplication does not prove no records were skipped.
Limits:40 pages of50 rows, at most41 Upwork requests,180-second collection budget,15-second request timeout,2 seconds between request starts. No retries, redirects, login or automatic IP fallback. Monotonic request intervals are recorded. No automatic polling or notifications.
Release and costs
Early release. Verified privately on Apify on25October2026: a10-job smoke test and a1,000-job publication-qualified run both passed. The bulk run took about43seconds; sustained reliability remains untested. No availability, completeness or instant-detection guarantee. See the Store pricing tab for the currently effective model and any scheduled change. Approved paid pricing is $0.50 per1,000 saved qualified unique jobs, plus $0.00005 per start at up to1GB RAM. With that pay-per-event pricing active, compute, storage and residential proxy usage are included; there are no paid data add-ons. Until activation, the previous pay-per-usage model remains in effect. Creator payout setup is required before activation. No source-code publication.
Residential proxy is enabled by default because the direct Apify test returned403. Under pay-per-event pricing, residential traffic is included in the listed price. Under pay-per-usage pricing, Apify bills proxy traffic at your account rate in addition to compute/storage. Set useResidentialProxy to false to try direct access. One proxy session is used for the whole guest-token/search sequence; no automatic session/IP retries. The provider may still replace an unavailable or expired residential IP.
curl_cffi makes HTTP requests. REA supported earlier discovery and response inspection; it is not a runtime dependency. Tokens never appear in output or logs.
Development
Canonical source is the Upwork Recent Jobs project on Xeon E:. Python3.12; hash-locked dependencies in requirements.txt. Run checks: python -B -m unittest discover -s tests -v Run Actor: python -m upwork_actor .venv, artifacts, storage and credentials are ignored. See docs/plan.md for decisions, approvals and deployment state.
Example result fields
Description and other timestamps are also present in the dataset. Source-empty fields remain empty. The following fields come from the private acceptance run:
{"id": "2114240781485364114", "title": "Vietnam-Based B2B Sales Representatives for AI Services | Pay per Sales Meeting", "publishTime": "2026-10-25T06:21:39.808Z", "jobType": "FIXED", "skills": ["Sales Development", "Business Development", "Sales Strategy"], "hourlyBudgetMin": null, "hourlyBudgetMax": null, "fixedPriceAmount": "12.75", "currency": null}