Giter Site home page Giter Site logo

srikar-kodakandla / linkedin-easyapply-using-ai Goto Github PK

View Code? Open in Web Editor NEW
21.0 1.0 4.0 8.3 MB

Automate your LinkedIn job applications with AI! This bot utilizes GPT models such as GPT-4, GPT-3.5, and Google's Gemini Pro for Easy Apply form filling, customizable to your preferences and job search criteria.

License: Apache License 2.0

Python 100.00%
easy-apply-using-ai job-apply-using-ai linkedin-ai linkedin-chatgpt linkedin-easyapply-bot linkedin-gemini openai-linkedin linkedin-bot linkedin-job-apply-using-chatgpt linkedin-job-apply-using-gemini

linkedin-easyapply-using-ai's Introduction

AI-Driven LinkedIn Job Application Bot ๐Ÿค–

AI Robot Applying to Jobs

๐Ÿ“Œ Overview

This project leverages AI, specifically GPT models, to automate job applications on LinkedIn. It intelligently applies to jobs with the "Easy Apply" option and auto-fills application forms behalf of you.

๐Ÿš€ Getting Started

Before diving into the project, you'll need to create two essential files with the provided template:

  1. Text File: Contains your resume and other relevant details to fill LinkedIn's Easy Apply forms. For guidance, refer to kodakandlasrikar99.txt. The filename for the text file should correspond to the initial segment of your email address used on LinkedIn. For example, if your email address is [email protected], the file should be named kodakandlasrikar99.txt.
  2. JSON File: Houses various configuration settings for the job application process. The filename for the JSON file should correspond to the initial segment of your email address used on LinkedIn. For example, if your email address is [email protected], the file should be named kodakandlasrikar99.json.

Refer to the example files in this project for guidance on creating your own. As a Machine Learning Engineer, I have crafted both the JSON and Text files specifically for applying to Machine Learning roles, aligning closely with my preferences. Feel free to use these as templates to adapt for other roles.

๐Ÿ› ๏ธ JSON File Configuration

The JSON file is crucial for tailoring the application process to your preferences. Below is the explanation of each key:

  • username: Your LinkedIn account email.
  • password: Your LinkedIn account password.
  • roles1: List of keywords for desired job titles. The bot will apply if the job title contains any of these words.
  • not_roles1: List of keywords to avoid in job titles. The bot will not apply to jobs with these keywords in the title.
  • keywords: List of skills or job roles for the LinkedIn job search.
  • locations: List of preferred job locations.
  • remote: Set to true or false. If true, the bot searches for remote jobs.
  • hybrid: Set to true or false. If true, the bot searches for hybrid jobs. If both remote and hybrid are true, it searches for both types. If both are false, it considers all job types (onsite, remote, hybrid).
  • telegram_token_id: Your Telegram bot token for receiving updates on job applications and filled forms. To learn how to obtain the Telegram bot token ID and chat ID, refer to this Youtube video.
  • telegram_chat_id: Your Telegram chat ID for receiving updates.
  • token_cookie_chatgpt: ChatGPT cookie token. To obtain, visit ChatGPT, press F12 for developer tools, find the __Secure-next-auth.session-token cookie, and copy its value.
  • headless_mode_chatgpt: Set to true or false. If true, runs ChatGPT UI browser in headless mode. Currently, set it to false due to a known bug.
  • model_name: The GPT model name (e.g., "gpt-4", "gpt-3.5").
  • gemini_api_key: API key for Google Gemini. Obtain it here.
  • chatgpt_timeout: Time in seconds (default 120) to wait before retrying a request in case of an error with ChatGPT response extraction.
  • GPT_backend_selection: Choose between "chatgpt" and "gemini". Use "chatgpt" for ChatGPT token or "gemini" for Gemini API key.

๐Ÿ Launching the program

To run this program, you need to run python3 apply.py your_first_segment_mail_address, Here the command line argument is the initial segment of your email address used on Linkedin. For example, if your email address is [email protected], then you will have to run python3 apply.py kodakandlasrikar99

๐Ÿ“ Note:

  • The project uses the ChatGPT web UI for response extraction, offering a cost-effective solution.
  • Choose GPT-4 if you are subscribed to ChatGPT Plus else choose GPT-3.5.
  • Gemini might be a better option if ChatGPT is slow, though currently, GPT-3.5 and GPT-4 seems more accurate in answering questions in this task than Gemini. But if you find Gemini is performing well for you, please free to use it.
  • This project uses Undetected-Chromedriver to keep the bot hidden and prevent it from being blocked.

๐ŸŒŸ If You Like the Project, Please Star it!

If you find this AI-driven job application bot helpful or interesting, please consider giving it a star on GitHub. Your support helps to increase the visibility of the project and encourages future developments and improvements. Just click on the star icon at the top of the page โ€“ it means a lot!

โš–๏ธ License

This project is licensed under the Apache License.

โš ๏ธ Important Warning โš ๏ธ

LinkedIn may block your account if it detects automation tools being used without permission. This has happened to me several times. To mitigate this risk, the code includes sleep intervals and uses an undetected-chromedriver, aiming to reduce the chances of detection by LinkedIn. However, please be aware that LinkedIn might still detect and permanently block your account. I am not responsible for any account suspensions or bans that may occur as a result of using this tool.

Use this tool wisely and at your own risk. Happy job hunting! ๐ŸŽฏ๐Ÿค–


Disclaimer: This project is not affiliated with LinkedIn or OpenAI. Use responsibly and adhere to LinkedIn's terms of service.

linkedin-easyapply-using-ai's People

Contributors

srikar-crimecheck avatar srikar-kodakandla avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

linkedin-easyapply-using-ai's Issues

Script is running but can't find jobs on the job listing page

Here's what I get when i run the script.
There's no linkedin verification on the page. I think the bot is not able to find the element.

srikar: Started applying for the location Worldwide and role Machine Learning Researcher
srikar: Maybe linkedin verification
srikar: Started applying for the location Worldwide and role Natural Language processing Engineer
srikar: Maybe linkedin verification
srikar: Started applying for the location Worldwide and role Computer vision engineer
srikar: Maybe linkedin verification
srikar: Started applying for the location Worldwide and role Artificial Intelligence Researcher
srikar: Maybe linkedin verification

werre with del and quit for undetected driver

I keep getting the following error whenever trying to use it please help
Started applying jobs in linkedIn
Applying location at United States
Started applying for the location United States and role social media
Maybe linkedin verification
---Took: 0 minute(s).
Stopped applying to LinkedIn
Exception ignored in: <function Chrome.del at 0x000002970290D3A0>
Traceback (most recent call last):
File "C:\Program Files\Python312\Lib\site-packages\undetected_chromedriver_init_.py", line 843, in del
File "C:\Program Files\Python312\Lib\site-packages\undetected_chromedriver_init_.py", line 798, in quit
OSError: [WinError 6] The handle is invalid

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.