Public APIs
Upwork favicon

Upwork

Jobs

Freelance job board and management system.

Upwork's website screenshot

About Upwork

Upwork Developers provides a GraphQL API (at api.upwork.com/graphql) for integrating Upwork's freelance marketplace functionality into web and mobile applications. It exposes queries and mutations covering core marketplace entities: users (clients, freelancers, agency contractors), companies and teams, job postings, offers, and contracts (fixed-price and hourly), including work diary and billing data.

Access requires registering an application to obtain client credentials (consumer key and secret) under a personal or organizational context, with API keys tied to that context and non-transferable afterward. Organization admins can delegate key creation and management to members via "Account Admin" or "API Key Manager" permissions. Each new API key request is reviewed against eligibility conditions: a verified account with a valid name, address, profile picture, payment method, and completed identity verification; at least $25,000 in lifetime earnings or spend; a Job Success Score of at least 90% for freelancers and agencies; no active suspensions; and a description of the intended use case. Applications are capped at a daily limit of 40,000 API requests, may not use Upwork's name, logo, or brand assets, and are restricted from caching resource data for more than 24 hours.

The documentation is aimed at developers building integrations for companies, agencies, or freelancers already active on Upwork, rather than general public use. Support is available through a Help Center, Stack Overflow, GitHub, and direct API support contact.

Key features

  • GraphQL API for hiring, job postings, offers, and contracts
  • OAuth-based application registration with consumer key/secret credentials
  • Scoped application permissions to control access to account resources
  • Organization-level API key management with delegated "API Key Manager" permissions
  • Work diary data for hourly contract time tracking and billing

Frequently asked questions

What authentication method does the Upwork API use?

Applications register to obtain a consumer key and consumer secret, and access is governed by scopes and application permissions.

What is the API endpoint and query language?

The API is a GraphQL API available at https://api.upwork.com/graphql.

Who can get access to the Upwork API?

Applicants must have a verified Upwork account with a valid name, address, profile picture, payment method, completed identity verification, at least $25,000 in lifetime earnings or spend, a Job Success Score of at least 90% (for freelancers and agencies), and no active suspensions.

Are there rate limits or data caching restrictions?

Applications must stay within a daily limit of 40,000 API requests, and Upwork's terms do not allow storing data for more than 24 hours.

Can API keys be shared or transferred between accounts?

API keys cannot be transferred between contexts after creation, though organization admins can delegate key creation and management to specific members via the "API Key Manager" permission.

Advertise here

Featured products

  • SerpApi - Search API favicon
  • Screenshot Scout favicon
  • TalorData favicon
  • CoreClaw favicon

Show your product to thousands of developers

· 100k monthly pageviews
· 7k newsletter subscribers

Advertise your product