Upwork Freelancer
Upwork Freelancer API — fetch public freelancer profile data from a profile ID, username or URL. Returns bio, hourly rate, skills, ratings and agency info via browser rendering.
Credit cost: 2 credits per call
Authorization
ApiKeyAuth x-api-key<token>
Your API key. Include it in the x-api-key header for every request.
In: header
Query Parameters
query*string
Upwork freelancer profile ID, username, or full profile URL.
Examples:
~0161ad91037ca6144b
https://www.upwork.com/freelancers/~0161ad91037ca6144b
https://www.upwork.com/freelancers/adnans2
Returns a flat profile object. Parsed from DOM (schema.org/Person, overview cards, meta).
Pair with Upwork Jobs for role discovery or Upwork Services Info seller URLs.
return_page_source?boolean
When true, return the raw HTML page source as {"result": "..."} instead of structured JSON. Defaults to false.
Response Body
application/json
application/json
application/json
application/json
application/json
application/json
curl -X GET "https://api.piloterr.com/v2/upwork/freelancer?query=string"{
"url": "https://www.upwork.com/freelancers/~0161ad91037ca6144b",
"name": "Viraj P.",
"title": "Your technology partner in Mobile & web app development",
"rating": 4.9,
"skills": [
"Website",
"HTML",
"CSS",
"JavaScript",
"HTML5",
"CSS 3",
"Microsoft SharePoint Administration",
"Microsoft Office SharePoint Server"
],
"user_id": "577820408753631232",
"currency": "USD",
"location": "Rajkot , India",
"username": null,
"verified": true,
"is_agency": true,
"profile_id": "~0161ad91037ca6144b",
"agency_name": "AllianceTek Inc",
"description": "View Viraj P. profile on Upwork, the world’s work marketplace. Viraj has completed 55 jobs on Upwork. Check out the complete profile and discover more professionals with the skills you need.",
"hourly_rate": 32,
"total_hours": 12029,
"review_count": 38,
"job_success_score": 100,
"profile_image_url": "https://www.upwork.com/profile-portraits/c1dz4wEpEQLXi8mk__RogWkTguDwiFnRRaiqvTOWff1Wr6cQMs-cDGYwEQb7st3SsG"
}{
"error": "Bad Request"
}{
"error": "Invalid API Key"
}{
"error": "Payment required"
}{
"error": "Rate limit exceeded for the API key: quota monthly"
}{
"error": "Internal Error"
}