Loading
{ "global": { "icon": "info", "start": "", "end": "" }, "responsive_group_1": { "country": "All", "usertype": "enterprise", "icon": "info", "start": "", "end": "" }, "responsive_group_2": { "country": "All", "usertype": "all", "icon": "info", "start": "", "end": "" } }

Articles in this section

API authentication and security

We take security — yours and ours — seriously. To make API requests, you need to authenticate to the Upwork API. Currently, we support OAuth 2.0 authentication. All API requests...

Continue reading
API error handling

If the Upwork server fails while processing a GraphQL request, the system sends an error array response to the client. Errors in GraphQL are handled differently from REST. While...

Continue reading
API key disabled

We understand that having an active API key can be important for your work, and are sorry to hear that yours has been disabled. The most common reasons that an API key is disabl...

Continue reading
API requests limits

The rate limit of the API is primarily considered on a per-IP basis. We allow 10 requests per second per IP address. When an application exceeds the rate limit for our API, we r...

Continue reading
API resources and requests

For your convenience, all of our API resources are documented here. They are categorized and named based on their functionality. Note that the number of results returned for som...

Continue reading
API scopes and permissions

To keep Upwork secure and meet specific developer needs, we maintain different scope and permissions levels in the Upwork API. Permissions define what a user can do in the conte...

Continue reading
API test environment

We don't currently provide a test environment for Upwork API. For testing API calls, we suggest using mocking technology (stub the requests to Upwork API, test the tool, and the...

Continue reading

Get Support

Log in for personalized service and assistance.

Learning Hub

Expand your Upwork knowledge.