Skip to main content

🧠 How to request an Upwork API Key (Step-by-step guide)

Mariia Heshka avatar
Written by Mariia Heshka
Updated this week

1. Access the API Key Request Form

You can request your API key through the official Upwork Developer portal:
👉 https://www.upwork.com/developer/keys/apply

Once there, you’ll see a form titled "Request API Key" - this is where you’ll fill in details about your project.


2. Fill Out the Key Request Form

When applying, complete the following fields:

Field

Example

Title

AI Messenger

Type

Web Project

Callback URL

**request from your account manager** (can be changed later)

Project Description

Describe what your application does and how it uses Upwork data.

Representative Email

The email associated with your Upwork account


4. Possible reasons why Upwork denies or disables API Keys

  1. Incomplete or invalid profile / account data
    Upwork requires that your account profile is “complete” when applying. If you have missing or incorrect name, address, profile picture, etc., your API key request may be rejected.

  2. Lack of clarity or insufficient description of your intended API use
    When you request an API key, you must provide a description of how you intend to use the API (e.g. internal tool, for third parties, etc.). If that description is vague or raises red flags (e.g. commercial use without permission), they may deny your request.

  3. Request volume or usage concerns
    Upwork expects API users to stay within "reasonable request volume" limits. They may reject applications that seem likely to exceed their usage thresholds.
    Also, Upwork enforces rate limits in their API (e.g. 10 requests/sec or 300 per minute per IP) and violations may lead to disabling a key.

  4. Suspicious account history or insufficient activity / track record
    Several community reports claim that Upwork sometimes rejects API key requests citing “account history.” For example, a user said support told them: “rejected due to your account history … continue to complete contracts.” Reddit

    Another user reported: “I applied for an API key for private use, and again got declined. Reasoning: I have not many contracts on the platform (1 as of now).” Reddit

    1. Useful resources & Community discussions

  5. Scope / permission mismatch
    Even if the key is approved, it must have the correct scopes/permissions to access certain endpoints. If your key lacks the required permissions, you may be denied access to certain API functionalities.


3. Select API Usage and Permissions

When prompted, choose the appropriate API usage volume - 500+ and enable the following permissions:

Activity Entities - Read-Only Access
Client Proposals – Read and Write Access
Common Entities – Read-Only Access
Job Postings – Read-Only Access
Messaging – Read-Only Access
Messaging – Read and Write Access

These permissions give your application the ability to manage messages and proposals within your internal system.


4. Verify Your Identity

Upwork requires identity verification for API access.
Your Upwork profile address must match the address shown on your passport or bank statement.

You can use one of the following documents:

  • Passport (follow Upwork’s upload instructions)

  • Bank statement or utility bill with your full name and address (PDF format, typically one page)

⚠️ Important: Upwork API identity verification does not accept documents from digital banks.

Ukrainian 🇺🇦 Banks that usually provide suitable statements:

  • Ukrsibbank

  • Kredobank

  • A-Bank

You can also generate a suitable statement using the @GASUA_bot on Telegram.

💬 Tip: The statement doesn’t need to cover a full period - only your name and address are required. (We can provide a screenshot of such a document upon request.)


5. After Submission

Once submitted, your request will be reviewed by Upwork’s Developer team.
You’ll be notified by email once your API key is approved or if they require additional information.

You can track and manage your API keys directly from your developer dashboard:
👉 https://www.upwork.com/developer/keys

Did this answer your question?