Upwork · Schema
FreelancerProfile
A freelancer profile on Upwork
FreelancingJobTalentMarketplaceContractsHiring
Properties
| Name | Type | Description |
|---|---|---|
| id | string | Unique identifier for the freelancer |
| name | string | Full name of the freelancer |
| title | string | Professional title or headline |
| description | string | Profile overview/bio |
| rate | number | Hourly rate |
| currency | string | Rate currency |
| rating | number | Average client rating (0-5) |
| jobsCompleted | integer | Total number of completed jobs |
| skills | array | Skills listed on the profile |
| country | string | Country of the freelancer |
| availability | string | Current availability status |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/upwork/refs/heads/main/json-schema/graphql-freelancer-profile-schema.json",
"title": "FreelancerProfile",
"description": "A freelancer profile on Upwork",
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique identifier for the freelancer",
"example": "~abc123"
},
"name": {
"type": "string",
"description": "Full name of the freelancer",
"example": "Jane Smith"
},
"title": {
"type": "string",
"description": "Professional title or headline",
"example": "Senior Python Developer"
},
"description": {
"type": "string",
"description": "Profile overview/bio",
"example": "Experienced Python developer with 8 years..."
},
"rate": {
"type": "number",
"description": "Hourly rate",
"example": 75.0
},
"currency": {
"type": "string",
"description": "Rate currency",
"example": "USD"
},
"rating": {
"type": "number",
"description": "Average client rating (0-5)",
"example": 4.95
},
"jobsCompleted": {
"type": "integer",
"description": "Total number of completed jobs",
"example": 48
},
"skills": {
"type": "array",
"description": "Skills listed on the profile",
"items": {
"type": "string"
},
"example": [
"Python",
"Machine Learning",
"Data Science"
]
},
"country": {
"type": "string",
"description": "Country of the freelancer",
"example": "US"
},
"availability": {
"type": "string",
"description": "Current availability status",
"enum": [
"full-time",
"part-time",
"not-available"
],
"example": "full-time"
}
}
}
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/graphql-freelancer-profile"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.