details=true each job also gets what its own page shows signed-out visitors: proposals, interviews, invites sent, hires, positions to hire, the client’s last activity, the category, the qualifications asked, and the client’s stats - country, city, time zone, payment verification, rating, reviews, total spent, hires and member-since date. Client stats come only with details=true, and the client’s name is never returned. Upwork shows signed-out visitors the first 5,000 results of a search, so that is as far as one search reaches. No Upwork account or API key is involved.
Try it in the dashboard first: app.scrapeunblocker.com/dashboard/plugins. You get a live results view plus a copy-paste snippet.
Endpoint
su.upwork_jobs(sort="recency") in Python.
Billing: one request per results page of up to 50 jobs, plus one per job page fetched with
details=true. The call above counts as 3 requests: one results page and two job pages. The third job is a private listing, which comes back without details and is not billed, and neither is a job page that could not be fetched. callUnits in the response is the exact number.Response
With
details=true each job also has:
Errors
What you can build
- Lead feeds for freelancers and agencies - get new jobs for your skills soon after they are posted, with
sort=recency. - Market research - measure demand, budgets and hourly rates for a skill over time.
- Client checks - see payment verification, spend, hires and rating before you apply, with
details=true. - Job boards and alerts - power a niche board or alerts with filtered Upwork jobs.
Next steps
Open the plugins
Run an Upwork search and grab the JSON.
Get an API key
Free trial available on the pricing page.

