Big Brain Docs
  • 👋Welcome to Big Brain
  • Apps
    • Upwork Auto Apply
      • Getting Started
      • Add an Upwork Account
      • Limits
      • Create an Upwork Campaign
      • Example Message
      • Personalize with AI
      • Slack Integration
      • Using the API
      • FAQ
      • Pricing
    • Data Cleaning
      • Data Cleaning Form
        • Sources
          • Parvenu
          • Sales Navigator Search
          • Google Sheets
          • Mailshake
          • Linkedin Job Search
          • Indeed Job Search
        • Data Enrichment
          • Linkedin Profile Finder
          • Profile Scraper
          • Personalize with AI
          • Email Verification
        • Filters
        • Destinations
          • Linkedin Outreach
          • Mailshake Campaign
          • Google Sheets
      • Integrations
        • Mailshake
          • Add Your Mailshake API Key
        • Smartlead
          • Add Your Smartlead API Key
        • Parvenu
          • Add Your Parvenu API Key
        • Open AI
          • Default Prompts
          • New Custom Prompt
          • Existing Custom Prompts
          • Using Icebreakers as Text Replacements
          • Add Your Open AI API Key
      • Lists
        • Edit an Existing List
        • Data Cleaning Analytics
    • Linkedin Outreach
      • Accounts
        • Connect a New Linkedin Account
        • Reconnect Expired Linkedin Account
        • Disconnect an Existing Linkedin Account
      • Messages
        • Create a Message Sequence / Update Existing Message Sequences
        • Personalize with Text Replacements
      • Campaigns
        • Create / Update Linkedin Campaigns
      • Lists
        • Clean Prospect List
      • Security
        • Limits
      • Linkedin Analytics
    • Jobs Sync
      • Add Mailshake API Key
      • New Job Sync
      • Active and Previous Syncs
  • Services
    • Managed Email Outreach
      • Delegate DNS Access
      • Updating your Signature
      • Security
        • What if my Email gets Suspended?
      • Pricing
    • Managed Linkedin Outreach
      • FAQ
        • Can I use a new Linkedin account?
        • Do I need to upgrade my Linkedin account?
  • User
    • Keyboard Shortcuts
    • Account
      • Shared Logins
      • Update Your Billing
      • Affiliate Program
  • Tools
    • Email Sending Volume Calculator
    • Spam Word Checker
  • Resources
    • Book a Meeting
    • Billing Portal
    • Accounts
Powered by GitBook
On this page
  • Scraping the Jobs
  • Using the API
  • Input Example
  • Notes
  1. Apps
  2. Upwork Auto Apply

Using the API

PreviousSlack IntegrationNextFAQ

Last updated 2 months ago

Scraping the Jobs

  1. Sign up for

  2. Get our bot in the marketplace.

  3. Scrape Upwork jobs

You must pass the job application URL to our API. To get this URL, we recommend using this If you are not a developer, you can use our no-code tool and we'll handle scraping the jobs for you.

  1. 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.

  1. Convert the job URL to this format

https://www.upwork.com/ab/proposals/job/{Job_ID}/apply/#/

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

Name
Value

Content-Type

application/json

Body

Name
Type
Description
Required

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

{
  "username": "example@gmail.com",
  "password": "Password123!",
  "startUrls": [
    {
      "url": "https://www.upwork.com/ab/proposals/job/~021894229602886060807/apply/",
      "method": "GET"
    }
  ],
  "coverLetter": "Hi, \n\nIt is great to connect with you! I am a lawyer with international experience in corporate commercial law, contracts, IP, and technology law. I have law degrees and specialization certificates in data privacy, and regulatory compliance. I have also worked with dozens of clients in multiple industries across multiple jurisdictions where I address various issues including but not limited to contractual obligations; IP rights; compliance policies; privacy policies, etc. \n\nCan you kindly provide more details about this project. I would be happy to jump on a call if that works for you. \n\nI look forward to your reply. \n\nThank you. \n\nRegards",
  "defaultAnswer": "Let's get on a call and I will answer all of your questions.",
  "securityQuestion": "Answer",
  "proxyConfig": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "StaticUS3"
    ]
  },
  "debugMode": true,
  "testMode": false,
  "agency": "",
  "freelancer": "Example Contact",
  "autoRefill": true,
  "autoRefillAmount": "100",
  "ignoreDuplicateProposals": true,
  "stepSize": 1,
  "maxBid": 20,
  "boostProposal": true
}

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

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

Your proxy group from the .

Application URLs are different than job URLs. This actor uses Application URLS. Job URL - - Do not use this type of URL. Extract the Job ID and turn it into the application URL. Application URL - - This is the correct url to use. The Job ID always includes ~ Freelancer and Agency Parameters

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? , 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.

proxyConfig
useApifyProxy
apifyProxyGroup
debugMode
testMode
agency
freelancer
autoRefill
autoRefillAmount
ignoreDuplicateProposals
boostProposal
stepSize
maxBid
APIFY
Upwork Auto Apply
APIFY actor.
here
https://www.upwork.com/jobs/~{Job_ID}
https://www.upwork.com/ab/proposals/job/~{Job_ID}/apply/#
Check out our no-code app
APIFY proxy page