A Python-based automation tool that discovers, filters, and organizes cybersecurity job postings from multiple platforms using API integration and data processing.
The system automates the job discovery process by querying a job search API, filtering relevant cybersecurity roles, extracting experience requirements from job descriptions, and exporting the results into a structured Excel dataset.
Searching for cybersecurity jobs manually across platforms such as LinkedIn, Indeed, or company career portals can be time-consuming and repetitive. Each platform requires repeated searches, manual filtering, and reading long job descriptions.
This project automates the process by building a data pipeline that:
- Retrieves job listings from an external job search API
- Filters results to retain only cybersecurity-related roles
- Extracts experience requirements from job descriptions
- Organizes job data into a structured dataset
- Exports results to Excel for quick review and application
- Automated job discovery using API integration
- Multi-role cybersecurity job search
- Multi-location job aggregation
- Duplicate job removal
- Cybersecurity keyword filtering
- Experience extraction from job descriptions
- Structured dataset generation using Pandas
- Excel export with timestamp-based file naming
Technology Purpose
Python Core programming language Requests API communication Pandas Data processing and dataset generation Regex Experience extraction from job descriptions RapidAPI (JSearch API) Job listing data source Excel (.xlsx) Structured dataset output
Job Search API (RapidAPI - JSearch)
│
▼
Python Script
│
▼
Duplicate Removal
│
▼
Keyword Filtering
│
▼
Experience Extraction
│
▼
Pandas DataFrame
│
▼
Excel Dataset
│
▼
User Review
- SOC Analyst
- Cyber Security Analyst
- SIEM Engineer
- Threat Analyst
- Detection Engineer
- Incident Response Analyst
- Pune
- Mumbai
- Navi Mumbai
The system filters jobs using cybersecurity-specific keywords to ensure role relevance.
Keywords:
soc, security, cyber, siem, threat, incident, detection, blue team, sentinel, defender
If a job title or description does not contain these keywords, it is discarded.
The system extracts experience requirements from job descriptions using regular expressions.
Example patterns detected:
- 1 year
- 2+ years
- 1-3 years
- minimum 2 years
- 3 yrs
Regex used:
\d+\+?\s*(?:-|to)?\s*\d*\s*(year|years|yr|yrs)
If no experience requirement is detected, the value is recorded as Not specified.
- Query API for each job role
- Query API for each location
- Receive JSON job data
- Remove duplicate job links
- Filter jobs using cybersecurity keywords
- Extract experience requirement from job descriptions
- Structure data using pandas
- Sort jobs by posting date
- Export results to Excel
Column Description
Title Job role Company Hiring organization Location Job location Posted Time since posting Experience Needed Extracted from job description Remote Remote availability Publisher Job source Job Description Truncated job description Apply Link Direct job application URL
Title Company Location Experience
SOC Analyst Deloitte Pune 1--3 years Threat Analyst Accenture Mumbai 2+ years SIEM Engineer Capgemini Pune Not specified
pip install requests pandas openpyxl
Add your RapidAPI key in the script:
headers = {
"X-RapidAPI-Key": "YOUR_API_KEY",
"X-RapidAPI-Host": "jsearch.p.rapidapi.com"
}
python job_fetcher.py
- Experience extraction depends on job description wording
- Salary extraction not implemented
- No automated job scoring yet
- API rate limits possible
- Job relevance scoring using CV skills
- Automatic filtering for ≤3 years experience
- Daily scheduled job scraping
- Telegram job alerts
- Database storage instead of Excel
- Dashboard visualization
This project demonstrates how API integration, text processing, and automation can simplify cybersecurity job discovery.
By aggregating job postings into a structured dataset, the system reduces manual job search effort and allows users to quickly identify relevant SOC and cybersecurity job opportunities.