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.
Real signal across most facets with visible, nameable gaps — the contract exists but is thin, or the portal is good while governance and commercial terms are absent.
API Evangelist profiles Upwork the way a machine reads it — 102 machine-readable artifacts across 7 APIs, pulled from the provider's own public surface and indexed so a developer, an analyst, or an AI agent can evaluate it against every other provider on the network.
Every provider in the network is reduced to the same set of machine-readable artifacts — OpenAPI contracts, event specifications, GraphQL schemas, runnable collections, pricing and rate-limit signals, security posture, OAuth scopes, and the agent surfaces (MCP servers and skills) that let software drive the API on its own. We profile them because the interface is the part of a company you can actually inspect: it is a truer signal of what a provider does than any marketing page. From those artifacts we compute the Kin Score — Upwork scores 59.7/100 (developing), with a separate agent-readiness read of 48/100 (agent ready). The full breakdown is below, followed by every artifact we hold — each card links through to its machine-readable definition on apis.io.
Kin Score
This is the API Evangelist rating — a single, repeatable read computed from the artifacts on this page. Green fill is points earned; the red track is points possible, so every bar shows earned-versus-possible at a glance.
How we profile Upwork
Each block below is one kind of artifact we hold for Upwork. For each we say what it is and why it earns a place in the profile, then list every one we've indexed — capped at two rows, scroll within the panel for the rest.
APIs 7
Each API is captured as its own OpenAPI definition — every operation, parameter, and response. This is the single most useful machine-readable description of what an API does, and it's what lets us score, lint, mock, and generate against it without asking the provider for anything.
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 within the panel for all 7 ·
Open Collections 2
Open, tool-agnostic collections carry the same runnable value as Postman without locking you to one client — the portable, forkable form of the same exercise.
Open, tool-agnostic API collections (OpenAPI-derived and Bruno).
Upwork GraphQL API
OPEN COLLECTIONUpwork REST API
OPEN COLLECTIONGraphQL 1
Where a provider ships GraphQL, the schema is the contract. We profile it alongside the REST surface so the whole interface is legible in one place.
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
Pricing is part of the interface. Machine-readable plans tell you what a tier costs and includes before you commit — one of the six things the Kin Score reads for commercial clarity.
Published pricing tiers and plan structures.
Upwork Plans Pricing
PLANSRate Limits 1
Rate limits are the difference between a demo that works and a production integration that doesn't fall over. Publishing them is an operational-transparency signal — and a hard requirement for any agent that plans its own throughput.
Documented rate limits and quota policies.
Upwork Rate Limits
RATE LIMITSFinOps 1
Cost, billing, and metering signals let a buyer model the financial operations of an API before it's live. We profile them for the same reason we profile pricing: the money is part of the contract.
Cost, billing, and metering signals for API financial operations.
Upwork Finops
FINOPSFeatures 8
The notable capabilities this provider advertises, captured as structured features so they can be searched and compared instead of read one landing page at a time.
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 within the panel for all 8 ·
Semantic Vocabularies 1
JSON-LD contexts give the data shared meaning across APIs. We profile them because semantics are what let a machine reconcile 'customer' here with 'customer' somewhere else.
JSON-LD contexts and semantic vocabularies used across these APIs.
Upwork Context
JSON-LDSpectral Rules 2
Governance rulesets we run against this provider's specs — the automated checks behind parts of the score. Profiling them makes the quality bar explicit and re-runnable, not a matter of opinion.
Upwork API Rules
SPECTRALUpwork API Rules
SPECTRALJSON Schema 22
Standalone JSON Schema definitions describe the data models behind the API. We profile them so the shapes are validatable on their own — useful long after a single request is forgotten.
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 within the panel for all 22 ·
JSON Structure 22
JSON Structure captures the data shapes in a form built for tooling — a complement to JSON Schema that keeps the model machine-legible.
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 within the panel for all 22 ·
Examples 22
Real request and response payloads are what turn a spec from abstract into obvious — and they're one of the twelve things an agent needs to call an API correctly on the first try.
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 within the panel for all 22 ·
Security Posture 2
Authentication, domain security, vulnerability disclosure, and trust-center signals — the evidence that a provider takes security seriously enough to document it. We profile it because you can't govern what you can't see.
Authentication, domain security, vulnerability disclosure, and trust-center signals.
Scopes 1
OAuth scopes are the vocabulary of least-privilege access. Profiling them shows exactly what an integration — or an agent acting on a user's behalf — is allowed to do.
OAuth scopes governing access to this provider's APIs.
Agentic Access 1
An x-agentic-access contract marks which operations are safe for an agent to run on its own and which need a human in the loop. It is the difference between an API an agent can use and one it can use safely.
Recommended x-agentic-access execution contracts for AI agents.
Use Cases 5
What developers actually build with this provider — captured so the catalogue answers 'what is this for', not just 'what does this expose'.
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 tell you where this provider already fits in a stack.
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
Every other property we hold for Upwork — documentation, portals, status pages, policies, and corporate surface — grouped by the job it does, following the integrator's arc from getting started to running in production.
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 within the panel 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
← All providers · Data indexed from github.com/api-evangelist/upwork · machine-readable index on apis.io