Habr Career Scraper: Вакансии Хабр Карьера, Навыки и Зарплаты
Pricing
from $1.05 / 1,000 job postings
Habr Career Scraper: Вакансии Хабр Карьера, Навыки и Зарплаты
Scrape Habr Career (Хабр Карьера) tech job vacancies with structured skill tags, specialization, and full description, plus real, large-sample Russian IT salary benchmarks by seniority level from Habr's own public salary survey. Includes a new-postings monitor for a saved search. No login required.
Pricing
from $1.05 / 1,000 job postings
Rating
0.0
(0)
Developer
GetAScraper
Maintained by CommunityActor stats
0
Bookmarked
6
Total users
3
Monthly active users
9 days ago
Last modified
Categories
Share
💼 Habr Career Scraper: Вакансии Хабр Карьера, Навыки и Зарплаты
| Two ways into the Russian job market. HH.ru covers every industry across Russia. Habr Career narrows to tech roles with its own salary benchmark survey. | |
| RUSSIA JOBS & TECH TALENT • HH.ru general hiring and Habr Career's tech-specific listings | |
|
Every industry, all of Russia |
➤ You are here |
|
More than one job board? Russia Jobs Feed covers the main ones in one run. Ищете вакансии на нескольких сайтах? Russia Jobs Feed собирает главные из них за один запуск. | |
|
Real Russian IT salary data, not just job postings. Get tech vacancies from Хабр Карьера (Habr Career) with skill tags and specialization. Then check them against Habr's own salary survey: real pay by seniority level, from more than 41,000 responses. |
|
💰 Real salary benchmarks Min, p25, median, p75, max, and sample size per seniority level, straight from Habr's own survey. |
🏷️ Structured skill tags Skills come back as named tags you can filter on, not one long keyword string. |
🎯 Level-matched pay Each vacancy's seniority (Junior to Lead) matches a benchmark row, so you can compare any offer to the market. |
🔔 New-posting alerts Run it on a schedule and get only the vacancies you haven't seen before. |
🔍 What does Habr Career Scraper do?
Habr Career (Хабр Карьера) is Russia's leading job board for tech roles: developers, QA, analysts, DevOps, and IT management. This Actor searches its public listings and returns clean, structured data for every matching vacancy. No account or login is required.
Each vacancy comes back with its title, employer name, logo and rating, salary when disclosed, location, remote flag, employment type, seniority level, full description, posting date, and expiry date. Skills and specialization arrive as named tags, not a loose keyword string.
Turn on salary benchmarks and you also get a second dataset from Habr's own public compensation survey. It has the minimum, 25th percentile, median, 75th percentile, and maximum monthly pay for each seniority level, from Junior to Lead. Every row shows how many survey responses it is based on, and which half-year the survey covers.
A vacancy's seniority level uses the same names as the benchmark rows. A Middle vacancy can be compared with the Middle benchmark straight away, with no extra matching work.
👥 Who uses it?
Tech recruiters tired of HH.ru's noise: "HH.ru mixes every industry together. We only place developers and DevOps engineers, so we run this against Habr Career instead and get an IT-only feed with skill tags we can filter on directly."
HR and comp teams benchmarking offers: "Before we send an offer, we check the Salary Benchmarks dataset for that seniority level. It tells us in seconds whether our number is competitive or we're about to lose a candidate."
Candidates sanity-checking a job offer: "I pulled the Middle-level salary range before my final interview. Knowing the real median gave me a number to negotiate from instead of guessing."
Existing HH.ru Jobs Scraper users: "We already run HH.ru Jobs Scraper for general hiring. This actor is the tech-specific complement: same shape of data, plus salary benchmarks HH.ru doesn't have."
🚀 How to use it
|
STEP 1 Set your search Enter keywords, a skill, a specialization, or a city. Salary benchmarks stay on by default. |
STEP 2 Run in the cloud The Actor reads Habr Career's public pages for you. No login, no API key. |
STEP 3 Download your data Export vacancies and salary benchmarks as JSON, CSV, or Excel, or connect to Sheets and BigQuery. |
Want a standing watch instead of a one-off pull? Turn on Alert on new listings and give it a State Name. Every scheduled run after that returns only vacancies posted since the last check.
⚙️ Input
| Field | Type | Required | Description |
|---|---|---|---|
| Keywords | string | No | Free-text search, for example python or backend. Combines with City. |
| Vacancy URLs | array of URLs | No | Specific vacancy links or numeric IDs to collect directly instead of searching. |
| Division (Specialization) | enum | No | One specialization to browse, for example development/backend. Takes priority over Skills, Keywords and City. |
| Skills | array | No | A skill tag to filter by, for example docker or kubernetes. Only the first value is used. |
| City | enum | No | Russian city to filter by. Combines with Keywords. |
| Include salary benchmarks | boolean | No | Adds Habr's salary survey as a second dataset. On by default. |
| Maximum vacancies | integer | No | Most vacancies to return in one run. Default 20. |
| Alert on new listings | boolean | No | Returns only vacancies not seen in an earlier run with the same State name. Off by default. |
| State name | string | No | Names the saved search that the new-listings check belongs to. Default default. |
| Reset state | boolean | No | Clears the saved new-listings history for this State name before the run. Off by default. |
| Proxy configuration | proxy | No | Apify proxy settings. The default works for almost every run. |
📤 Output
Every vacancy becomes one row. This is a real result (description shortened here):
{"vacancyId": "1000166249","title": "Pentester","url": "https://career.habr.com/vacancies/1000166249","salaryFrom": 170000,"salaryTo": 200000,"salaryCurrency": "RUR","employerName": "СПЕЦПО","isTrustedEmployer": false,"address": "Россия, Санкт-Петербург","isRemote": false,"employmentType": "Полный рабочий день","qualification": "Middle","skills": [{ "title": "OWASP", "slug": "owasp" },{ "title": "Burp Suite", "slug": "burp_suite" },{ "title": "Linux", "slug": "linux" }],"division": { "title": "Пентестер", "slug": "infosec/pentester" },"description": "Pentester(Middle)Red team ...","datePosted": "2026-10-09","validThrough": "2026-11-08","scrapedAt": "2026-10-16T20:47:19.912Z"}
The salary benchmarks dataset has one row per seniority level. This is the Middle row:
{"level": "Middle","title": "По Middle IT-специалистам","min": 77500,"p25": 108333,"median": 166666,"p75": 233333,"max": 310485,"sampleSize": 18400,"currency": "RUB","asOfPeriod": "2-е пол. 2026","scrapedAt": "2026-10-16T20:47:22.467Z"}
Download results as JSON, CSV, Excel or HTML. The Output tab has four ready-made views: Vacancies, Skills & Specialization, Employer Directory and Posting Lifecycle.
📊 Data table
This actor produces two datasets: Vacancies (the default output) and Salary Benchmarks (when Include Salary Benchmarks is on).
Vacancies
| Field | Type | Description |
|---|---|---|
vacancyId | string | Unique Habr Career vacancy ID. |
title | string | Vacancy title. |
url | string | Link to the vacancy page. |
salaryFrom | number | Minimum disclosed salary. Omitted when not disclosed. |
salaryTo | number | Maximum disclosed salary. Omitted when not disclosed. |
salaryCurrency | string | Salary currency code as Habr shows it. RUR means Russian rubles. |
employerName | string | Employer company name. |
employerLogoUrl | string | URL of the employer's logo image. |
employerRating | number | Employer star rating from Habr's own company reviews. |
isTrustedEmployer | boolean | True when Habr marks the employer as accredited. |
address | string | Vacancy location. |
isRemote | boolean | True when the vacancy is remote-friendly. |
employmentType | string | Employment type as shown on Habr (e.g. full-time). |
qualification | string | Seniority level (e.g. Junior, Middle, Senior, Lead). Matches the Salary Benchmarks level field. |
skills | array | Structured skill tags, each with a name and canonical slug. |
division | object | Primary specialization, with a name and slug matching the Salary Benchmarks taxonomy. |
description | string | Full vacancy description as published, with Habr's formatting. |
datePosted | string | Date the vacancy was first published. |
validThrough | string | Date the vacancy listing expires. |
scrapedAt | string | Date and time the row was collected (UTC). |
Salary Benchmarks
| Field | Type | Description |
|---|---|---|
level | string | Seniority level: All, Intern, Junior, Middle, Senior, or Lead. |
title | string | Habr's own description of this breakdown. |
min | number | Lowest monthly pay in the sample, in rubles. |
p25 | number | 25th percentile monthly pay. |
median | number | Median monthly pay. |
p75 | number | 75th percentile monthly pay. |
max | number | Maximum monthly pay in the sample. |
sampleSize | number | Real number of survey responses this row is computed from. |
currency | string | Always RUB. Figures are monthly, before tax. |
asOfPeriod | string | The most recent period Habr's survey reports, so you know how fresh the numbers are. |
scrapedAt | string | Date and time this snapshot was taken (UTC). |
💰 Pricing
You pay per vacancy returned. Salary benchmark rows are included at no extra charge. Empty runs cost nothing, and there are no monthly subscriptions or seat fees. Set Maximum vacancies to keep any run within your budget.
⭐ Enjoying Habr Career Scraper?
|
⭐ ⭐ ⭐ ⭐ ⭐ If the salary benchmarks helped you make a real hiring or negotiation decision, we'd love to hear it. A 5-star rating takes 10 seconds and helps other recruiters and HR teams find it. Your feedback also tells us what to build next. |
| ★ Rate this Actor on Apify |
❓ FAQ
Do I need a Habr Career account or API key?
No. The Actor reads the public Habr Career website. No registration, login or key is needed.
Как узнать реальную зарплату разработчика на Хабр Карьере?
Turn on Include salary benchmarks. The Actor adds a second dataset with the real minimum, median and maximum monthly pay for each seniority level, taken from Habr's own public salary survey. The numbers are in rubles.
Why do some vacancies show no salary?
Habr lets employers hide their salary offer, and many do. When it is not disclosed, the salary fields are left out of that row instead of showing a guess or a zero. The salary benchmarks dataset is the better source for typical pay.
Is the salary data broken down by specialization?
No. The benchmarks are by seniority level: Intern, Junior, Middle, Senior, Lead, and all levels together. Each vacancy carries a qualification value with the same level names, so you can compare a vacancy with its benchmark row. Each vacancy also has its own specialization (division) for filtering.
Does the salary benchmarks dataset reset on every run?
No. It keeps growing, and each row has its own scrapedAt date. Sort or filter by that date to get the latest figures, or compare snapshots to see whether pay has moved.
Can I combine a keyword search with a specialization filter?
Habr Career itself applies only one kind of filter at a time. Division comes first, then Skills, then Keywords and City. The run log shows which filters were used, so you always know what ran.
How many vacancies can I collect in one run?
The default is 20. Runs have a time limit, so very large pulls (roughly over 100 vacancies) can stop early and return what was collected. For bigger lists, run several narrower searches, for example one per specialization or city.
How do I get only new vacancies?
Turn on Alert on new listings and keep the same State name. Each scheduled run then returns only vacancies posted since the last check.
🛟 Support
Found a bug or need an extra field? Open an issue on the Issues tab of this Actor and it will be reviewed. Custom versions and larger data pulls are available on request.
🔗 Other actors
- Russia Jobs Feed Вакансии: hh.ru, Habr Career, Rabota.ru & More ↗ - reads several Russian job boards in one run, in one format, with a monitor mode for new jobs.
- HH.ru Jobs Scraper: Парсер вакансий HH.ru ↗ - Search Russia's largest general job board by keyword, city, salary, and experience level.
- Auto.ru Scraper: Парсер Авто.ру ↗ - Scrape used-car listings from Russia's largest car marketplace with price-drop alerts.
- Avito Auto Scraper: Парсер Авито Авто ↗ - Extract used-car listings from Avito, Russia's largest classifieds site.
- Yandex Realty Scraper: Яндекс Недвижимость ↗ - Extract property listings and pricing from Yandex Real Estate across Russia.
- NoFluffJobs scraper: tech jobs & salaries ↗ - Scrape tech job listings and transparent salary ranges from Poland's leading IT job board.