Skip to content

Dr-Dreams/EasyApplyBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LinkedIn Easy Apply Bot

Automatically apply to LinkedIn Easy Apply jobs. This bot answers the application questions as well!

This is for educational purposes only. I am not responsible if your LinkedIn account gets suspended or for anything else.

This bot is written in Python using Selenium.

Troubleshooting commands

In windows if the policy is set to "Restricted," which is the default policy, you need to change it. To allow script execution.

Set-ExecutionPolicy RemoteSigned

In Linux if "./venv/Scripts/activate" isn't working then you try this command:

sudo bash venv/bin/activate

Fork Notes

The original code was failing and no longer maintained. This was forked for the purpose of patching and sharing with new features added.

Special Thanks to Michael Dingess

Setup & Startup for Mac OS X

Before starting the bot, make sure you have edit the config.yml file.

To run the bot, open the command line in the cloned repository directory. Go to the repository directory. Open the terminal and run this commands.

run start.command

Setup & Startup for Windows

Before starting the bot, make sure you have edit the config.yml file.

To run the bot, open the command line in the cloned repository directory. Activate the virtual environment and start the bot using these commands:

cd /EasyApplyBot/
python -m venv venv
python -m pip install --upgrade pip
pip install -r requirements.txt
./venv/Scripts/activate
python3 main.py

Next, you need to fill out the config.yaml file. Most of this is self-explanatory but if you need explanations please see the end of this README.

email: email@gmail.com
password: password

Browser:
  chrome: True
  firefox: False
  edge: False
disableAntiLock: False

remote: True

experienceLevel:
  internship: False
  entry: False
  associate: False
  mid-senior level: False
  director: False
  executive: False

jobTypes:
  full-time: False
  contract: False
  part-time: False
  temporary: False
  internship: False
  other: False
  volunteer: False

Industry:
  Human Resources Services: False
  Staffing and Recruiting: False
  Technology, Information and Internet: True
  Software Development: True
  Computer Hardware Manufacturing: False
  Banking: False
  Insurance: False
  Computer and Network Security: True
  Retail: False
  Investment Management: False
  Financial Services: False
  Wireless Services: False
  Semiconductor Manufacturing: False
  IT Services and IT Consulting: False
  Telecommunications: False

Job_function:
  Research: True
  Quality Assurance: False
  Sales: False
  Consulting: True
  Engineering: True
  Information Technology: True
  Business Development: False
  Management: False
  Art/Creative: False
  Other: True
  Design: False
  Project Management: False

date:
  all time: False
  month: False
  week: False
  24 hours: True

positions:
  - Software Developer
  #- A second position
  #- A third position
  #- ...
locations:
  #- First location
  #- A second location
  #- A third location
  #- ...
# - Remote
# - Hybrid
# - On-site
# - Worldwide
# - Asia
# - United States
# - Europe
distance: 100

outputFileDirectory: /Users/dream/Desktop/EasyApplyBot/

companyBlacklist:
  - AMD
  - Google Inc
  - Facebook
  #- company
  #- company2

titleBlacklist:
  - Senior
  - Principle
  #- word1
  #- word2

posterBlacklist:
  - Senior
  - Principle
  #- name1
  #- name2

uploads:
  resume: "path of resume "
  # Cover letter is optional
#  coverLetter: "path of coverLetter if you have it else ignore it"

# ------------ QA section -------------------

# ------------ Additional parameters: checkboxes ---------------
checkboxes:
  # Do you have a valid driver's license? (yes/no checkbox)
  driversLicence: True
  # Will you now, or in the future, require sponsorship for employment visa status (e.g. H-1B visa status)? (yes/no checkbox)
  # This is relative to the location and your citizenship applying above, and same with legallyAuthorized.
  requireVisa: False
  # Are you legally authorized to work in COUNTRY? (yes/no checkbox)
  legallyAuthorized: True
  # We must fill this position urgently. Can you start immediately? (yes/no checkbox)
  urgentFill: True
  # Are you comfortable commuting to this job's location? (yes/no checkbox)
  commute: False
  # Are you comfortable working in a remote environment? (yes/no checkbox)
  remote: True
  # Are you comfortable taking a drug in accordance with local/state laws? (yes/no checkbox)
  drugTest: True
  # Are you willing to complete an assessment? (yes/no checkbox)
  assessment: True
  # Have you completed the following level of education: DEGREE TYPE? (yes/no checkbox)
  degreeCompleted:
    - High School Diploma
    - Bachelor's Degree
    # - Associate's Degree
  #  - Master's Degree
  # - Master of Business Administration
  # - Doctor of Philosophy
  # - Doctor of Medicine
  # - Doctor of Law
  # Are you willing to undergo a background check, in accordance with local law/regulations?
  backgroundCheck: True

