# Irishjobs Jobs Search Scraper (`alexist/irishjobs-jobs-search-scraper`) Actor

Scrape job listings from Irish Jobs (irishjobs.ie) with 30+ data fields including titles, company details, salary, location, and skill requirements. Perfect for recruiters, market researchers, and HR professionals analyzing the Irish job market.

- **URL**: https://apify.com/alexist/irishjobs-jobs-search-scraper.md
- **Developed by:** [Alex](https://apify.com/alexist) (community)
- **Categories:** Automation, Developer tools, Jobs
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

Pay per usage

This Actor is paid per platform usage. The Actor is free to use, and you only pay for the Apify platform usage, which gets cheaper the higher subscription plan you have.

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

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Irish Jobs Search Scraper: Extract Job Listings from Ireland's Top Job Board

---

### What Is Irish Jobs?

Irish Jobs (irishjobs.ie) is Ireland's leading online job board, hosting thousands of active job postings across all sectors and experience levels. It connects employers with job seekers across the island of Ireland. Whether you're recruiting, researching market trends, or building a job aggregator, manually collecting this data from search results is tedious and error-prone. The **Irish Jobs Search Scraper** automates the entire process, extracting structured job data at scale.

---

### Overview

The **Irish Jobs Search Scraper** collects job listings from Irish Jobs search results pages, converting raw web content into clean, structured datasets with 30+ fields per listing. It's ideal for:

- **Recruitment agencies** monitoring competitor postings and market activity
- **HR analytics teams** tracking salary trends and skill demand in Ireland
- **Career platform developers** aggregating Irish job data
- **Market researchers** analyzing employment patterns by sector and location
- **Job board operators** enriching their own platforms with Irish market data

The scraper is lightweight and efficient, with configurable item limits and built-in error handling to ensure reliable data collection even from large search result sets.

---

### Input Format

The scraper accepts a simple JSON configuration:

```json
{
  "urls": [
    "https://www.irishjobs.ie/jobs/education"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
````

| Field | Description |
|---|---|
| `urls` | Array of Irish Jobs search result page URLs (e.g., category, keyword, location filtered pages) |
| `ignore_url_failures` | If `true`, the scraper continues running even if some URLs fail to scrape |
| `max_items_per_url` | Maximum number of job listings extracted per URL (default: 20) |

> **Tip:** Use filtered search URLs (by education, location, salary range) to target specific job segments efficiently.

***

### Output Format

**Sample output**

```json
{
  "id": 107695839,
  "title": "Education Programme Manager",
  "labels": [],
  "url": "/job/education-programme-manager/gilligan-black-recruitment-job107695839",
  "company_id": 1457321,
  "company_name": "Gilligan Black Recruitment",
  "company_url": "https://www.irishjobs.ie/jobs/gilligan-black-recruitment?cmpId=1457321&cmp=1",
  "company_logo_url": "https://www.irishjobs.ie/CompanyLogos/987c14ec-8155-4eff-b34e-b8f39c003346.png",
  "date_posted": "2026-07-15T14:57:14.8Z",
  "location": "Dublin, County Dublin",
  "is_anonymous": false,
  "salary": "€65,000 - €68,000 per annum",
  "post_code": "",
  "partnership": {
    "is_partnership_job": false,
    "show_partnership_label": false,
    "is_backfilled": false,
    "source_site_friendly_name": "",
    "is_cross_posted": false
  },
  "unified_salary": null,
  "work_from_home": "",
  "meta_data": {
    "position_on_page": 1,
    "position_absolute": 1
  },
  "harmonised_id": "a80ef49e-b9f1-4624-81fc-975ed9c9562e",
  "job_posting_sequence": 1,
  "period_posted_date": "2026-07-15T14:57:14.8Z",
  "publish_from_date": "2026-07-15T14:57:14.8Z",
  "publish_to_date": "2026-08-14T22:00:00Z",
  "has_future_posting": false,
  "fingerprint_count": 1,
  "section": "main",
  "top_labels": [
    {
      "label": "NEW",
      "type": "NEW"
    }
  ],
  "skills": [],
  "text_snippet": "Programme Manager Executive <strong>Education</strong> Programme - This is an excellent opportunity to take ownership of a prestigious executive <strong>education</strong> programme, managing its successful delivery from planning through to graduation while ensuring an outstanding participant experience. Working closely with the Head of Learning & <strong>Education,</strong> you'll oversee the day-to-day management of a professional development programme. You'll have previous experience managing programmes, projects or operations, ideally within executive <strong>education,</strong> professional training, membership organisations, higher <strong>education</strong> or a similar environment. executive <strong>education</strong> programme schedules examinations Operations Management",
  "cv_to_job_score": null,
  "is_highlighted": false,
  "is_sponsored": false,
  "travel_time": null,
  "unified_travel_time": null,
  "is_top_job": false,
  "is_traffic_from_partner": false,
  "from_url": "https://www.irishjobs.ie/jobs/education"
}
```

Each job listing returns a rich record with 30+ fields covering identification, company info, dates, salary, location, skills, and listing features:

#### Job Identification & Core Details

| Field | Meaning |
|---|---|
| `id` | Unique job listing identifier on Irish Jobs |
| `title` | Official job title as displayed |
| `url` | Direct URL to the full job posting |
| `labels` | Categorical tags assigned to the listing |
| `top_labels` | Top-priority category labels |
| `section` | Main job section (e.g., Education, IT, Healthcare) |
| `text_snippet` | Brief preview text from the job description |

#### Company Information

| Field | Meaning |
|---|---|
| `company_id` | Unique identifier for the hiring company |
| `company_name` | Official company or organization name |
| `company_url` | Direct link to the company's website |
| `company_logo_url` | URL to the company's logo image |
| `is_anonymous` | Whether the company name is hidden from applicants |

#### Location & Work Arrangement

| Field | Meaning |
|---|---|
| `location` | Primary job location (city, region, or area) |
| `post_code` | Postal code or Eircode of the job location |
| `work_from_home` | Indicates if remote work is offered (true/false or percentage) |
| `travel_time` | Estimated commute time from a reference point |
| `unified_travel_time` | Standardized travel time metric |

#### Compensation

| Field | Meaning |
|---|---|
| `salary` | Raw salary information as displayed on the listing |
| `unified_salary` | Normalized salary figure (standardized format for comparison) |

#### Dates & Availability

| Field | Meaning |
|---|---|
| `date_posted` | When the listing was first published |
| `period_posted_date` | Time period indicator for when posting occurred |
| `publish_from_date` | Date the listing becomes visible |
| `publish_to_date` | Date the listing expires or closes |
| `has_future_posting` | Whether the listing has a scheduled future publish date |

#### Listing Features & Metrics

| Field | Meaning |
|---|---|
| `partnership` | Whether the listing is from a partner company or promoted |
| `is_highlighted` | If the listing has premium highlight/featured status |
| `is_sponsored` | Whether the employer has sponsored/paid promotion |
| `is_top_job` | Whether the listing appears as a top/trending job |
| `is_traffic_from_partner` | Whether traffic is tracked from a partner source |
| `fingerprint_count` | Number of times the listing has been viewed/fingerprinted |

#### Skills & Matching

| Field | Meaning |
|---|---|
| `skills` | Extracted or tagged skill requirements for the role |
| `cv_to_job_score` | AI-calculated relevance score for CV-to-job matching |

#### Additional Data

| Field | Meaning |
|---|---|
| `meta_data` | Additional structured metadata from the listing |
| `harmonised_id` | Standardized ID for cross-platform data harmonization |
| `job_posting_sequence` | Sequential number tracking the posting order |

***

### How to Use

1. **Prepare search URLs** — Navigate to irishjobs.ie and build filtered search URLs (by sector, location, or keyword). Example: `https://www.irishjobs.ie/jobs/education`
2. **Configure input** — Paste your URLs into the `urls` array. Adjust `max_items_per_url` based on your needs (default is 20).
3. **Set error handling** — Keep `ignore_url_failures: true` to skip problematic URLs without stopping the entire run.
4. **Run the scraper** — Execute the scraper and monitor the progress log.
5. **Export & process** — Download results in JSON, CSV, or Excel format for analysis, filtering, or database import.

**Best practices:**

- Use category-specific URLs (`/jobs/education`, `/jobs/it`) to narrow results and improve data relevance.
- Set `max_items_per_url` higher for comprehensive market analysis, lower for quick snapshots.
- Always verify salary and date fields—some listings may have incomplete data.

***

### Use Cases & Business Value

- **Recruitment intelligence:** Track hiring volume, salary ranges, and skill demand by sector in Ireland
- **Career planning:** Analyze job market trends to guide education and skill development
- **Competitor analysis:** Monitor how rival organizations are hiring and positioning roles
- **AI training data:** Collect labeled job data for machine learning models in talent matching
- **Job board creation:** Feed Irish job data into custom platforms or internal portals

The **Irish Jobs Search Scraper** transforms hours of manual browsing into minutes of automated data collection, delivering clean records ready for spreadsheets, databases, and analytics tools.

***

### Conclusion

Whether you're a recruiter, HR analyst, or platform builder, the **Irish Jobs Search Scraper** provides fast, reliable access to Ireland's dynamic job market. With 30+ data fields and flexible configuration, you'll unlock insights into hiring trends, compensation, skills demand, and employer activity—all without clicking through hundreds of listings manually.

# Actor input Schema

## `urls` (type: `array`):

Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.

## `ignore_url_failures` (type: `boolean`):

If true, the scraper will continue running even if some URLs fail to be scraped.

## `max_items_per_url` (type: `integer`):

The maximum number of items to scrape per URL.

## Actor input object example

```json
{
  "urls": [
    "https://www.irishjobs.ie/jobs/education"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}
```

# 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 = {
    "urls": [
        "https://www.irishjobs.ie/jobs/education"
    ],
    "ignore_url_failures": true,
    "max_items_per_url": 20
};

