Job Search Agent Langgraph
Under maintenance
Pricing
Pay per event
Job Search Agent Langgraph
Under maintenance
0.0 (0)
Pricing
Pay per event
0
Monthly users
1
Runs succeeded
80%
Last modified
24 days ago
🎯 AI Job Search Agent
This Apify actor analyzes a resume and finds matching job opportunities from LinkedIn and Indeed, providing detailed scoring and relevancy analysis for each position.
🌟 Features
- 🤖 Autonomous AI Agent: Intelligently analyzes resumes and job postings
- 🎯 Smart Matching: Uses AI to calculate relevance scores based on multiple factors
- 🔍 Multi-Platform Search: Searches both LinkedIn and Indeed for comprehensive results
- 📊 Advanced Scoring: Evaluates jobs based on:
- Skills Match (30%)
- Experience Level (25%)
- Location Match (25%)
- Company/Role Fit (20%)
- 💡 Intelligent Filtering: Removes duplicate listings and irrelevant matches
- 📈 Detailed Analytics: Provides match scores and explanations for each job
🚀 Input Parameters
1{ 2 "resumeText": "Your resume text here", 3 "openAiApiKey": "your-openai-api-key", 4 "locationPreference": "City, State", 5 "workModePreference": "Any|Remote|Hybrid|On-site", 6 "searchRadius": 25, 7 "minSalary": 0 8}
Required Parameters
resumeText
: The full text of the resume to analyzeopenAiApiKey
: Your OpenAI API key
Optional Parameters
locationPreference
: Preferred job locationworkModePreference
: Preferred work mode (defaults to "Any")searchRadius
: Search radius in miles (defaults to 25)minSalary
: Minimum salary requirement (defaults to 0)
📊 Output Format
1{ 2 "query": { 3 "resumeSummary": { 4 "desired_role": "string", 5 "skills": ["skill1", "skill2"], 6 "years_of_experience": "number", 7 "education": { 8 "degree": "string", 9 "institution": "string", 10 "location": "string", 11 "graduation_date": "string" 12 }, 13 "location_preference": "string", 14 "work_mode_preference": "string" 15 }, 16 "searchParameters": { 17 "location": "string", 18 "workMode": "string" 19 } 20 }, 21 "results": [ 22 { 23 "position": "string", 24 "company": "string", 25 "location": "string", 26 "matchScore": "number", 27 "matchDetails": { 28 "skills_match": { 29 "score": "number", 30 "explanation": "string" 31 }, 32 "experience_match": { 33 "score": "number", 34 "explanation": "string" 35 }, 36 "location_match": { 37 "score": "number", 38 "explanation": "string" 39 }, 40 "company_fit": { 41 "score": "number", 42 "explanation": "string" 43 } 44 }, 45 "applicationUrl": "string", 46 "source": "LinkedIn|Indeed" 47 } 48 ], 49 "statistics": { 50 "totalJobsFound": "number", 51 "averageMatchScore": "number", 52 "topSkillsRequested": ["skill1", "skill2", "skill3", "skill4", "skill5"], 53 "timestamp": "string" 54 } 55}
💰 Pricing
The actor uses a pay-per-event pricing model with the following charges:
- Resume Parsing: $0.10 per resume
- Job Scoring: $0.02 per job analyzed
- Results Summary: $0.10 per search completion
🛠️ Technical Details
- Built on Apify platform
- Uses OpenAI's GPT model for analysis
- Integrates with LinkedIn and Indeed job search APIs
- Implements asynchronous processing for better performance
🔄 How It Works
-
📄 Resume Analysis
- Extracts key information from resume
- Identifies skills, experience, and preferences
-
🔍 Job Search
- Searches LinkedIn and Indeed simultaneously
- Collects detailed job information
- Removes duplicates and irrelevant listings
-
⚖️ Smart Matching
- Scores each job based on multiple criteria
- Uses AI to evaluate job descriptions
- Calculates weighted relevance scores
-
📊 Results Processing
- Ranks jobs by match score
- Generates detailed match explanations
- Provides comprehensive statistics
🚀 Getting Started
-
Get your OpenAI API Key
-
Set up environment variables:
OPENAI_API_KEY=your_key
- Run the actor with your resume and preferences
📝 License
MIT License - feel free to use and modify!
Scrape single-page in Python template
A template for web scraping data from a single web page in Python. The URL of the web page is passed in via input, which is defined by the input schema. The template uses the HTTPX to get the HTML of the page and the Beautiful Soup to parse the data from it. The data are then stored in a dataset where you can easily access them.
The scraped data in this template are page headings but you can easily edit the code to scrape whatever you want from the page.
Included features
- Apify SDK for Python - a toolkit for building Apify Actors and scrapers in Python
- Input schema - define and easily validate a schema for your Actor's input
- Request queue - queues into which you can put the URLs you want to scrape
- Dataset - store structured data where each object stored has the same attributes
- HTTPX - library for making asynchronous HTTP requests in Python
- Beautiful Soup - library for pulling data out of HTML and XML files
How it works
Actor.get_input()
gets the input where the page URL is definedhttpx.AsyncClient().get(url)
fetches the pageBeautifulSoup(response.content, 'lxml')
loads the page data and enables parsing the headings- This parses the headings from the page and here you can edit the code to parse whatever you need from the page
for heading in soup.find_all(["h1", "h2", "h3", "h4", "h5", "h6"]):
Actor.push_data(headings)
stores the headings in the dataset
Resources
- BeautifulSoup Scraper
- Python tutorials in Academy
- Web scraping with Beautiful Soup and Requests
- Beautiful Soup vs. Scrapy for web scraping
- Integration with Make, GitHub, Zapier, Google Drive, and other apps
- Video guide on getting scraped data using Apify API
- A short guide on how to build web scrapers using code templates:
Getting started
For complete information see this article. To run the actor use the following command:
apify run
Deploy to Apify
Connect Git repository to Apify
If you've created a Git repository for the project, you can easily connect to Apify:
- Go to Actor creation page
- Click on Link Git Repository button
Push project on your local machine to Apify
You can also deploy the project on your local machine to Apify without the need for the Git repository.
-
Log in to Apify. You will need to provide your Apify API Token to complete this action.
apify login
-
Deploy your Actor. This command will deploy and build the Actor on the Apify Platform. You can find your newly created Actor under Actors -> My Actors.
apify push
Documentation reference
To learn more about Apify and Actors, take a look at the following resources:
- Apify SDK for JavaScript documentation
- Apify SDK for Python documentation
- Apify Platform documentation
- Join our developer community on Discord
Scoring System
Each job is scored across four dimensions:
- Skills Match (30%): Evaluates how well the candidate's skills align with job requirements
- Experience Match (25%): Assesses the match between required and actual experience
- Location Match (25%): Considers geographical alignment with preferences
- Company/Role Fit (20%): Evaluates overall role and company culture fit
Final scores are weighted averages of these components, ranging from 0-100.
Usage Limits
- Maximum of 10 jobs per source (LinkedIn and Indeed)
- Job descriptions are truncated to 1000 characters for scoring
- Results are limited to top 10 matches
Error Handling
- Failed job scores default to 70 points
- Missing application URLs default to empty strings
- Invalid inputs trigger appropriate error messages
Best Practices
- Provide detailed resume text for better matching
- Include location preferences for more accurate results
- Specify work mode preference if important
- Use appropriate API tokens with necessary permissions
Support
For issues and feature requests, please contact Apify support or submit an issue in the repository.
Installation
- Clone the repository:
1git clone https://github.com/Gopalakrishnan-va/job-search-agent-langgraph.git 2cd job-search-agent-langgraph
- Install dependencies:
pip install -r requirements.txt
- Set up environment variables:
Create a
.env
file in the root directory with:
OPENAI_API_KEY=your_openai_key
Usage
Local Development
- Run the actor locally:
apify run
- Test with sample input:
apify run -i input.json
Note: When running locally, make sure you have the Apify CLI installed and are logged in using apify login
. The actor will automatically use your Apify token when running on the Apify platform.
Pricing
Pricing model
Pay per eventThis Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Resume Parsing
$0.100
Charge for parsing and analyzing the resume
Job Scoring
$0.020
Charge for scoring each job against the resume
Results Summary
$0.100
Charge for generating the final results summary