Upwork Scraping
Upwork Search Jobs Endpoint
POST /v1/upwork/search-jobs
#Request Example
curl -X POST /v1/upwork/search-jobs \
-H "Authorization: Bearer your-token" \
-H "Content-Type: application/json" \
-d '{
"query": "laravel",
"type": "hourly,fixed",
"difficulty": "intermediate,expert",
"min_hourly_rate": 25,
"max_hourly_rate": 100
}'
#Request Body
{
"query": "laravel",
"type": "hourly,fixed",
"difficulty": "intermediate,expert",
"min_hourly_rate": 25,
"max_hourly_rate": 100
}
#Pricing
- 4 credits
Credits are only deducted for successful requests.
#Input Modes
- pass a full Upwork search URL
- pass structured request fields and let the controller map them
#Common Filters
queryorqpage,per_page,sorttype:hourly,fixeddifficulty:entry,intermediate,expertduration:less_than_1_month,1_to_3_months,3_to_6_months,more_than_6_monthshours_per_week:less_than_30,more_than_30client_hires:0,1-9,10+min_hourly_rate,max_hourly_ratemin_fixed_budget,max_fixed_budget
#Example Response
{
"response": [
{
"title": "Laravel Developer Needed",
"time": "3 hours ago",
"info": "Fixed-price - 1 to 3 months - USD 750",
"description": "Build a REST API using Laravel",
"skills": ["PHP", "Laravel"],
"url": "https://www.upwork.com/jobs/~abc123"
}
]
}
#Response Items
Each result is normalized to fields like id, type, title, time, info, description, skills, and url.