Posao.hr Scraper
Pricing
from $1.49 / 1,000 results
Posao.hr Scraper
Extract structured job data from Posao.hr Keyword, county, category filters. Salary, job type, qualifications. No API key required.
Pricing
from $1.49 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Actor stats
1
Bookmarked
2
Total users
1
Monthly active users
16 hours ago
Last modified
Categories
Share

Extract structured job listings from posao.hr — Croatia's leading job board with over 7,600 active vacancies. No account or API key required. Supports keyword search, county and category filtering, and full job detail extraction including salary, contract type, qualifications, and application links.
Why this scraper?
🇭🇷 Full Croatian market coverage
Access all 7,600+ active job listings across every Croatian county and 26 job categories — from Zagreb to Split to Abroad.
💰 Salary data extracted
When employers disclose compensation, the scraper captures both the minimum and maximum net salary in EUR, including whether it is a net or gross figure.
📋 Rich structured output
Each result includes job type (permanent/fixed-term), required qualifications, work experience, language skills, company address, and benefits — fields not available on most Croatian job boards.
🔄 Cross-run repost detection
The built-in 90-day deduplication engine tracks every job ID across runs. Enable Skip reposts to only retrieve genuinely new listings.
🎯 Flexible filtering
Filter by keyword, county (21 Croatian regions + Abroad), job category, publication date, and whether a salary is disclosed — individually or in combination.
⚡ Fast listing mode
Disable Fetch detail pages to collect URLs, titles, and locations at high speed when you only need a quick inventory.
Input parameters
| Parameter | Type | Default | descriptionHtml | String | Full job description as raw HTML. null if not fetched. |
| descriptionText | String | Plain-text version of the description, HTML tags removed. |
| descriptionMarkdown | String | Markdown version of the job description. |
|---|---|---|---|
| searchQuery | String | "" | Keyword(s) to search for. Leave empty to browse all jobs. |
| location | Select | All regions | Filter by Croatian county. |
| category | Select | All categories | Filter by job category. |
| daysOld | Integer | — | Only return jobs published within this many days. |
| salaryOnly | Boolean | false | Restrict to jobs with a disclosed salary. |
| fetchDetails | Boolean | true | Fetch full job detail pages. Disable for fast, sparse output. |
| skipReposts | Boolean | false | Skip jobs already seen in previous runs. |
| maxResults | Integer | 100 | Maximum number of results. |
| startUrls | Array | [] | Specific posao.hr job URLs to scrape directly. |
Output schema
Each result contains the following fields.
Always present:
| Field | Type | Description |
|---|---|---|
id | string | Unique job listing ID from the source platform. |
url | string | Direct URL to the job listing. |
title | string | Job title as published. |
company | string | Employer / company name. |
location | string | Full location as published (city, region, or country). |
region | string | Region or province. |
categories | array | Job categories or industry sectors. |
deadline | string | deadline field. |
deadlineRaw | string | deadlineRaw field. |
daysLeft | integer | daysLeft field. |
salary | string | Raw salary string as shown on the site (null if not published). |
salaryMin | number | Minimum salary (null if not published by employer). |
salaryMax | number | Maximum salary (null if not published by employer). |
salaryNet | boolean | salaryNet field. |
currency | string | currency field. |
jobType | string | Type of employment (Full-time, Part-time, Contract, etc.). |
qualifications | string | qualifications field. |
requiredExperience | string | requiredExperience field. |
foreignLanguage | string | foreignLanguage field. |
computerSkills | string | computerSkills field. |
applyUrl | string | Direct application URL (null if not available). |
companyAddress | string | companyAddress field. |
companyWebsite | string | Company external website URL. |
publishDate | string | Publication date (YYYY-MM-DD). |
publishDateISO | string | Publication date in ISO 8601 format. |
source | string | Source domain name (e.g. 'pracuj.pl'). |
scrapedAt | string | ISO 8601 timestamp of when this item was scraped. |
contentHash | string | MD5 hash of key fields for change detection (16 chars). |
summary | string | Human-readable one-line summary of the listing. |
isRepost | boolean | True if this listing was seen in a previous run (90-day window). |
originalPublishDate | string | Original publish date if this is a repost (null otherwise). |
originalUrl | string | Original URL if this is a repost (null otherwise). |
With fetchDetails: true (default):
| Field | Type | Description |
|---|---|---|
description | string | Full job description as raw HTML (null if fetchDetails is false). |
descriptionText | string | Full job description as plain text (null if fetchDetails is false). |
descriptionMarkdown | string | Full job description in Markdown format (null if fetchDetails is false). |
benefits | array | Employee benefits listed by the employer. |
requirements | string | requirements field. |
Example output record:
{"id": "1202290","url": "https://www.posao.hr/oglasi/prodajni-agent-u-call-centru-m-z/1202290/","title": "Prodajni agent u call centru (m/ž)","company": "CompanyWall d.o.o.","location": "Zagreb, Osijek","region": "City of Zagreb, County of Zagreb region","categories": ["Computer science, IT & telecommunication", "Sale (Wholesale - Retail)"],"deadline": "2026-04-14","deadlineRaw": "14.04.2026.","daysLeft": 5,"salary": "from 1 176 € to 2 000 € net","salaryMin": 1176,"salaryMax": 2000,"salaryNet": true,"currency": "EUR","jobType": "permanent employment","qualifications": "High school","requiredExperience": "one year","foreignLanguage": "english","computerSkills": "good","description": "<ul><li>Savjetovanje klijenata...</li></ul>","descriptionText": "Savjetovanje klijenata...","descriptionMarkdown": "- Savjetovanje klijenata...","benefits": "<ul><li>Stimulativna plaća</li></ul>","requirements": "<ul><li>Komunikativnost</li></ul>","applyUrl": "https://www.posao.hr/prijava/companywall-d-o-o-prodajni-agent-u-call-centru-m-z/102199","companyAddress": "Ilica 1, 10000 Zagreb","companyWebsite": "companywall.hr","publishDate": null,"publishDateISO": null,"source": "posao.hr","scrapedAt": "2026-04-09T12:00:00.000Z","contentHash": "a3f1b2c4d5e6f789","summary": "Prodajni agent u call centru (m/ž) — CompanyWall d.o.o. — Zagreb, Osijek","isRepost": false,"originalPublishDate": null,"originalUrl": null}
Examples
Example 1 — Browse all IT jobs in Zagreb
{"category": "9","location": "00","maxResults": 50}
Example 2 — Recent hospitality jobs with salary, last 7 days
{"category": "29","daysOld": 7,"salaryOnly": true,"maxResults": 200}
Example 3 — Keyword search across all Croatia, skip already-seen jobs
{"searchQuery": "vozač","skipReposts": true,"maxResults": 500}
Example 4 — Scrape specific job URLs directly
{"startUrls": [{ "url": "https://www.posao.hr/oglasi/naziv-posla/1234567/" },{ "url": "https://www.posao.hr/oglasi/drugi-posao/7654321/" }]}
Example 5 — Full export: all active jobs, no filters
{"maxResults": 10000}
💰 Pricing
$1.49 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.15 |
| 1,000 | ~$1.49 |
| 10,000 | ~$14.90 |
| 100,000 | ~$149.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs significantly less with no commitment.
Use the Max results cap in the input to control your spend exactly.
Pricing
This actor uses Pay Per Result pricing at $1.49 per 1,000 results.
| Volume | Cost |
|---|---|
| 100 results | $0.15 |
| 1,000 results | $1.49 |
| 10,000 results | $14.90 |
No subscription fees. Pay only for successfully scraped listings.
Performance
| Run size | Approx. time | Notes |
|---|---|---|
| 100 results | ~2 min | Default, with detail pages |
| 1,000 results | ~15 min | Detail pages fetched |
| 10,000 results | ~2.5 hrs | Full detail mode |
| 10,000 results | ~20 min | Listing mode (fetchDetails: false) |
Known limitations
- Publish date: posao.hr does not display when a job was published — only the application deadline is available.
publishDateandpublishDateISOare alwaysnull. - Salary: Not disclosed by all employers —
salary,salaryMin, andsalaryMaxwill benullwhen unavailable. - Apply URL: Points to posao.hr's internal application routing page (
/prijava/...). Some jobs redirect to external ATS systems; others display an on-site application form after login. - Company name (listing mode): When
fetchDetailsis disabled,companywill always benull— it is only available on the detail page. - Description format: Employers on posao.hr use free-form HTML for job descriptions. Structure and completeness vary widely by employer.
Technical details
- Source: posao.hr — Croatia's largest job board
- Memory: 256 MB
- Repost storage: KeyValueStore
posao-hr-scraper-job-dedup, 90-day TTL - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.
Built by unfenced-group · Issues? Open a ticket or send a message.