Get an Upwork job's details
curl --request POST \
--url https://api.stophy.dev/v1/upwork/job \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"job": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({job: '<string>'})
};
fetch('https://api.stophy.dev/v1/upwork/job', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.stophy.dev/v1/upwork/job"
payload = { "job": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"data": {
"job": {
"url": "<string>",
"id": "<string>",
"ciphertext": "<string>",
"title": "<string>",
"description": "<string>",
"skills": [
"<string>"
],
"type": "hourly",
"experience": "entry",
"hourlyRate": {
"min": 123,
"max": 123
},
"fixedBudget": {
"amount": 123
},
"currency": "<string>",
"durationWeeks": 0,
"createdAt": "2023-11-07T05:31:56Z",
"publishedAt": "2023-11-07T05:31:56Z",
"status": "<string>",
"category": "<string>",
"categoryGroup": "<string>",
"durationText": "<string>",
"activity": {
"applicants": 0,
"hired": 0,
"interviewing": 0,
"invitesSent": 0,
"unansweredInvites": 0,
"positions": 0,
"lastClientActivityAt": "2023-11-07T05:31:56Z"
},
"client": {
"address": {
"full": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"timezone": "<string>",
"totalSpent": 123,
"hires": 0,
"jobsWithHires": 0,
"activeContracts": 0,
"reviews": 0,
"rating": 123,
"openJobs": 0,
"postedJobs": 0,
"joinedAt": "2023-11-07T05:31:56Z",
"industry": "<string>",
"companySizeText": "<string>"
}
}
},
"creditsUsed": 123,
"requestId": "<string>"
}{
"success": false,
"error": {
"code": "cliSessionCompleted",
"message": "<string>",
"retryable": true,
"requestId": "<string>",
"retryAfterSeconds": 123
}
}{
"success": false,
"error": {
"code": "cliSessionCompleted",
"message": "<string>",
"retryable": true,
"requestId": "<string>",
"retryAfterSeconds": 123
}
}Upwork
Upwork job API
Call the Upwork job API to get ciphertext, title, description, skills, experience and hourly rate, as JSON or markdown. 3 credits.
POST
/
v1
/
upwork
/
job
Get an Upwork job's details
curl --request POST \
--url https://api.stophy.dev/v1/upwork/job \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"job": "<string>"
}
'const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({job: '<string>'})
};
fetch('https://api.stophy.dev/v1/upwork/job', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));import requests
url = "https://api.stophy.dev/v1/upwork/job"
payload = { "job": "<string>" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text){
"success": true,
"data": {
"job": {
"url": "<string>",
"id": "<string>",
"ciphertext": "<string>",
"title": "<string>",
"description": "<string>",
"skills": [
"<string>"
],
"type": "hourly",
"experience": "entry",
"hourlyRate": {
"min": 123,
"max": 123
},
"fixedBudget": {
"amount": 123
},
"currency": "<string>",
"durationWeeks": 0,
"createdAt": "2023-11-07T05:31:56Z",
"publishedAt": "2023-11-07T05:31:56Z",
"status": "<string>",
"category": "<string>",
"categoryGroup": "<string>",
"durationText": "<string>",
"activity": {
"applicants": 0,
"hired": 0,
"interviewing": 0,
"invitesSent": 0,
"unansweredInvites": 0,
"positions": 0,
"lastClientActivityAt": "2023-11-07T05:31:56Z"
},
"client": {
"address": {
"full": "<string>",
"street": "<string>",
"city": "<string>",
"state": "<string>",
"postalCode": "<string>",
"country": "<string>"
},
"timezone": "<string>",
"totalSpent": 123,
"hires": 0,
"jobsWithHires": 0,
"activeContracts": 0,
"reviews": 0,
"rating": 123,
"openJobs": 0,
"postedJobs": 0,
"joinedAt": "2023-11-07T05:31:56Z",
"industry": "<string>",
"companySizeText": "<string>"
}
}
},
"creditsUsed": 123,
"requestId": "<string>"
}{
"success": false,
"error": {
"code": "cliSessionCompleted",
"message": "<string>",
"retryable": true,
"requestId": "<string>",
"retryAfterSeconds": 123
}
}{
"success": false,
"error": {
"code": "cliSessionCompleted",
"message": "<string>",
"retryable": true,
"requestId": "<string>",
"retryAfterSeconds": 123
}
}- Endpoint:
upwork.job - Returns:
datahasjob. - Cost: 3 credits. Failed calls cost nothing.
- Paging: No.
Example
import { Stophy } from "stophy";
const stophy = new Stophy({ apiKey: process.env.STOPHY_API_KEY });
const result = await stophy.upwork.job({ job: "https://www.upwork.com/jobs/~0123456789abcdef01" });
console.log(result.data.job);
from stophy import Stophy
stophy = Stophy() # reads STOPHY_API_KEY
result = stophy.upwork.job(job="https://www.upwork.com/jobs/~0123456789abcdef01")
print(result["data"]["job"])
curl -X POST https://api.stophy.dev/v1/upwork/job \
-H "Authorization: Bearer $STOPHY_API_KEY" \
-H "content-type: application/json" \
-d '{"job":"https://www.upwork.com/jobs/~0123456789abcdef01"}'
stophy upwork job "https://www.upwork.com/jobs/~0123456789abcdef01"
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json