Dev.bg Scraper
Pricing
from $1.49 / 1,000 results
Dev.bg Scraper
Extract IT job listings from DEV.bg — Bulgaria's leading tech job board. Filter by category, city, seniority, and work mode.
Pricing
from $1.49 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Actor stats
0
Bookmarked
1
Total users
0
Monthly active users
3 days ago
Last modified
Categories
Share
Extract job listings from DEV.bg — Bulgaria's leading IT job board. Collect job titles, descriptions, tech stack, seniority, locations, work mode, and company details at scale.

Features
- Full job board coverage — scrape all ~1,600+ active IT job listings
- Rich taxonomy data — categories, tech stack, seniority level, work mode, city
- Keyword & filter search — filter by job category, city, seniority, work mode, and date
- Company details — optional detail-page fetch for company name and profile URL
- Cross-run deduplication — skip already-seen jobs across scheduled runs (90-day memory)
- Start URLs — scrape specific job listings directly
Input
| Parameter | Type | Default | Description |
|---|---|---|---|
keyword | string | — | Search keyword (title/description) |
category | enum | — | Job category (e.g. python, devops, java) |
seniority | enum | — | Seniority level (junior, mid-level, senior, lead) |
location | enum | — | City filter (sofiya, plovdiv, varna, …) |
workMode | enum | — | Work mode (fully-remote, hybrid) — only when no city is selected |
postedAfter | string | — | ISO date, e.g. 2025-01-01 |
fetchDetails | boolean | false | Fetch company name and URL from detail page |
skipDuplicates | boolean | false | Skip jobs seen in previous runs |
maxItems | integer | 0 | Max results (0 = unlimited) |
startUrls | array | — | Specific DEV.bg job URLs to scrape |
Example input — Python senior jobs in Sofia
{"category": "python","seniority": "senior","location": "sofiya","fetchDetails": true,"maxItems": 50}
Example input — all remote jobs since January 2025
{"workMode": "fully-remote","postedAfter": "2025-01-01","skipDuplicates": false}
Output
Each item in the dataset represents one job listing:
{"jobId": 524661,"title": "Java Developer, Live Casino","url": "https://dev.bg/company/jobads/egt-digital-java-developer-live-casino/","companyName": "EGT Digital","companyUrl": "https://dev.bg/company/egt-digital/","datePosted": "2026-04-09","dateModified": "2026-04-09","description": "<p>We are looking for a Java Developer...</p>","excerpt": "We are looking for a Java Developer to join our Live Casino team.","categories": ["Backend Development", "Java"],"seniority": "2-5 години опит","locations": ["София"],"workMode": "on-site","techStack": ["Java", "Spring Boot", "PostgreSQL", "Git"],"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null}
Output fields
| Field | Type | Description |
|---|---|---|
jobId | number | DEV.bg internal job ID |
title | string | Job title |
url | string | Direct URL to the job listing |
companyName | string | null | Company name (requires fetchDetails: true) |
companyUrl | string | null | Company profile URL (requires fetchDetails: true) |
datePosted | string | Date posted (YYYY-MM-DD) |
dateModified | string | Date last modified (YYYY-MM-DD) |
description | string | Full job description (HTML) |
excerpt | string | Short job description (plain text) |
categories | string[] | Job categories |
seniority | string | null | Seniority level label |
locations | string[] | Cities where the job is located |
workMode | string | null | fully-remote, hybrid, or on-site |
techStack | string[] | Technologies and skills listed |
salaryMin | null | Salary data not published by DEV.bg |
salaryMax | null | Salary data not published by DEV.bg |
salaryCurrency | null | Salary data not published by DEV.bg |
salaryPeriod | null | Salary data not published by DEV.bg |
Note: DEV.bg does not publish structured salary data. The
salary*fields are alwaysnull. Salary information, when mentioned, is embedded in the job description as free text.
Performance & pricing
| Mode | Speed | Cost |
|---|---|---|
API-only (fetchDetails: false) | ~17 requests for all 1,600+ jobs | Very low |
With company details (fetchDetails: true) | +1 request per job | Moderate |
Price: $1.49 per 1,000 results.
Scraping the full board without detail fetching completes in under a minute. With fetchDetails: true, expect approximately 5–10 minutes for a full run.
Use cases
- Talent market analysis — track which tech stacks are most in demand in Bulgaria
- Competitive intelligence — monitor which companies are hiring and at what seniority
- Job aggregators — power a Bulgarian IT jobs feed with real-time data
- Salary research — cross-reference job descriptions for compensation signals
- Academic research — map the Bulgarian IT labour market by city, category, and tech
Scheduled / incremental runs
Enable skipDuplicates: true to run this scraper on a schedule and only collect new postings. Jobs are remembered for 90 days across runs.