Upwork Jobs
1 creditSearch public Upwork jobs with typed filters or a supported search URL.
/api/v1/tools/upwork/jobsParameters
Simple search text with 1 to 200 characters. Do not combine it with Advanced Search text fields.
Advanced Search text with 1 to 200 characters. Results must include all words.
Advanced Search text with 1 to 200 characters. Results must include at least one word.
Advanced Search text with 1 to 200 characters. Results exclude these words.
Advanced Search phrase with 1 to 200 characters that results must contain.
Advanced Search text with 1 to 200 characters that must be in the title.
Supported public https://www.upwork.com/nx/search/jobs URL, at most 2,048 characters. In this mode, only maxItems and fetchDetails are also accepted.
One to 50 public Upwork skill IDs. Each ID has 6 to 30 digits.
One to 12 public Upwork category IDs. Each ID has 6 to 30 digits.
One to 50 public Upwork subcategory IDs. Each ID has 6 to 30 digits.
One or both of hourly and fixed.
Minimum hourly rate from 0 to 99,999.
Maximum hourly rate from 0 to 100,000. Must be greater than the minimum.
Ranges: 0-99, 100-499, 500-999, 1000-4999, or 5000-.
Minimum custom fixed price from 0 to 99,999.
Maximum custom fixed price from 0 to 100,000. Must exceed the minimum.
One or more of entry, intermediate, and expert.
Client hire history: 0, 1-9, or 10-.
One to 50 public Upwork client locations. Each value has at most 100 characters.
One to 50 public Upwork timezones. Each value has at most 100 characters.
Hourly project length: week, month, semester, or ongoing.
Hourly workload: as_needed or full_time.
Return contract-to-hire jobs. Defaults to false.
Generated search page size: 10, 20, or 50. Defaults to 10.
Generated search order: relevance or recency. Defaults to relevance.
Maximum jobs to return. Integer from 1 to 100. When fetchDetails is true, the maximum is 10. Defaults to 10.
Fetch full details for each returned job. Defaults to false.
Response Schema
Upwork job search result
Stable Upwork job records
Jobs returned
Source result estimate
Whether the result limit cut the result
Whether detail enrichment was partial
Request metadata
Tool name (upwork-jobs)
Credits consumed (1)
Unique request ID
Request
curl -X POST https://scraper.run/api/v1/tools/upwork/jobs \-H "Authorization: Bearer sc_live_..." \-H "Content-Type: application/json" \-d '{"keyword": "TypeScript developer","jobTypes": ["hourly"],"hourlyRateMin": 25,"hourlyRateMax": 75,"experienceLevels": ["intermediate","expert"],"clientLocations": ["United States"],"sort": "recency","maxItems": 10}'
Response Example
{"data": {"jobs": [{"id": "~02000000000000000009","title": "TypeScript API developer","url": "https://www.upwork.com/jobs/TypeScript-API-developer_~02000000000000000009/","postedText": "Posted 2 hours ago","description": {"snippet": "Build and maintain a TypeScript API.","text": null,"html": null},"locationEligibility": "Worldwide","contract": {"type": "hourly","hourlyRate": {"min": 35,"max": 60,"currency": "USD"},"fixedPrice": null,"experienceLevel": "Intermediate","duration": "1 to 3 months","weeklyHours": "Less than 30 hrs/week"},"skills": ["TypeScript","Node.js","REST API"],"meta": {"detailStatus": "not_requested"}}],"count": 1,"estimatedTotal": 80,"truncated": true,"partial": false},"meta": {"tool": "upwork-jobs","creditsUsed": 1,"requestId": "req_abc123"}}