IrishJobs.ie Ireland Jobs Scraper
Pricing
from $1.45 / 1,000 job postings
IrishJobs.ie Ireland Jobs Scraper
Scrape job postings from IrishJobs.ie — title, employer + logo, structured EUR salary band, work type, dates, full description, and applyUrl. Works with any keyword, county, company, or filtered search URL. Efficient JSON-based pagination, one flat row per job. JSON or CSV out.
Pricing
from $1.45 / 1,000 job postings
Rating
0.0
(0)
Developer
Muhamed Didovic
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
5 hours ago
Last modified
Share
Turn Ireland's leading job board into clean, structured hiring data. Paste any IrishJobs.ie search URL — keyword, county, company, or filtered — and get one flat row per job posting: title, employer with logo, structured EUR salary band, work type, dates, full description, and the apply URL. No browser, no flakiness, no per-request proxy bills.
How it works

✨ Why use this scraper?
- All-Ireland coverage — every sector and county on IrishJobs.ie, Dublin to Donegal, thousands of live postings.
- Any search URL works — the query string is honoured server-side, so every filter the IrishJobs web search supports (keyword, location, salary, posted date, remote…) works here too. No filter-mapping surprises.
- Efficient JSON-based pagination — listings are walked through the site's own structured feed (25 jobs per call), not scraped from HTML. Faster, cheaper, far more robust to redesigns.
- Three data sources merged per row — the listing feed, the JobPosting JSON-LD, and the job-ad app state. You get fields (structured salary, work type, employer jobs count, skills) that plain HTML scrapers miss.
- Structured EUR salary band —
min/max/currency/periodparsed when the employer disclosed one; the honest"€ Not Disclosed"raw text when they didn't. Never fabricated. - Built-in residential proxy at no extra cost — traffic is pre-routed; nothing to configure, no proxy add-ons to buy.
🎯 Use cases
| Who | What they do with it |
|---|---|
| Recruiters & staffing agencies | Monitor competitor postings, source niches by county, track when roles close (validThrough). |
| HR & compensation analysts | Benchmark Irish salaries by sector using the structured salary band + work type. |
| Job aggregators & boards | Ingest a clean JSON feed of Irish vacancies with stable numeric IDs for dedup. |
| Market & labour researchers | Track hiring volume by industry, employer, county over time (datePosted, industry, employer.jobsCount). |
| Lead-gen teams | Companies that are hiring are companies that are buying — enrich rows with contact emails (opt-in) and qualify by payment stack. |
📥 Supported inputs
| Input URL | Example | What happens |
|---|---|---|
| Keyword listing | https://www.irishjobs.ie/jobs/software-engineer | Paginates all matches, one row per job |
| Keyword + location | https://www.irishjobs.ie/jobs/accountant/in-cork | Server-side location filter honoured |
| Location / county | https://www.irishjobs.ie/jobs/dublin | All jobs for that area |
| Company jobs page | https://www.irishjobs.ie/jobs-at/{company-slug} | All live postings for one employer |
| Filtered search | any listing URL + query string (?salary=…, ?postedWithin=…, …) | Filters honoured verbatim, server-side |
| Job detail | https://www.irishjobs.ie/job/{slug}/{org}-job{id} | Scraped directly — exactly 1 row |
Not supported: URLs from other domains (including UK Stepstone sister sites — use the dedicated TotalJobs / Caterer / CWJobs scrapers for those), CV-search or recruiter-side pages, and pages behind a login.
🔄 How it works
- Classify every input URL — listing vs job detail.
- Walk listings through IrishJobs' structured resultlist feed, 25 jobs per call,
?page=Npagination, until yourmaxItemscap or the result set ends. - Fetch each job page in parallel (sliding-window concurrency) through the built-in residential proxy, racing three independent HTTP stacks for reliability.
- Parse & merge the JobPosting JSON-LD, the job-ad app state (salary text, work type, company card), and the listing item (structured salary, skills, dates) into one flat row.
- Push one row per job to the dataset — no padding rows, you pay per real result.
⚙️ Input parameters
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Mix of IrishJobs listing URLs and direct job-detail URLs. Required. |
maxItems | integer | 1000 | Max job rows per listing URL. Direct detail URLs always emit 1 row each. |
maxConcurrency | integer | 4 | Parallel detail-page fetches. 3–6 is the sweet spot. |
maxRequestRetries | integer | 6 | Per-URL retry budget; each retry rotates the proxy session. |
enrichEmails | boolean | false | Opt-in: discover a contact email for each hiring employer. Billed per email found, never for misses. |
qualifyByPayment | boolean | false | Opt-in, requires enrichEmails: flag employers whose websites take payments online (Stripe, Shopify, PayPal…). Free with enrichment. |
proxy | object | built-in | Optional override. Leave empty — the built-in residential proxy is already configured and free. |
📊 Output overview
Each dataset record is one job posting as a flat row. Identity fields (jobId, jobUrl, title) sit at the top level; the employer, location, and salary are small nested objects so CSV export stays readable (employer.name, salary.min, …). Every row records which search URL it was discovered on (sourceSearchUrl), so multi-URL runs stay traceable.
📦 Output sample
Real row from a live run (description trimmed):
{"rowType": "job","jobId": "107578248","jobUrl": "https://www.irishjobs.ie/job/healthcare-assistant-home-care/hibernia-home-care-job107578248","sourceSite": "irishjobs.ie","title": "Dublin North Central - Healthcare Assistant / Home Care Support Worker (Full-Time)","description": "<div><strong>Job Title: Healthcare Assistant / Home Care Support Worker (Full-Time)</strong>…","datePosted": "2026-06-24T03:13:45.33Z","validThrough": "2026-07-24T22:00:00Z","industry": "Health, Health-Nursing","directApply": true,"workType": "Permanent","contractType": null,"workFromHome": null,"skills": [],"employer": {"name": "Hibernia Home Care","url": "https://www.irishjobs.ie/jobs/hibernia-home-care-group?cmpId=1348188&cmp=1","logoUrl": "https://www.irishjobs.ie/CompanyLogos/715b3506-a4ef-4baa-a31b-9bf506f2c173.png","id": 1348188,"jobsCount": 10},"location": {"text": "Dublin, County Dublin, Dublin, IE","locality": "Dublin, County Dublin","region": "Dublin","postalCode": null,"country": "IE","lat": 53.33306,"lng": -6.24889},"salary": {"rawText": "€32,691 per annum","min": 32691,"max": null,"currency": "EUR","period": "annum"},"applyUrl": "https://www.irishjobs.ie/job/healthcare-assistant-home-care/hibernia-home-care-job107578248","applyType": "internal","scrapedAt": "2026-07-13T13:13:47.372Z"}
🗂 Key output fields
| Field | Notes |
|---|---|
| Identity | |
jobId | Stable numeric ID from the URL suffix — use for dedup across runs. |
jobUrl | Canonical job page on IrishJobs.ie. |
sourceSearchUrl | The listing URL this row was discovered on (null for direct detail inputs). |
| Posting | |
title, description | Description is the full HTML body. |
datePosted, validThrough | ISO 8601. validThrough = closing date. |
industry | IrishJobs category tag, e.g. "Health, Health-Nursing". |
workType | "Permanent" / "Contract" / "Temporary" / "Part Time" — from the job-ad metadata. |
workFromHome | "Hybrid" / "Remote" / null — from the listing feed. |
skills | Skill tags from the listing feed, when the employer added them. |
| Employer | |
employer.name, employer.id, employer.logoUrl | employer.url is the IrishJobs company-jobs page (not the company's own website). |
employer.jobsCount | Live postings count for this employer — a hiring-intensity signal. |
| Location | |
location.lat / location.lng | Populated when the posting carries geo data. |
| Salary | |
salary.rawText | Always present — "€ Not Disclosed" when the employer hid it (common in Ireland). |
salary.min/max/currency/period | Only set when a real band was disclosed. Never inferred or predicted. |
| Apply | |
applyType | "internal" (one-click on IrishJobs, applyUrl = job page) / "external" (recruiter ATS — resolve by opening jobUrl) / "unknown". |
| Enrichment (opt-in) | |
contactEmail, contactWebsite, emailEnrichment | Only when enrichEmails: true. |
❓ FAQ
Do search filters from the website work? Yes — your URL is passed to IrishJobs' own search backend verbatim, so anything the web UI can filter (keyword, county, salary, posted date, remote…) is honoured server-side. If the URL works in your browser, it works here.
Why is salary.min null on many rows?
Because the employer chose "€ Not Disclosed" — roughly half of Irish postings do. The row keeps the honest raw text, and min/max stay null. We deliberately do not copy the site's "predicted salary" widget: those are estimates, not the posting's own data.
Is applyUrl always the recruiter's site?
No. When applyType is "internal", the application happens on IrishJobs itself and applyUrl equals jobUrl. When it's "external", the recruiter URL is resolved by JavaScript at click-time, which a server-side scraper can't run — open jobUrl in a browser and click Apply.
How many rows will a listing produce?
Up to min(maxItems, total results) per listing URL. The first API call reports the exact total, and the run log shows it up front.
Do I need to configure a proxy?
No — every request already goes through the actor's built-in residential proxy at no extra cost. The proxy input exists only if you insist on your own pool.
How fresh is the data? Every run hits the live site — rows are as current as the moment the run executes. Schedule the actor for continuous monitoring.
💬 Support
- Found a bug or need a field added? Open an issue on the actor's Issues tab — I usually respond within a day.
- Custom requirements (other Stepstone-family boards, bespoke output shapes, delivery to your DB)? Message me through Apify.
🛠 Additional services
- Contact-email enrichment — flip
enrichEmailson to get a contact email per hiring employer, billed only per email found. - Payment qualification — flip
qualifyByPaymenton (free with enrichment) to flag employers that take payments online: processor stack, Stripe key exposure, confidence score.
🔎 Explore more scrapers
Scraping other Stepstone-family boards? Same engine, dedicated actors:
- StepStone Job Scraper — Germany, Austria, France, Denmark + contact emails
- TotalJobs UK Scraper — UK's biggest Stepstone board, GBP salary bands
- Caterer.com Scraper — UK hospitality vertical
- CWJobs Scraper — UK tech & IT
- Jobsite Scraper — UK all sectors
- s1jobs Scraper — Scotland
Plus CharityJob, Goodmoves, and 100+ other actors on the memo23 profile.
⚠️ Disclaimer
This Actor is an independent tool and is not affiliated with, endorsed by, or sponsored by IrishJobs.ie, The Stepstone Group, or any of their subsidiaries or affiliates. All trademarks mentioned are the property of their respective owners.
The scraper accesses only publicly available job-posting pages — no authenticated endpoints, recruiter-only features, or content behind an IrishJobs login. Users are responsible for ensuring their use complies with IrishJobs.ie's Terms of Service, applicable data-protection law (GDPR, CCPA, etc.), and any contractual obligations of their own organisation.
SEO Keywords
irishjobs scraper, scrape irishjobs.ie, irishjobs api, Apify irishjobs, ireland jobs scraper, irish job board scraper, dublin jobs data, cork jobs scraper, ireland job postings api, jobs ireland dataset, irish salary benchmark data, recruitment data ireland, hiring trends ireland, job market analysis ireland, ireland vacancy data, stepstone ireland scraper, jobs.ie alternative scraper, indeed ireland alternative, job listings extraction ireland, EUR salary data, JobPosting JSON-LD scraper, jobs to CSV ireland, labour market data ireland