MojPosao Scraper - Croatian Job Listings · $1.5/1K
Pricing
from $0.75 / 1,000 result items
MojPosao Scraper - Croatian Job Listings · $1.5/1K
Extract job postings from MojPosao.hr (Croatia) by keyword and location: title, employer, place, salary range, posting date, URL.
Pricing
from $0.75 / 1,000 result items
Rating
0.0
(0)
Developer
Yusuke Suda
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Categories
Share
MojPosao Scraper — Croatian job listings by keyword and town
Extract job postings from MojPosao.hr (Croatia) by keyword and location: title, employer, place, salary range, posting date, URL.
MojPosao (mojposao.hr, formerly moj-posao.net) is one of Croatia's large job boards, with about 2,000 live postings: over 1,100 in Zagreb alone. This Actor turns its search results into a clean table: the job title, the employer, the towns the job is in, the pay where the employer gives it, when the posting went online, and the link to the posting.
Press Start. The prefilled input searches for vozač (driver) in Zagreb, so
the first run needs no configuration.
What a row looks like
{"title": "Prodajni predstavnik – središnja Hrvatska (m/ž)","company": "Evapify d.o.o.","location": "Zagreb","salary_min": 1250,"salary_max": 1850,"salary_currency": "EUR","posted_at": "2026-09-24T11:42:21+00:00","source_url": "https://mojposao.hr/posao/579e5fd1-e756-4abc-bc73-9f04935ff4c7/prodajni-predstavnik-sredisnja-hrvatska-m-z","external_id": "579e5fd1-e756-4abc-bc73-9f04935ff4c7"}
company is the employer as the posting names it. When the employer hides its
name, company is empty. Contact persons, email addresses and phone numbers are
never collected. This Actor reads the search results only and never opens the
job text.
location is the list of towns the posting names, as MojPosao writes it:
"Zagreb", "Zagreb, Zabok" or "Zagreb (Lučko)". A very long list comes cut short
with "...", as the site shows it.
Pay
A minority of postings state pay: 5 of 100 on one page of Zagreb postings.
salary_min and salary_max are the figures the employer entered, in EUR.
When only one figure is given, the other stays empty.
MojPosao does not say whether the figures are per month, or gross or net.
salary_period is therefore left empty rather than guessed. The amounts seen so
far, 800 to 3,200 EUR, are the size of monthly pay.
Posting dates
posted_at is the time MojPosao gives for the posting, to the second, in UTC.
A "posted after" filter compares that time with yours.
MojPosao lists paid formats first and then the newest, and offers no plain date order. A run with a cutoff therefore reads the whole search and keeps the postings at or after it. It takes longer than on a date-ordered site, but no newer posting further down the list is missed.
What people use it for
- Tracking which companies in a Croatian town are hiring, week by week.
- Feeding a job board or a newsletter with Croatian openings in a niche, such as drivers, retail or accounting.
- Pay benchmarking from the postings that state pay.
- Research on the Croatian labour market that needs structured rows rather than a page of links.
Input
| Field | What it does |
|---|---|
searchTerms | Keywords, e.g. vozač, računovođa, konobar. Each keyword is its own search. Leave empty for everything. |
location | One Croatian town as MojPosao writes it: Zagreb, Split, Rijeka, Osijek, Zadar. Leave empty for the whole country. |
postedAfter | Only postings from this time on, e.g. 2026-09-20T00:00:00+02:00. |
sinceDays | The same, as a rolling window: 1 keeps yesterday and today, 7 the last week. Set it once on a scheduled task and never edit the date again. |
maxItems | A hard stop, so your bill is predictable. |
proxyConfiguration | Off by default. Most runs do not need a proxy. |
How much one run returns
MojPosao serves 100 postings per page, and the run reads page after page until
the search ends or maxItems is reached. The site states how many postings a
search holds, and the run report shows that number next to the rows delivered.
If you search several keywords, a posting that matches more than one is
delivered only once per run.
Pricing
$1.50 per 1,000 postings, falling to $0.75 per 1,000 on higher Apify plans, plus $0.005 each time a run starts. Platform usage is not passed on to you.
You are charged only for rows you actually receive. If you set a maximum charge for the run, it stops cleanly at that limit instead of going over it.
Scope and limits
The Actor reads public listings only. It reads them from the search the site's own results page uses when you scroll for more, one page at a time. MojPosao's robots.txt allows this for all crawlers. Job pages are not opened.
A town MojPosao does not know fails the run. The site ignores such a town and answers with every posting in Croatia, without saying so. So every page of a town search is checked: if most postings on it do not name your town, the run stops. Give one town, spelled as the site spells it. Use a town rather than a county: the check looks for the town's own name in each posting.
Every page is also checked against the keyword you asked for. If the site answered something else, the run fails rather than return rows you did not ask for and charge you for them.
If MojPosao changes its search, the run goes red. It does not return zero rows and report success. A silent scraper is worse than a broken one, because you only find out weeks later.
A run that is blocked or cut short partway also goes red, even though the rows it did collect are in the dataset and yours to keep. Red here means "this is not the complete answer", not "you lost the data". On a schedule, a run that quietly came back short is the thing you most need to hear about.
Same shape, other sites
This Actor shares its output shape with:
- the Posao.hr Scraper (Croatia)
- the Jobs.at Scraper (Austria)
- the Jobware Scraper (Germany)
- the jobs.ch, jobup.ch and JobScout24 Scrapers (Switzerland)
- the Jobindex Scraper (Denmark)
- the Jobs.cz Scraper (Czech Republic)
- the Praca.pl Scraper (Poland)
- the BestJobs Scraper (Romania)
A parser you write for one keeps working on the others, and on the countries added next.
Support
Open an issue on this Actor with the run ID and your input. We answer within one business day.