Beginning in May 2023, a new suite of GraphQL APIs will replace our existing REST APIs. All existing integrations with Upwork REST APIs must be migrated to our GraphQL APIs by December 15, 2023, or those integrations will stop working.

Your API Key


If you have an existing OAuth1 Key, you will need to request a new OAuth2 API Key. We are no longer supporting OAuth1. If you have an existing OAuth2 API Key, you don’t need to request a new OAuth2 Key, but it may be simpler and cleaner to request a new OAuth2 Key for each distinct integration. To request a new OAuth2 API Key:

  1. Fill out this form
  2. Read and accept the API Terms, select Submit, and your API Key request will be sent for review

How to migrate an existing REST API integration to GraphQL


Learn more about our APIs and how to get started, or visit our GraphQL API documentation site to access detailed technical documentation and guidance for integrating with our APIs.

  1. If you don’t already have one, you’ll need to request a new API Key
  2. Once approved, you’re ready to get started. For guidance on getting started, including best practices for OAuth2 and permissions setup, visit our API documentation site.
  3. From there, you’re ready to build, test, and deploy your integration. We have a number of tools and resources to aid you during your development, including libraries, a GraphQL Explorer tool to test query responses, and other features.

Testing


We don't currently provide a separate test environment for Upwork APIs for our external clients, but we’ve built tools and resources to aid you during development. Learn more about why we don’t provide testing.

Frequently Asked Questions

Where can I find more resources?

For your convenience, all of our API resources are documented here. They are categorized and named based on their functionality.

What happens if I don’t switch to GraphQL?

If you have an existing integration with our REST APIs, your integration will lose access to those REST APIs and will stop working by the end of 2023.

Do I need to request a new API key?

If you have an existing OAuth1 API Key, you will need to request a new OAuth2 API key because we no longer support OAuth1. If you already have an OAuth2 API key you do not need to request a new one, but it may be simpler and cleaner to request a new OAuth2 Key for each distinct integration. Request a new OAuth2 API key here.

Who can I reach out to if I need help or have questions?

If you’re experiencing problems, please reach out to our support team.

Log in to get personalized help.