Upwork
Upwork is a global freelancing platform that connects businesses with independent professionals through a talent marketplace. The Upwork API enables developers to integrate Upwork features into their applications, including job search, contract management, messaging, profile access, and webhook event subscriptions. The API is primarily GraphQL-based at api.upwork.com/graphql, with OAuth 2.0 authentication. Key resources include job postings, contracts, user profiles, messages, and freelancer search. The platform serves over 800,000 clients and 18 million freelancers across 180+ countries.
Upwork publishes 7 APIs on the APIs.io network, including Authentication API, Contracts API, Jobs API, and 4 more. Tagged areas include Freelancing, Jobs, Talent, Marketplace, and Contracts.
The Upwork catalog on APIs.io includes 1 JSON-LD context and 2 Spectral governance rulesets.
Upwork’s developer surface includes authentication, documentation, developer portal, support, and 17 more developer resources.
Kin Score
APIs 7
Individual APIs this provider publishes, each with its own machine-readable definition.
Upwork Authentication API
OAuth 2.0 token management for API access.
Upwork Contracts API
Access and manage freelance contracts including terms, milestones, and time entries.
Upwork Jobs API
Search and retrieve job postings on the Upwork marketplace.
Upwork Messages API
Read and send messages within active contracts.
Upwork Organizations API
Team and organization management.
Upwork Profiles API
Query freelancer and client user profiles, skills, and ratings.
Upwork Reports API
Financial and engagement reports for teams and organizations.
Scroll for all 7
Open Collections 2
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Upwork GraphQL API
OPEN COLLECTIONUpwork REST API
OPEN COLLECTIONGraphQL 1
GraphQL schemas published by this provider.
Upwork GraphQL API
The primary Upwork API surface, providing GraphQL queries and mutations for job search, profile access, contract management, and messaging. Authentication uses OAuth 2.0 authori...
GRAPHQLPricing Plans 1
Published pricing tiers and plan structures.
Upwork Plans Pricing
PLANSRate Limits 1
Documented rate limits and quota policies.
Upwork Rate Limits
RATE LIMITSFinOps 1
Cost, billing, and metering signals for API financial operations.
Upwork Finops
FINOPSFeatures 8
Notable capabilities this provider offers.
Job Search
Search and filter job postings using marketplaceJobPostingsSearch GraphQL query with full-text and faceted search.
Contract Management
Access active and completed contracts, contract terms, milestones, and time entries.
Messaging
Read and send messages within active contracts using GraphQL mutations.
Profile Access
Query freelancer and client profiles, skills, portfolios, and ratings.
Webhook Subscriptions
Subscribe to events for real-time notifications when contracts, jobs, or messages change.
OAuth 2.0 Authentication
Secure API access using OAuth 2.0 authorization code grant flow with refresh token support.
Multi-Language SDKs
Official SDKs for Python, Node.js, Java, Go, Ruby, PHP, and Perl with OAuth2 support.
GraphQL Explorer
Interactive GraphQL API explorer at upwork.com/developer/explorer for testing queries.
Scroll for all 8
Semantic Vocabularies 1
JSON-LD contexts and semantic vocabularies used across these APIs.
Upwork Context
JSON-LDSpectral Rules 2
Spectral governance rulesets for linting and validating these APIs.
Upwork API Rules
SPECTRALUpwork API Rules
SPECTRALJSON Schema 22
Standalone JSON Schema definitions for this provider's data models.
Budget
JSON SCHEMAClient
JSON SCHEMAContractListResponse
JSON SCHEMAContract
JSON SCHEMAFreelancerProfile
JSON SCHEMAFreelancerSearchResponse
JSON SCHEMAGraphQLError
JSON SCHEMAGraphQLRequest
JSON SCHEMAGraphQLResponse
JSON SCHEMAJob
JSON SCHEMAJobSearchResponse
JSON SCHEMAMessageCreate
JSON SCHEMAMessageListResponse
JSON SCHEMAMessage
JSON SCHEMAOAuthToken
JSON SCHEMAPaging
JSON SCHEMASkill
JSON SCHEMAEngagementListResponse
JSON SCHEMAEngagement
JSON SCHEMAReportResponse
JSON SCHEMATeamListResponse
JSON SCHEMATeam
JSON SCHEMAScroll for all 22
JSON Structure 22
JSON Structure definitions describing this provider's data shapes.
Graphql Budget Structure
JSON STRUCTUREGraphql Client Structure
JSON STRUCTUREGraphql Contract List Response Structure
JSON STRUCTUREGraphql Contract Structure
JSON STRUCTUREGraphql Freelancer Profile Structure
JSON STRUCTUREGraphql Freelancer Search Response Structure
JSON STRUCTUREGraphql Graph Ql Error Structure
JSON STRUCTUREGraphql Graph Ql Request Structure
JSON STRUCTUREGraphql Graph Ql Response Structure
JSON STRUCTUREGraphql Job Search Response Structure
JSON STRUCTUREGraphql Job Structure
JSON STRUCTUREGraphql Message Create Structure
JSON STRUCTUREGraphql Message List Response Structure
JSON STRUCTUREGraphql Message Structure
JSON STRUCTUREGraphql O Auth Token Structure
JSON STRUCTUREGraphql Paging Structure
JSON STRUCTUREGraphql Skill Structure
JSON STRUCTURERest Engagement List Response Structure
JSON STRUCTURERest Engagement Structure
JSON STRUCTURERest Report Response Structure
JSON STRUCTURERest Team List Response Structure
JSON STRUCTURERest Team Structure
JSON STRUCTUREScroll for all 22
Examples 22
Example request and response payloads for these APIs.
Graphql Budget Example
EXAMPLEGraphql Client Example
EXAMPLEGraphql Contract Example
EXAMPLEGraphql Job Example
EXAMPLEGraphql Message Example
EXAMPLEGraphql O Auth Token Example
EXAMPLEGraphql Paging Example
EXAMPLEGraphql Skill Example
EXAMPLERest Engagement Example
EXAMPLERest Report Response Example
EXAMPLERest Team Example
EXAMPLEScroll for all 22
Security Posture 2
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Scopes 1
OAuth scopes governing access to this provider's APIs.
Agentic Access 1
Recommended x-agentic-access execution contracts for AI agents.
Use Cases 5
What developers build with this provider.
Freelancer Management
Agencies and businesses managing a distributed freelancer workforce through programmatic contract and message access.
Job Monitoring
Applications tracking new job postings matching specific criteria using scheduled search queries.
Talent Analytics
Platforms building talent scoring, profile analysis, and market intelligence on freelancers.
CRM Integration
Connecting Upwork client and contract data to CRM systems for unified client management.
Automated Reporting
Building custom dashboards and reports from Upwork contract, billing, and engagement data.
Integrations 3
Pre-built integrations with other platforms and tools.
PowerBI Connector
Official Power BI connector for importing Upwork data into business intelligence dashboards.
OAuth 2.0 Providers
Standard OAuth 2.0 integration with any identity provider supporting authorization code flow.
Webhook Integration
Real-time event streaming to external systems via Upwork subscription webhooks.
Resources
Get Started 1
Portal, sign-up, and the first successful call
Documentation 1
Reference material describing how the API behaves
Agent Surfaces 1
MCP servers, agent skills, and machine-readable catalogs
Design & Contract 3
Pagination, idempotency, versioning, errors, and events
Build 8
SDKs, sample code, and the tooling you integrate with
Scroll for all 8
Access & Security 4
Authentication, authorization, and security posture
Operate 1
Status, limits, changes, and where to get help
Company 2
The organization behind the API