Logo
UpWork Logo

UpWork APIs

UpWork is the largest online workplace in the world where professional freelancers and savvy businesses go to work.

Developer

UpWork APIs

Account Request URL

-

Base Endpoint

-

Jobs

Retrieve job details. The endpoint returns all jobs that match the filter criteria.

GET

/api/jobs/v2/search

limit, location, categories, company, job_types, freelance_types, job_field, job_view, client_job_ref, sort, client_view, job_visibility, skill, subject, total_pages, is_featured, has_attachments, is_private, can_view_contact_info, max_rate, min_rate, currency, is_hourly

Jobs

Allows users to create a new job. The request must include an XML or JSON document with the appropriate job data.

POST

/api/jobs/v2/post_job

title, description, company_name, is_text_free, application_url, payment_options, job_category, work_location, pay_rate, currency, job_visibility, job_skills, duration, project_type, specific_instructions, is_featured, use_sandbox, is_private, is_html_view, job_application_data, client_job_ref, can_view_contact_info, close_time, enable_submit_bid, is_one_time_job

Jobs

Allows users to update a job.

PUT

/api/jobs/v2/~job_ref_id~

-

Jobs

Allows users to patch a job.

/api/jobs/v2/~job_ref_id~

client_id, title, description, company_name, is_text_free, application_url, payment_options, job_category, work_location, pay_rate, currency, job_visibility, job_skills, duration, project_type, specific_instructions, is_featured, use_sandbox, is_private, is_html_view, job_application_data, client_job_ref, can_view_contact_info, close_time, enable_submit_bid, is_one_time_job

Jobs

Allows users to delete a job.

DELETE

/api/jobs/v2/~job_ref_id~

client_id

Proposals

Retrieves a list of proposals associated with a specific job.

GET

/api/proposals/v2/~job_ref_id~/proposals

-

Proposals

Allows users to submit a proposal on a job.

POST

/api/proposals/v2/~job_ref_id~/submit_proposal

proposal

Messages

Retrieves a list of all message threads a specific user is a part of.

GET

/api/hrs/v2/threads

limit, status, category, before, after, page, per_page, read, unread, sent, received, any, starred, job_id

Messages

Allows users to send a message to one or more user(s).

POST

add_job|resend|recipients|subject|body

Messages

Updates the status of an existing message thread.

PUT

/api/hrs/v2/threads/~thread_id~

read

Messages

Marks a message thread as deleted.

DELETE

/api/hrs/v2/threads/~thread_id~

client_id

Users

Retrieve user details.

GET

/api/users/v2/me

-

Users

Create a new user.

POST

/api/users/v2/register

username, first_name, last_name, email, password, mobile, tos, up_to_date, availability, job_success, role

Users

Allows users to update their account information.

PUT

/api/users/v2/me

-

Users

Allows users to update their account information.

/api/users/v2/me

first_name, last_name, email, mobile, up_to_date, job_success, security_question, security_answer, new_password

Users

Allows users to delete their account from upwork once their balance is 0.

DELETE

/api/users/v2/me

-

Timelogs

Retrieves a list of timelog entries.

GET

/api/hrs/v2/time_entries

states, and_states

Timelogs

Allows users to submit timelog entries.

POST

/api/hrs/v2/time_entries

task_id, spent_at, hours, notes, entry_type, entry_date

Timelogs

Allows users to update a timelog entry.

PUT

/api/hrs/v2/time_entries/~entry_id~

hours, notes, entry_date

Timelogs

Delete a timelog entry.

DELETE

/api/hrs/v2/time_entries/~entry_id~

client_id

Payments

Retrieve payment information.

GET

/api/payments/v2/transactions

limit, start_date, end_date, page, per_page, work_diary_id, job_id

Payments

Allows users to submit a request to withdraw money.

POST

/api/payments/v2/withdrawals

amount, currency, account_holder_name, bank_name, account_number, routing_number, address1, address2, city, state, zip, country, ssn

Payments

Allows users to update an existing payment request.

PUT

/api/payments/v2/withdrawals/~withdrawal_id~

amount, account_holder_name, bank_name, account_number, routing_number, address1, address2, city, state, zip, country, ssn

Payments

Allows users to cancel an existing payment request.

DELETE

/api/payments/v2/withdrawals/~withdrawal_id~

client_id

Notifications

Retrieve notifications for a specific user.

GET

/api/notifications/v2/user_notifications

limit, status, start_time

Notifications

Allows users to subscribe to a specific channel.

POST

/api/notifications/v2/subscriptions

channel_id

Notifications

Allows users to unsubscribe from a specific channel.

DELETE

/api/notifications/v2/subscriptions

channel_id

Earnings

Allows users to retrieve an earnings list.

GET

/api/payments/v2/earnings

earnings_date_range, pay_period, currency, limit, page, sort_direction

Earnings

-

POST

Allows users to fetch earnings transfers.

/api/payments/v2/earnings_transfers

Reports

Retrieve talent report data.

GET

/api/hr/v2/talent_analytics/reports

talent_analytics_date_type, job_owner_id, skill_category, job_type, employment_type, billing_basis, currency, report_type, limit, page

Reports

-

POST

Retrieve client report data.

/api/hr/v2/client_analytics/reports

Files

Allows users to retrieve a file's metadata.

GET

/api/files/v1/~file_id~/properties

client_id

Files

Upload files to Upwork.

POST

/api/files/v1/upload

file_content, file_name

Files

Allows users to overwrite the file contents.

PUT

/api/files/v1/~file_id~

file_content

Files

Delete a file.

DELETE

/api/files/v1/~file_id~

client_id

Details

Provider

Country HQ

API Type

REST

Categories

Team Collaboration
Management Tools
Project Management

Alternatives

Important URLs

Last Updated on

2024-04-04

Created At

2023-12-14

Other Apps

Upskill for a better future

Want to start tracking API at scale?

Get updates about your favorite APIs and SDKs

Contact Us

We do our best to ensure that the data we release is complete, accurate, and useful. However, because we are not able to verify all the data, and because the processing required to make the data useful is complex, we cannot be held liable for omissions or inaccuracies.

ApiRefs Logo