Upwork · Schema

Job

A job posting on the Upwork marketplace

FreelancingJobTalentMarketplaceContractsHiring

Properties

Name Type Description
id string Unique identifier for the job
title string Title of the job posting
description string Detailed description of the job requirements
status string Current status of the job posting
budget object
skills array Required skills for the job
createdDateTime string When the job was posted
client object
jobType string Type of job (hourly or fixed-price)
duration string Expected duration of the project
experienceLevel string Required experience level
View JSON Schema on GitHub

JSON Schema

graphql-job-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-job-schema.json",
  "title": "Job",
  "description": "A job posting on the Upwork marketplace",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique identifier for the job",
      "example": "~0123456789abcdef"
    },
    "title": {
      "type": "string",
      "description": "Title of the job posting",
      "example": "Python Developer for Data Pipeline"
    },
    "description": {
      "type": "string",
      "description": "Detailed description of the job requirements",
      "example": "Looking for an experienced Python developer..."
    },
    "status": {
      "type": "string",
      "description": "Current status of the job posting",
      "enum": [
        "open",
        "closed",
        "draft"
      ],
      "example": "open"
    },
    "budget": {
      "$ref": "#/components/schemas/Budget"
    },
    "skills": {
      "type": "array",
      "description": "Required skills for the job",
      "items": {
        "$ref": "#/components/schemas/Skill"
      }
    },
    "createdDateTime": {
      "type": "string",
      "format": "date-time",
      "description": "When the job was posted",
      "example": "2025-03-15T14:30:00Z"
    },
    "client": {
      "$ref": "#/components/schemas/Client"
    },
    "jobType": {
      "type": "string",
      "description": "Type of job (hourly or fixed-price)",
      "enum": [
        "hourly",
        "fixed-price"
      ],
      "example": "fixed-price"
    },
    "duration": {
      "type": "string",
      "description": "Expected duration of the project",
      "example": "1-3 months"
    },
    "experienceLevel": {
      "type": "string",
      "description": "Required experience level",
      "enum": [
        "entry",
        "intermediate",
        "expert"
      ],
      "example": "intermediate"
    }
  }
}

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-job"
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.