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 key ownership and sharing

We always assign the API key to the Upwork account of the person who submits the request. If you are a company or an agency and you don’t feel comfortable giving your real API c...

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

✓ Commercial API use

We make the Upwork API available for commercial use, but only to select commercial partners with prior written permission. To discuss potential partnerships and commercial use o...

Continue reading

✓ Migration to GraphQL API

In May 2023, a new suite of GraphQL APIs replaced our existing REST APIs. All existing integrations with Upwork REST APIs needed to be migrated to our GraphQL APIs by December 1...

Continue reading

✓ Rejected API key request

If your API key request is rejected, we will notify you by email. The most common reasons for rejection are incomplete account data or missing/incorrect information provided in ...

Continue reading

✓ Request an API key

Clients on an Enterprise plan and freelancers on any membership plan can request access to Upwork's API in order to integrate Upwork's features with their website and/or interna...

Continue reading