IrishJobs.ie Scraper at a glance
IrishJobs.ie Scraper is a ready-to-run Apify actor from abotapi for collecting jobs data. Its documented output includes job id, change type (incremental mode), title, employer and location, which you can export as JSON, CSV or Excel or read through the Apify API. It costs $2.20 per 1,000 results on the Apify Free plan and from $1.20 on paid plans, with smaller per-run or optional feature charges listed on Apify.
- Runs on
- Apify cloud: console, API, schedules and integrations
- Data type
- Jobs, Lead Generation, Automation
- Pricing
- $2.20 per 1,000 results (Free plan), from $1.20 on paid plans
- Output
- Documented below · JSON, CSV, Excel
- Inputs
- 28 options
Scrape job listings from IrishJobs.ie by keyword, location, job type, salary, recency, or search URL. Extract titles, employers, GPS locations, parsed EUR salary ranges, employment type, full descriptions, and posting dates.
What IrishJobs.ie Scraper can do
- Two ways in. Build a search from keyword, location, job type, salary and recency filters, or paste any IrishJobs.ie search-result link and let the run paginate it.
- Rich listing data by default. Title, employer with logo, location, parsed EUR salary bands, skills and posting date come back on every job, no extra toggle needed.
- Optional detail enrichment. Switch on the full job description, GPS coordinates, Eircode, employment type and any listed contact details, and pay the enrichment charge only for the jobs actually read.
- Built for recurring searches. Incremental mode returns only new, updated or expired jobs on repeat runs of the same search, so a daily or weekly schedule does not re-bill jobs you already have.
- Resume without re-paying. Point Resume at a previous run or dataset and the crawl skips everything already collected there instead of starting over.
- Clear pass or fail. A run that cannot read the site at all stops with an error instead of quietly returning zero jobs, so an empty result you can trust is never confused with a blocked one.
Choose what to collect
These inputs let you configure IrishJobs.ie Scraper - Jobs, Salaries, Employers & Locations. Open the actor on Apify to enter your values and review the current options.
| Input | What it controls |
|---|---|
modestring · required | Search mode builds SERP URLs from your keyword, location, and filter selections. URL mode paginates the exact SERP URLs you paste. |
keywordsarray | Job title or keyword to search for (e.g. 'software engineer', 'nurse', 'chef'). Leave empty to browse all jobs. |
locationsarray | Town, city, or county to search in (e.g. 'Dublin', 'Cork', 'Galway'). One search URL per location. Leave empty to search all of Ireland. |
jobTypestring | Filter by employment type. All types are searched when empty. |
minSalaryinteger | Minimum annual salary in EUR (e.g. 40000). Leave empty for no salary filter. |
salaryTypestring | Salary period to filter by. Use with Minimum salary above. |
postedWithinstring | Show jobs posted within this many days. Leave at 0 for any date. |
Show 21 more inputs
| Input | What it controls |
|---|---|
sortBystring | Sort order for the search results. |
searchQuerystring | Single keyword; same as Keywords. Ignored when Keywords or Search queries are set. |
searchQueriesarray | Batch keywords; same as Keywords. Ignored when Keywords are set. |
locationstring | Single city or county; same as Locations. Ignored when Locations are set. |
daysOldinteger | Same as Posted within; rounded up to the site's 1, 3, 7, 14 or 30 day buckets. 0 disables. Ignored when Posted within is set. |
urlsarray | Paste IrishJobs.ie links, one per line: search-result links (keyword, location, county, job-type, filtered/sorted?page=N, employer page) are paginated until Max pages or Max jobs; a job link (/job//-job) is scraped as one detail record. Left untouched, this field scrapes one example of each supported link shape. |
startUrlsarray | Same as Start URLs above (links or objects with a url); switches to URL mode when the field above is untouched. |
maxPagesinteger | Maximum number of SERP pages to walk per search URL. Each page returns up to 25 jobs. Leave empty or set to 0 for no page limit - the run stops at Max jobs instead. |
maxListingsinteger | Maximum number of jobs to return. 20 is a reasonable default for a quick sample. Set to 0 for unlimited (stops at Max pages if set, or walks the full catalogue). |
maxResultsinteger | Same as Max jobs. Used when Max jobs is left at its default of 20; any other Max jobs value wins. |
compactboolean | Return a reduced core field set (id, url, title, company, location, salary, contract type, remote, publish date, snippet, description, apply link and incremental change fields) for AI agents and MCP clients. |
resumeFromRunIdstring | Paste a previous run ID (or dataset ID) to collect only jobs NOT already in that run. Use this to continue an interrupted crawl without re-collecting and re-charging the same jobs. |
incrementalModeboolean | Enable recurring monitoring. On the first run the actor saves a snapshot of every job found. On each subsequent run with the same search, it returns only change rows: NEW jobs, UPDATED jobs (with the changed fields listed), REAPPEARED jobs, and (on a complete scan) EXPIRED jobs no longer found. UNCHANGED rows are suppressed by default. Use the emit toggles below to return them. |
skipRepostsboolean | Incremental shortcut: turns on incremental mode and returns only jobs not seen in earlier runs of the same search (NEW rows); unchanged and updated rows are suppressed and no EXPIRED rows are emitted. |
stateKeystring | A stable key that identifies this monitoring campaign's saved state. Defaults to a hash of your search (mode + keywords + location + filters), so the same search automatically picks up its own baseline. Set a custom key only when you need multiple campaigns on the same search. |
emitUnchangedboolean | When ON, incremental mode also returns jobs that haven’t changed since the last run. Each UNCHANGED row bills a dataset-item event, same as a new result. Use only when your downstream pipeline needs the full corpus every run. |
emitExpiredboolean | When ON, incremental mode returns EXPIRED rows for jobs present in the saved baseline but no longer found on the site. Each EXPIRED row bills a dataset-item event. Requires a complete, uncapped scan of the full search - a run interrupted by Max jobs or Max pages will not detect expired jobs. |
ignoreFieldsForChangesarray | Field names to leave out when deciding whether a job changed. A change in an ignored field alone does not make the job UPDATED, and the field is not listed in changedFields. Use top-level output field names (for example salaryMin, salaryMax, employerLogoUrl); the job record is flat, so dotted paths are not needed. The field is still kept in the output. Applies only when Incremental mode is on. |
mcpConnectorsarray | List of MCP connector IDs to export scraped items to (e.g. Notion, Airtable, Linear). Items are pushed to the configured connectors as the actor runs. Leave empty to disable. |
notionParentPageUrlstring | When using a Notion connector, the parent page where the actor's database should live. Leave empty for the connector's default workspace root. |
maxNotifyListingsinteger | Maximum number of jobs to forward to MCP connectors. Acts as a safety cap to avoid overloading your Notion/Airtable base. Default 50. |
Fields in the output
The documented dataset includes the fields below. Availability can depend on the source page and selected mode.
jobIdJob ID (text)changeTypeChange type (incremental mode) (text)titleTitle (text)employerNameEmployer (text)locationTextLocation (text)salaryRawSalary (text)datePostedPosted (date)jobUrlURL (link)changedFieldsChanged fields (incremental mode) (array)firstSeenAtFirst seen (incremental mode) (date)lastSeenAtLast seen (incremental mode) (date)descriptionDescription (text)Show 10 more fields
employmentTypeEmployment type (text)locationLocalityLocality (text)locationRegionRegion (text)validThroughValid through (text)applyTypeApply (text)applyUrlApply link (link)contactPhoneContact phone (text)contactEmailContact email (text)isSponsoredSponsored (boolean)isTopJobTop job (boolean)Example output
An example from this actor’s documentation. Values are illustrative; this is not a fresh live result.
{
"jobId": "9482113",
"jobUrl": "https://www.irishjobs.ie/job/senior-backend-engineer-job9482113",
"title": "Senior Backend Engineer",
"description": "We are looking for an experienced backend engineer to join our growing platform team. You will design and maintain APIs, mentor junior developers, and work closely with product on our core booking system.",
"employerName": "Clover Peak Technologies",
"employerUrl": "https://www.irishjobs.ie/company/clover-peak-technologies",
"employerLogoUrl": "https://www.irishjobs.ie/img/logos/cloverpeak.png",
"employerId": 55210,
"locationText": "County Dublin",
"locationLocality": "Dublin",
"locationRegion": "County Dublin",
"locationPostalCode": "D02 XY45",
"locationCountry": "IE",
"locationLat": 53.3498,
"locationLng": -6.2603,
"salaryRaw": "€55,000 - €65,000 per annum",
"salaryMin": 55000,
"salaryMax": 65000,
"salaryCurrency": "EUR",
"salaryPeriod": "year",
"employmentType": "FULL_TIME",
"skills": [
"Python",
"AWS",
"Kubernetes"
],
"datePosted": "2026-09-15T09:00:00+00:00",
"validThrough": "2026-10-15T00:00:00+00:00",
"applyUrl": "https://careers.cloverpeak.example/apply/9482113",
"applyType": "external",
"sourceSearchUrl": "https://www.irishjobs.ie/jobs/software-engineer/in-dublin",
"contactPhone": "+353 20 910 0142",
"contactEmail": "careers@example.com",
"isSponsored": false,
"isHighlighted": true,
"isTopJob": false,
"isTrafficFromPartner": false,
"crossPostedCount": 0,
"scrapedAt": "2026-09-29T10:15:00+00:00"
}Ways to use this data
- Job seekers and career sites: pull fresh listings for a role and location into your own search page or alert bot.
- Recruitment agencies and sourcing teams: track new postings from competing agencies and employers across Ireland.
- Compensation and workforce research: build a dataset of parsed EUR salary bands by role, county and employment type.
- Market and competitor monitoring: watch a given employer's or sector's hiring volume over time with scheduled incremental runs.
- Lead generation: find employers actively hiring in a region as a signal for outreach.
Before you run
Start with a small input and check the resulting records against your expected fields. Source content and actor options can change; the current Apify listing is the reference for availability and pricing.
Questions about this actor
What data does IrishJobs.ie Scraper return?
The documented output for IrishJobs.ie Scraper includes job id, change type (incremental mode), title, employer, location, salary, posted and url. Availability of each field depends on the source page and the selected mode.
How much does IrishJobs.ie Scraper cost?
It costs $2.20 per 1,000 results on the Apify Free plan and from $1.20 on paid plans, with smaller per-run or optional feature charges listed on Apify. The Apify listing shows the current rate for every plan.
Can I get only new or changed jobs on a schedule?
Yes. Schedule the actor from the Schedules tab and turn on Incremental mode. Each run then returns only new, updated and expired jobs, and unchanged ones are not billed. Expired jobs need emitExpired on and at least one earlier run that completed a full, uncapped scan of the search; until then, a job that stops appearing is simply left alone in the saved baseline rather than marked gone. A job that comes back after being marked expired is reported as NEW again, not as a distinct "reappeared" state.
Why is employmentType empty on some jobs?
IrishJobs.ie's listing cards do not carry an employment type field at all. It is only filled in when Fetch detail pages is on and the job's own page states it.
Can I use it with AI agents or MCP?
Yes. Call it from any Apify integration or MCP client, and use the connector field to push jobs into Notion, Airtable or Linear.