// Run the Actor and wait for it to finish
const run = await client.actor("alexist/irishjobs-jobs-search-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 = {
    "urls": ["https://www.irishjobs.ie/jobs/education"],
    "ignore_url_failures": True,
    "max_items_per_url": 20,
}

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

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

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

```

## CLI example

```bash
echo '{
  "urls": [
    "https://www.irishjobs.ie/jobs/education"
  ],
  "ignore_url_failures": true,
  "max_items_per_url": 20
}' |
apify call alexist/irishjobs-jobs-search-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=alexist/irishjobs-jobs-search-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Irishjobs Jobs Search Scraper",
        "description": "Scrape job listings from Irish Jobs (irishjobs.ie) with 30+ data fields including titles, company details, salary, location, and skill requirements. Perfect for recruiters, market researchers, and HR professionals analyzing the Irish job market.",
        "version": "0.0",
        "x-build-id": "bSXZsipGtsydmAVM1"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/alexist~irishjobs-jobs-search-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-alexist-irishjobs-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/alexist~irishjobs-jobs-search-scraper/runs": {
            "post": {
                "operationId": "runs-sync-alexist-irishjobs-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/alexist~irishjobs-jobs-search-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-alexist-irishjobs-jobs-search-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "urls": {
                        "title": "URLs of the Jobs list urls to scrape",
                        "type": "array",
                        "description": "Add the URLs of the Jobs list urls you want to scrape. You can paste URLs one by one, or use the Bulk edit section to add a prepared list.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "ignore_url_failures": {
                        "title": "Continue running even if some URLs fail to be scraped",
                        "type": "boolean",
                        "description": "If true, the scraper will continue running even if some URLs fail to be scraped."
                    },
                    "max_items_per_url": {
                        "title": "Max items per URL",
                        "type": "integer",
                        "description": "The maximum number of items to scrape per URL."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
