Data parser for hh.ru
A new Python project has been created using Flask and AJAX. The parser is integrated into the Build block for Filament CMS. It displays vacancy data from hh.ru and provides a direct link to each vacancy.
What has been implemented
- A REST API built with Flask and a single endpoint:
GET /search?query=... - Requests to the official hh.ru API without authorization
- For each vacancy, the parser returns: job title, company, city, experience, salary from/to/currency, schedule, publication date, and a direct link
- Runs as a system service through systemd
- Integrated with the Laravel website via
ParserController
Stack
- Python 3.12
- Flask
- Requests
- systemd deployment on Ubuntu 24.04
Running locally
git clone https://github.com/Magbusjap/hh-parser-flask
cd hh-parser-flask
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
python app.py
Check:
curl "http://127.0.0.1:5000/search?query=Laravel"
Example response
{
"total": 284,
"shown": 100,
"vacancies": [
{
"name": "PHP Laravel Developer",
"employer": "Company",
"city": "Moscow",
"experience": "3 to 6 years",
"salary_from": 120000,
"salary_to": 180000,
"currency": "RUR",
"schedule": "Full-time",
"published": "2026-04-01",
"url": "https://hh.ru/vacancy/..."
}
]
}
Other projects