Skip to main content
POST
Search Upwork jobs
Searches Upwork jobs.

Request

This method has no required parameters.

Response

If successful, the response body contains the standard envelope. data.results[] contains the jobs, each with its budget or hourly rate, skills and posting date. The following example is illustrative.
For every field, see the response schema on this page.
workload, duration and the hourly rate filters apply to hourly jobs only.

Optional parameters

Billing

Each successful request consumes 1 credit, regardless of the number of items returned. Requests that fail, or that return no items, are not billed.

Pagination

Results are paginated. To retrieve the next page, increment page. An empty data.results indicates the last page. The maximum value of page is 100.
  • Upwork job: Accepts jobUrl. Returns an Upwork job’s details.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
query
string
Required string length: 1 - 200
sort
enum<string>
default:newest
Available options:
newest,
relevance
jobType
enum<string>
Available options:
hourly,
fixed
experienceLevel
enum<string>
Available options:
entry,
intermediate,
expert
workload
enum<string>

Upwork's hours needed: full time, part time, or as needed. Only hourly jobs say this, so the search stays hourly.

Available options:
fullTime,
partTime,
asNeeded
duration
enum<string>

Upwork's project length: under one month, one to three months, three to six months, or more than six months. Only hourly jobs say this, so the search stays hourly.

Available options:
underOneMonth,
oneToThreeMonths,
threeToSixMonths,
overSixMonths
minHourlyRate
integer

Lowest hourly rate in USD. A job matches when its posted range overlaps this minimum, so 25 to 50 matches a minimum of 50. The search stays hourly.

Required range: 1 <= x <= 999
maxHourlyRate
integer

Highest hourly rate in USD. Send it with minHourlyRate. The job's posted range overlaps both, and the search stays hourly.

Required range: 1 <= x <= 999
page
integer
default:1

Page number, starting at 1.

Required range: 1 <= x <= 100

Response

The data, and the credits this call used.

success
any
required
data
object
required
creditsUsed
integer
required
requestId
string
required