# IrishJobs Scraper - Ireland Jobs & Companies (`studio-amba/irishjobs-scraper`) Actor

Scrape Irish job listings from IrishJobs.ie by keyword and location. Extract job titles, companies, salaries, locations, and apply links. No login or cookies required.

- **URL**: https://apify.com/studio-amba/irishjobs-scraper.md
- **Developed by:** [Studio Amba](https://apify.com/studio-amba) (community)
- **Categories:** Jobs
- **Features:** Limited permissions
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 result scrapeds

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

### What does IrishJobs Scraper do?

**IrishJobs Scraper** extracts job listings from [IrishJobs.ie](https://www.irishjobs.ie), Ireland's leading job board with thousands of live vacancies across every sector. Give it a keyword and (optionally) a location, and it returns structured data for every matching job: title, company, salary (when disclosed), location, description snippet, posting date, expiry date, and a direct link to the advert. It reads the site's own server-rendered search data, so there is no login, no cookies, and no browser automation required.

Run it on the Apify platform to get Irish job market data via API, schedule recurring scrapes, and pipe results into tools like Zapier, Make, Google Sheets, Airtable, and Slack.

### How to scrape IrishJobs data

1. Go to the IrishJobs Scraper on the Apify Store.
2. Click **Try for free** to open the actor in the Apify Console.
3. Enter a search query (e.g. "accountant", "software developer", "nurse", "project manager").
4. Optionally enter an Irish location (e.g. "dublin", "cork", "galway", "limerick"). Leave it empty to search all of Ireland.
5. Set the maximum number of results you want (default: 100).
6. You can leave the proxy configuration untouched. The actor's built-in Bright Data access handles IrishJobs.ie's bot protection; the proxy field is only a fallback and most runs work without changing anything.
7. Click **Start** and wait for the run to finish.
8. Download your data as JSON, CSV, Excel, or HTML from the Output tab, or pull it via the Apify API.

### Why use IrishJobs Scraper?

- **Irish salary benchmarking** — where employers disclose a salary, compare pay across roles, sectors, and cities, and track how compensation shifts over time.
- **Recruitment intelligence** — see which companies are hiring, for what roles, and where. Spot hiring trends before your competitors do.
- **Labour market analysis** — understand demand across sectors and counties. Which areas have the most vacancies? Which roles are in shortest supply?
- **Lead generation** — find employers and recruitment agencies actively hiring to target with B2B services, tools, or staffing solutions.
- **Job aggregation** — feed structured Irish listings into your own job board, career site, or candidate-alert system.
- **Academic and policy research** — clean, structured data for labour economics, skills-gap studies, and workforce reports.

### About IrishJobs.ie

IrishJobs.ie is one of Ireland's oldest and best-known recruitment platforms, now part of the StepStone group. It aggregates vacancies from thousands of employers and recruitment agencies across every sector — technology, healthcare, finance, accountancy, engineering, retail, hospitality, and more. Key characteristics:

- **Coverage**: Nationwide Ireland, from Dublin to regional towns and counties, plus remote roles.
- **Sectors**: All major industries, from Accountancy and IT to Nursing, Construction, and Sales.
- **Salary data**: Many adverts show "Not Disclosed"; where a figure is given it appears as a range with a pay period (e.g. "€35,000 - €75,000 per annum").
- **Work patterns**: Full-time, part-time, contract, temporary, and permanent roles.

### Input

| Field | Type | Required | Description |
|-------|------|----------|-------------|
| `searchQuery` | string | No | Job keyword to search for. Defaults to `accountant` if empty. |
| `location` | string | No | Irish location to filter by (e.g. `dublin`). Leave empty to search all of Ireland. |
| `maxResults` | integer | No | Maximum number of listings to scrape. Default `100`. |
| `proxyConfiguration` | object | No | Fallback Apify proxy settings. Rarely needed — the built-in Bright Data path is what gets through Akamai. |

#### Example input

```json
{
  "searchQuery": "software developer",
  "location": "dublin",
  "maxResults": 100,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": ["RESIDENTIAL"],
    "apifyProxyCountry": "IE"
  }
}
```

### Output

Each job listing is a flat JSON object with the following fields:

| Field | Type | Example |
|-------|------|---------|
| `jobId` | number | `107583589` |
| `jobTitle` | string | `Software Developer` |
| `company` | string | `eir business talent` |
| `companyUrl` | string | `https://www.irishjobs.ie/jobs/eir-business-talent?cmpId=1242855&cmp=1` |
| `companyLogo` | string | `https://www.irishjobs.ie/CompanyLogos/8e3dda14-...png` |
| `location` | string | `Dublin, County Dublin` |
| `salary` | string | `€84,000 - €96,000 per annum` |
| `remoteOption` | string | `null` |
| `skills` | array | `null` |
| `descriptionSnippet` | string | `eir business talent is currently seeking applicants for Software Developer...` |
| `sponsored` | boolean | `false` |
| `publishedDate` | string | `2026-06-24T15:01:06.343Z` |
| `expiryDate` | string | `2026-07-24T22:00:00Z` |
| `url` | string | `https://www.irishjobs.ie/job/software-developer/eir-business-talent-job107583589` |
| `scrapedAt` | string | `2026-07-09T21:32:54.779Z` |

#### Example output

```json
{
  "jobId": 107583589,
  "jobTitle": "Software Developer",
  "company": "eir business talent",
  "companyUrl": "https://www.irishjobs.ie/jobs/eir-business-talent?cmpId=1242855&cmp=1",
  "companyLogo": "https://www.irishjobs.ie/CompanyLogos/8e3dda14-1cff-43e6-98af-17c04712ac71.png",
  "location": "Dublin, County Dublin",
  "salary": null,
  "remoteOption": null,
  "skills": null,
  "descriptionSnippet": "eir business talent is currently seeking applicants for Software Developer for our client based in Dublin. We require a software developer to join our dynamic team.",
  "sponsored": false,
  "publishedDate": "2026-06-24T15:01:06.343Z",
  "expiryDate": "2026-07-24T22:00:00Z",
  "url": "https://www.irishjobs.ie/job/software-developer/eir-business-talent-job107583589",
  "scrapedAt": "2026-07-09T21:32:54.779Z"
}
```

### Cost estimate

This actor is billed on Apify's Pay Per Result model. The site's search returns 25 jobs per page, so scraping is fast and lightweight — a typical run of a few hundred listings finishes in well under a minute of compute. You pay per job returned plus a small per-run start fee, so a run that returns 500 jobs costs roughly the price of 500 results. Check the actor's pricing tab for the exact current rate. Usage cost only settles in your Apify billing after the run reports **SUCCEEDED** — reading the dataset mid-run will undercount what you're actually charged.

### Limitations and known issues

- **Search results only** — the actor reads the listing data embedded in the search pages (title, company, salary, location, snippet, dates, links). It does not open each advert to pull the full job description body. The `descriptionSnippet` field gives you the summary shown on the results page.
- **Salary as advertised** — many Irish listings show "Not Disclosed", in which case the `salary` field is `null`. Where a figure is given, it is exactly what the employer entered (a range with a pay period).
- **Sponsored jobs** — a small number of sponsored listings repeat across pages. The actor deduplicates by `jobId`, so you never get the same job twice.
- **Ireland focus** — IrishJobs.ie is an Irish job board. The site runs Akamai Bot Manager, so the actor fetches pages through a Bright Data Web Unlocker key rather than a raw proxy.
- **`remoteOption` and `skills` are currently always null** — the search-results pages don't expose them. They stay in the schema in case the site starts providing them; don't build a pipeline that depends on them.
- **Location uses the site's own radius** — a "dublin" search can include commuter-belt towns (Bray, Ashbourne); filter the `location` field afterwards if you need strict city-only rows.
- **Result ceiling** — deep result sets are paginated; very large `maxResults` values will walk many pages. Keep `maxResults` reasonable for the query you actually need.

### Related scrapers

- **Reed Scraper** — the UK's largest job board, with salary ranges and sectors.
- **NoFluffJobs Scraper** — European tech jobs with mandatory salary ranges.
- Browse the Studio AMBA profile on the Apify Store for more European job and marketplace scrapers.
- [EU Vacancy Feed](https://apify.com/studio-amba/eu-vacancy-feed) — runs this board alongside up to 49 other European job boards (general boards, public employment services, and sector boards), merges everything into one deduplicated feed, and flags vacancies posted on more than one board at once.

### FAQ

**Do I need an IrishJobs account or API key?**
No. This actor reads the public search results. There is no login, no cookies, and no API key required.

**Can I filter by salary, contract type, or county?**
The current version filters by keyword and location. Salary, location, and posting date are returned on every result so you can filter them yourself after scraping.

**Is scraping IrishJobs legal?**
This actor collects publicly available job listing data. You are responsible for using the data in line with the site's terms and applicable law. Do not use it to send unsolicited communications in breach of regulations.

# Actor input Schema

## `searchQuery` (type: `string`):

Job keyword to search for (e.g. 'accountant', 'software developer', 'nurse', 'project manager'). Defaults to 'accountant' if empty.

## `location` (type: `string`):

Irish location to filter by (e.g. 'dublin', 'cork', 'galway', 'limerick'). Leave empty to search across all of Ireland.

## `maxResults` (type: `integer`):

Maximum number of job listings to scrape.

## `proxyConfiguration` (type: `object`):

Fallback proxy settings, only used if no Bright Data API key is set. IrishJobs.ie runs Akamai Bot Manager, so this rarely gets through -- Bright Data is the reliable path.

## `brightDataApiKey` (type: `string`):

Bright Data API key for the Web Unlocker zone, used to get past IrishJobs.ie's Akamai bot protection. Falls back to the actor's own key if left empty.

## Actor input object example

```json
{
  "searchQuery": "accountant",
  "location": "dublin",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IE"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "searchQuery": "accountant",
    "location": "dublin",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "IE"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("studio-amba/irishjobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "searchQuery": "accountant",
    "location": "dublin",
    "maxResults": 20,
    "proxyConfiguration": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "IE",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("studio-amba/irishjobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "searchQuery": "accountant",
  "location": "dublin",
  "maxResults": 20,
  "proxyConfiguration": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "IE"
  }
}' |
apify call studio-amba/irishjobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,studio-amba/irishjobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/0ZUxrZ6aIAWqeX63p/builds/dJkj4ls4qnpnmszh5/openapi.json