# ------------ Additional parameters: Notice Period ---------------
NoticePeriod: 30

# ------------ Additional parameters: universityGpa ---------------
universityGpa: 10

# ------------ Additional parameters: salaryMinimum ---------------
salaryMinimum: 0

# ------------ Additional parameters: languages ---------------
languages:
  english: Native or bilingual # None, Conversational, Professional, Native or bilingual

# ------------ Additional parameters: years of experience ---------------
# How many years of work experience do you have ...? (whole numbers only)
experience:
  # normal ones
  Accounting/Auditing: 0
  Administrative: 0
  Advertising: 0
  Analyst: 0
  Art/Creative: 0
  Business Development: 0
  Consulting: 0
  Customer Service: 0
  Distribution Design: 0
  Education: 0
  Engineering: 0
  Finance: 0
  General Business: 0
  Health Care Provider: 0
  Human Resources: 0
  Information Technology: 0
  Legal: 0
  Management: 0
  Manufacturing: 0
  Marketing: 0
  Public Relations: 0
  Purchasing: 0
  Product Management: 0
  Project Management: 0
  Production: 0
  Quality Assurance: 0
  Research: 0
  Sales: 0
  Science: 0
  Strategy/Planning: 0
  Supply Chain: 0
  Training: 0
  Writing/Editing: 0
  #python: 0
  #selenium: 0
  # default to put for any industry/skill that you did not list
  default: 0

# ------------ Additional parameters: personal info ---------------
personalInfo:
  First Name: John
  Last Name: Doe
  Phone Country Code: US (+1) # See linkedin for your country code, must be exact according to the international platform, i.e. Italy (+39) not Italia (+39)
  Mobile Phone Number: 123434343
  Street address: address
  City: City name # Include the state/province as well!
  State: State name
  Zip: 239823 #enter the pin/zip code
  Linkedin: https://www.linkedin.com/in/profile
  Website: https://www.github.com/Dr-Dreams # github/website is interchangeable here

# ------------ Additional parameters: USA employment crap ---------------
eeo:
  gender: Male
  race: Asian
  vetran: No
  disability: No
  citizenship: Yes
  clearance: No

Config.yaml Explanations

Just fill in your email and password for linkedin.

email: email@domain.com
password: yourpassword

Select your browser type

Browser:
  chrome: True
  firefox: False
  edge: False

This prevents your computer from going to sleep so the bot can keep running when you are not using it. Set this to True if you want this disabled.

disableAntiLock: False

Set this to True if you want to look for remote jobs only.

remote: False

This is for what level of jobs you want the search to contain. You must choose at least one.

experienceLevel:
  internship: False
  entry: True
  associate: False
  mid-senior level: False
  director: False
  executive: False

This is for what type of job you are looking for. You must choose at least one.

jobTypes:
  full-time: True
  contract: False
  part-time: False
  temporary: False
  internship: False
  other: False
  volunteer: False

This is for what type of Industry you are looking for. You must choose at least one.

Industry:
  Human Resources Services: False
  Staffing and Recruiting: False
  Technology, Information and Internet: True
  Software Development: True
  Computer Hardware Manufacturing: False
  Banking: False
  Insurance: False
  Computer and Network Security: True
  Retail: False
  Investment Management: False
  Financial Services: False
  Wireless Services: False
  Semiconductor Manufacturing: False
  IT Services and IT Consulting: False
  Telecommunications: False

This is for what type of job function you are looking for.

Job_function:
  Research: True
  Quality Assurance: False
  Sales: False
  Consulting: True
  Engineering: True
  Information Technology: True
  Business Development: False
  Management: False
  Art/Creative: False
  Other: True
  Design: False
  Project Management: False

How far back you want to search. You must choose only one.

date:
  all time: True
  month: False
  week: False
  24 hours: False

A list of positions you want to apply for. You must include at least one.

positions:
  #- First position
  #- A second position
  #- A third position
  #- ...

A list of locations you are applying to. You must include at least one.

locations:
  #- First location
  #- A second location
  #- A third location
  #- ...
  - Remote

How far out of the location you want your search to go. You can only input 0, 5, 10, 25, 50, 100 miles.

distance: 100

This is the directory where all the job application stats will go to.

outputFileDirectory: C:\Users\myDirectory\

A list of companies to not apply to.

companyBlacklist:
  #- company
  #- company2

A list of words that will be used to skip over jobs with any of these words in there.

titleBlacklist:
  #- word1
  #- word2

A path to your resume and cover letter.

uploads:
  resume: C:\Users\myDirectory\Resume.pdf
  # Cover letter is optional
  #coverLetter: C:\Users\myDirectory\CoverLettter.pdf

