Public documentation for the Upwork-only API exposed by FreelanceOS.
https://api.freelanceos.work
All protected endpoints require a bearer token:
Authorization: Bearer <your_api_token>You can create or copy your token from:
https://app.freelanceos.work/profile
Health check for the public API.
Example:
curl https://api.freelanceos.work/v1/healthReturns the current API key owner and account metadata.
Authentication required.
Example:
curl \
-H "Authorization: Bearer <your_api_token>" \
https://api.freelanceos.work/v1/meReturns Upwork jobs collected by the platform.
Authentication required.
Supported query parameters:
page
limit
query
published_after
Notes:
pageis 1-based.limitis capped by the API.queryis a free-text search filter.published_afterfilters jobs by publication date.- Unsupported query parameters are ignored.
Example:
curl \
-H "Authorization: Bearer <your_api_token>" \
"https://api.freelanceos.work/v1/jobs?page=1&limit=10&query=react"The jobs endpoint returns a paginated JSON payload with a data array.
Each job object currently exposes the following fields:
{
"id": 12345,
"platform": "upwork",
"external_id": "upwork-job-id",
"title": "React developer needed",
"description": "Short job description",
"budget": {
"type": "hourly",
"min": 30,
"max": 50,
"currency": "USD"
},
"skills": ["React", "TypeScript"],
"url": "https://www.upwork.com/jobs/...",
"published_at": "2026-06-25T08:15:00Z",
"client": {
"country": "US"
}
}See the examples/ directory for ready-to-run curl commands and sample JSON payloads.
This repository contains documentation only:
- API overview
- request examples
- sample responses
- token acquisition instructions
It does not contain application code.