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
View JSON Schema on GitHub

JSON Schema

graphql-freelancer-profile-schema.json Raw ↑
{
  "$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.
All 92 tools

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 email required.

A second provider on the same verified email joins the account you already have.