Answer these questions with regards to the company you are applying to. For the degrees part uncomment which degrees you have, and do not add other ones since the linkedin questions are generic.

# ------------ Additional parameters: checkboxes ---------------
checkboxes:
  # Do you have a valid driver's license? (yes/no checkbox)
  driversLicence: True
  # Will you now, or in the future, require sponsorship for employment visa status (e.g. H-1B visa status)? (yes/no checkbox)
  # This is relative to the location and your citizenship applying above, and same with legallyAuthorized.
  requireVisa: False
  # Are you legally authorized to work in COUNTRY? (yes/no checkbox)
  legallyAuthorized: True
  # We must fill this position urgently. Can you start immediately? (yes/no checkbox)
  urgentFill: True
  # Are you comfortable commuting to this job's location? (yes/no checkbox)
  commute: False
  # Are you comfortable working in a remote environment? (yes/no checkbox)
  remote: True
  # Are you comfortable taking a drug in accordance with local/state laws? (yes/no checkbox)
  drugTest: True
  # Are you willing to complete an assessment? (yes/no checkbox)
  assessment: True
  # Have you completed the following level of education: DEGREE TYPE? (yes/no checkbox)
  degreeCompleted:
    - High School Diploma
    - Bachelor's Degree
    #- Associate's Degree
    #- Master's Degree
    #- Master of Business Administration
    #- Doctor of Philosophy
    #- Doctor of Medicine
    #- Doctor of Law
  # Are you willing to undergo a background check, in accordance with local law/regulations?
  backgroundCheck: True

Input your noticePeriod.Must be an integer.

NoticePeriod: 30

Input your university gpa. Must be a decimal value to one decimal point.

# ------------ Additional parameters: universityGpa ---------------
universityGpa: 9.0

Input your minimum desired salary. Must be an integer (no decimal, comma, or currency symbol).

# ------------ Additional parameters: salaryMinimum ---------------
salaryMinimum: 69420

List all your languages. You must put the proficiency as either: None, Conversational, Professional, Native or bilingual

# ------------ Additional parameters: languages ---------------
languages:
  english: Native or bilingual # None, Conversational, Professional, Native or bilingual

Answer the following question for your experience in industries, tools and technologies. Things like programming languages, frameworks, etc. The years of experience must be a whole number. Fill in the default for experience you did not list (keep in mind if it's not zero, you will get your application seen more often).

CAVEAT: This is based on keywords in questions. If you put 'R' for experience with the programming language R, this will match all questions with the character 'r'.

# ------------ Additional parameters: years of experience ---------------
# How many years of work experience do you have ...? (whole numbers only)
experience:
  # normal ones
  Accounting/Auditing: 0
  Administrative: 0
  Advertising: 0
  Analyst: 0
  Art/Creative: 0
  Business Development: 0
  Consulting: 0
  Customer Service: 0
  Distribution Design: 0
  Education: 0
  Engineering: 0
  Finance: 0
  General Business: 0
  Health Care Provider: 0
  Human Resources: 0
  Information Technology: 0
  Legal: 0
  Management: 0
  Manufacturing: 0
  Marketing: 0
  Public Relations: 0
  Purchasing: 0
  Product Management: 0
  Project Management: 0
  Production: 0
  Quality Assurance: 0
  Research: 0
  Sales: 0
  Science: 0
  Strategy/Planning: 0
  Supply Chain: 0
  Training: 0
  Writing/Editing: 0
  #python: 0
  #selenium: 0
  # default to put for any industry/skill that you did not list
  default: 0

Input your personal info. Include the state/province in the city name to not get the wrong city when choosing from a dropdown. The phone country code needs to be exact for the one that is on linkedin. The website is interchangeable for github/portfolio/website.

# ------------ Additional parameters: personal info ---------------
personalInfo:
  First Name: FirstName
  Last Name: LastName
  Phone Country Code: Canada (+1) # See linkedin for your country code, must be exact according to the international platform, i.e. Italy (+39) not Italia (+39)
  Mobile Phone Number: 1234567890
  Street address: 123 Fake Street
  City: Red Deer, Alberta # Include the state/province as well!
  State: YourState
  Zip: YourZip/Postal
  Linkedin: https://www.linkedin.com/in/my-linkedin-profile
  Website: https://www.my-website.com # github/website is interchangeable here

This is unused at the moment. For the EEO the bot will try to decline to answer for everything.

# ------------ Additional parameters: USA employment crap ---------------
eeo:
  gender: None
  race: None
  vetran: None
  disability: None
  citizenship: yes
  clearance: no

Troubleshooting

If you are receiving 'file or directory' found errors, create a blank file with the specified name. For example:

touch unprepared_questions.csv

Releases

No releases published

Packages

No packages published