Skip to content
Node.JS bindings for Upwork API
Branch: master
Clone or download

Latest commit

Fetching latest commit…
Cannot retrieve the latest commit at this time.


Type Name Latest commit message Commit time
Failed to load latest commit information.
lib Add Room Messages API May 8, 2020

Node.JS bindings for Upwork API (OAuth1)

License npm GitHub release Build Status


This project provides a set of resources of Upwork API from based on OAuth 1.0a.


These are the supported API resources:

  • My Info
  • Custom Payments
  • Hiring
  • Job and Freelancer Profile
  • Search Jobs and Freelancers
  • Organization
  • Messages
  • Time and Financial Reporting
  • Metadata
  • Snapshot
  • Team
  • Work Diary
  • Activities


Copyright 2015 Upwork Corporation. All Rights Reserved.

node-upwork is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


The usage of this API is ruled by the Terms of Use at:

Application Integration

To integrate this library you need to have:

  • Node.JS >= 0.9
  • npm >= 1.3.0


In addition to this, a full example is available in the example directory. This includes example.js that gets an access token and requests the data for applications that are not web-based. It also describes how to use your own client together with this Upwork library.


To install the library please run the following command:

$ npm install upwork-api

Quick start

Before you start using Upwork API, you will need to obtain your pair of API keys. Visit the Upwork API documentation Center <>_ for full details.

  1. example/example.js to myapp.js
  2. open myapp.js and type the consumerKey and consumerSecret that you previously got from the API Center.

That's all. Run your app as node myapp.js and have fun.


Please use YUIDoc to build the local copy of the documentation or use

You can’t perform that action at this time.