Using the API
Scraping the Jobs
Sign up for APIFY
Get our Upwork Auto Apply bot in the marketplace.
Scrape Upwork jobs
You must pass the job application URL to our API. To get this URL, we recommend using this APIFY actor. If you are not a developer, you can use our no-code tool here and we'll handle scraping the jobs for you.
Filter to remove less relevant jobs from the jobs scraper. You can filter based on keywords, previous spend on Upwork, budget, country, etc.
Setting a minimum previous spend results in more relevant results.
Convert the job URL to this format
Using the API
POST
https://api.apify.com/v2/acts/big-brain.io~upwork-application/runs?token={APIFY API Key}
Apply to jobs on Upwork automatically.
Headers
Content-Type
application/json
Body
username
string
Your Upwork login username
Yes
password
string
Your Upwork login password
Yes
startUrls
array
Application URL
Yes
coverLetter
string
The cover letter you will apply with.
Yes
defaultAnswer
string
How you will answer questions beyond the cover letter. Suggested, "Let's get on a call"
Yes
array
Use a static proxy
Yes, should be a static proxy
boolean
Set to true
Yes
string
Yes
boolean
Set to true to receive extra insights into your run
No
boolean
If set to true, it will go through all the actions but not apply. Set to false to apply.
No
string
The name of the agency profile you want to apply to. Leave empty if filling out the freelancer field.
Required if Freelancer is not set. If Freelancer is set, should be left blank.
string
The name of the freelancer profile you want to apply to. Leave empty if filling out the agency field.
Required if Agency is not set. If Agency is set, should be left blank.
boolean
If set to true, the bot will buy more Upwork credits as needed with your payment method on file.
No
string
The amount of credits to auto refill. The possible values are
"10" "20" "40" "60" "80" "100" "150" "200" "250" "300"
Default is "100"
No
boolean
If set to false, an error will be created if you've already applied. If set to true, no error will be created if you already applied.
No
boolean
Optionally, boost your proposal
No
integer
If boosting your proposal, the amount of credits you want to bid higher than the previous highest bid.
Required if boostProposal
is set to true
integer
If boosting your proposal, the maximum amount of credits you want to bid.
Required if boostProposal
is set to true
Input Example
Use a Static Proxy. Do not use a Residential Proxy. You may need to message APIFY support to enable Static Proxies. You can also use custom proxies.
Notes
Proxy Configuration
Use a Static proxy - residential proxies do not work on this actor.
Application URL
Application URLs are different than job URLs. This actor uses Application URLS. Job URL - https://www.upwork.com/jobs/~{Job_ID} - Do not use this type of URL. Extract the Job ID and turn it into the application URL. Application URL - https://www.upwork.com/ab/proposals/job/~{Job_ID}/apply/# - This is the correct url to use. The Job ID always includes ~ Freelancer and Agency Parameters
You must fill out either the freelancer or agency parameter - do not fill out both. This should be your name / agency exactly as it appears on Upwork.
No-Code App
This actor requires you to scrape jobs and pass the application URL that you gather externally as an input. Don't want to have to scrape jobs yourself? Check out our no-code app, and we'll handle the scraping for you, as well as native filtering for jobs, proxy configuration, scheduling, AI personalization in your cover letter, and Slack integrations to have the option to reject jobs before they are applied to.
Last updated