Skip to main content

⚡ JobAgent - Autonomous Multi-Platform AI Job Application Agent

PyPI version Python 3.10+ License: MIT Playwright

An autonomous AI agent designed to search, evaluate, match technical skills, dynamically fill application forms, and submit job applications across LinkedIn Easy Apply and Naukri.com Quick Apply.

Equipped with a Web UI Control Center, Interactive Conversational AI Chat, ATS Resume Reviewer, Multi-Page Pagination, and Strict Technical Skill Matching.


📌 IMPORTANT NOTES FOR NEW USERS (READ BEFORE FIRST RUN)


🚀 Quick Start (Under 60 Seconds)

1. Install via pip

pip install --upgrade jobagent

2. Launch JobAgent

Run in any terminal (PowerShell, Command Prompt, macOS/Linux Terminal):

jobagent

On your first run:

  1. JobAgent guides you through an onboarding wizard to configure your resume, target roles, location, and CTC preferences.
  2. Select Option [1] to log into your LinkedIn / Naukri accounts once.
  3. Select Option [2] to start applying, Option [5] to launch the Web UI Dashboard, or Option [3] to chat with the agent!

🎮 Interactive Menu Options

When you run jobagent, you are greeted with the interactive assistant:

=====================================================
           AI Job Application Agent CLI              
  Autonomous Multi-Platform Applications: LinkedIn & Naukri 
=====================================================

What would you like to do?
  [1] 🔑 Sign In / Verify Platform Accounts (Save LinkedIn & Naukri login permanently)
  [2] 🚀 Direct Apply to Jobs (LinkedIn, Naukri, or Both)
  [3] 💬 Chat with Agent (Search & apply, update details, ask questions)
  [4] 📋 View All Applied Jobs (Full history, links & status)
  [5] 🖥️  Launch Professional Web UI Dashboard
  [6] 📄 Run AI ATS Resume Review & Gap Analysis
  [7] ✏️  Edit Candidate Profile & Preferences
  [8] 📎 Update Resume PDF
  [9] 📊 View Session History & Memory Rules
  [0] 🚪 Exit

💻 CLI Command Line Shortcuts

You can also run specific modes directly via CLI flags:

Command Action
jobagent Launch interactive menu
jobagent --signin Open visible browser to sign into LinkedIn/Naukri and save session
jobagent --ui Launch Web UI Control Center at http://127.0.0.1:8000
jobagent --chat Start interactive conversational chat mode
jobagent --applied-jobs View full history table of applied jobs (with local timestamps)
jobagent --review-resume Run AI ATS Resume Review & Gap Analysis
jobagent --keyword "SDET" --location "Hyderabad" --max-jobs 10 Direct search & apply
jobagent --keyword "QA" --dry-run Run in safe simulation mode (no submissions)
jobagent --auto-approve Autonomous mode (skips manual confirmation step)

🧠 Core Architecture Highlights

1. Strict Technical Skill Matching & Incompatible Stack Gate

  • 50% Technical Skills | 30% Experience Fit | 20% Role Relevance.
  • Detects incompatible programming languages and frameworks (e.g. skips Python/C# postings if candidate's core stack is Java/Selenium/Playwright).
  • Requires at least 50% technical match before proceeding; non-matching posts are automatically skipped and logged with clear reasoning.

2. LinkedIn Multi-Page Search Pagination & Query Precision

  • Supports paginating across pages (start=0, 25, 50, 75...) to process up to 100+ job applications.
  • Enriches short queries (e.g. expanding "QA" to '"QA" OR "Quality Assurance" OR "SDET" OR "Test Automation"') to eliminate irrelevant postings.
  • Deep scrolling ensures up to 25 job cards per page are extracted.

3. Dynamic Form Filling & Memory Engine

  • Traverses multi-step Easy Apply and Quick Apply modals.
  • Intelligently maps text fields, dropdowns, radio buttons, numbers, and resume uploads.
  • Remembers previously answered employer questions (e.g., notice period, CTC, work authorization) in local memory so you never answer the same question twice.

4. Human-in-the-Loop (HITL) Gate

  • Pause before submitting each job application to inspect candidate CTC, notice period, and match breakdown, or enable Auto-Apply for 100% autonomous operation.

🛠️ Troubleshooting & FAQs

Q: Why is LinkedIn asking for login again?

Run Option [1] 🔑 Sign In / Verify Platform Accounts (or jobagent --signin). Sign into LinkedIn completely in the open browser. Once verified, session cookies are saved to .browser_context/ and persist indefinitely across all future runs.

Q: What happens if LinkedIn prompts for 2FA or CAPTCHA?

JobAgent detects security challenges, pauses automation, and displays an alert in the console. You can approve the prompt on your mobile LinkedIn app or solve the CAPTCHA in the open browser. The agent automatically detects verification and resumes where it left off.

Q: How do I change my target location, role, or CTC?

  • Select Option [7] ✏️ Edit Candidate Profile & Preferences from the interactive menu.
  • Or select Option [8] 📎 Update Resume PDF to upload an updated resume.

Q: Do I need an OpenAI or Gemini API Key?

An API key is optional. If you supply GEMINI_API_KEY or OPENAI_API_KEY, JobAgent uses LLM semantic reasoning. If left empty, JobAgent's built-in offline NLP heuristics perform deterministic extraction and matching automatically.


📄 License

MIT License. Created & maintained by Yaswanth Asapu.

Metadata

Release files for jobagent 1.0.20

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jobagent 1.0.20
File Size Uploaded Provenance Actions
jobagent-1.0.20.tar.gz 129.0 kB Without provenance Details for jobagent-1.0.20.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jobagent 1.0.20
File Interpreter ABI Platform Actions
jobagent-1.0.20-py3-none-any.whl Python 3 none any Details for jobagent-1.0.20-py3-none-any.whl

Total release size: 268.7 kB

Release files / jobagent-1.0.20.tar.gz

Download URL jobagent-1.0.20.tar.gz
Size 129.0 kB
Tags Source
SHA-256 checksum
How to use checksums
59e6decbaab1c39bb005819f4f0f2363153147d65e622f82fe625ec67d8ffe78
BLAKE2b-256 checksum
How to use checksums
8c02c7187a0104160f259409050c3cc3c8bf5e5ebfb47d16356366e0d92e10f6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Release files / jobagent-1.0.20-py3-none-any.whl

Download URL jobagent-1.0.20-py3-none-any.whl
Size 139.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
8d613b1487dca4d0dcf31551d7d321f2e7e267565c984a97cfceedacd1a70cc8
BLAKE2b-256 checksum
How to use checksums
5696c1979bcb5ca7d1658db9ea0ec46c73c8e382e9902425bdb2b6930be4fb60
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.5

Security for jobagent 1.0.20

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page