Upwork
Freelance job posts with budget, skills and client history.Upwork's public job search, 10 jobs a page with payment type, budget or hourly range, contractor tier, skills and the client block, and one job in full with its category, workload and how many people have applied, been interviewed or hired.
- Look up by
- Keywords, or an Upwork search URL; a ciphertext or job link for one job
- Coverage
- Worldwide, budgets in USD
- Cost
- 2 credits a call; failed and empty calls are free
- Endpoints
- 2 endpoints
- Search
- Details
Endpoints
Example
Upwork jobs search, with POST /v1/upwork/jobs. Set SCRAPERCOMPANY_API_KEY to your key and run it; the full parameter list is in the API reference.
curl -X POST "https://api.scrapercompany.com/v1/upwork/jobs" \
-H "x-api-key: $SCRAPERCOMPANY_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"job_types": [
"fixed"
],
"min_fixed_budget": 200,
"query": "web scraping"
}'200 response
{
"search_parameters": {
"engine": "upwork_jobs",
"query": "python",
"page": 1,
"sort": "recency",
"source_url": "https://www.upwork.com/nx/search/jobs/?q=python&sort=recency"
},
"jobs_results": [
{
"job_id": "2118540488998101506",
"ciphertext": "~022118540488998101506",
"title": "Python Pipeline Data Engineer: Build Sports Analytics Database & API (Punting Form Data)",
"description": "I am looking for an expert Backend Data Engineer to design and build a private, cloud-hosted data harvesting pipeline and relational database model for a custom sports analytics platform.",
"url": "https://www.upwork.com/freelance-jobs/apply/~022118540488998101506/",
"type": "hourly",
"hourly_min": 50,
"hourly_max": 90,
"tier": "expert",
"duration_label": "1 to 3 months",
"engagement": "part_time",
"skills": [
"Python"
],
"published_at": "2026-11-06T06:55:17.989Z",
"created_at": "2026-11-06T03:06:28.280Z",
"client_payment_verified": false
}
],
"total": 1732,
"total_on_page": 1,
"next_page": 2,
"meta": {
"source": "upwork",
"elapsed_s": 1.32
}
}Good to know
- Give a query or a search URL, not both. One job-type or experience level is applied by Upwork; several values, a minimum fixed budget and a maximum age filter the page that was fetched, so it can return fewer than 10 jobs.
- Search rows carry the skills. The job page leaves skills empty.
- An empty page and an unknown or closed job are free.
Guides
More jobs and hiring
Job postings from job boards and from companies’ own careers pages.
Or browse every data source.
Industry pages built on this source: Job scraping API.
Questions about this page?
Send the page link and your question, and the team will answer.