NIJobs Scraper - Jobs, Salaries, Skills & Locations
Pricing
from $1.00 / 1,000 job results
NIJobs Scraper - Jobs, Salaries, Skills & Locations
Scrape NIJobs.com listings across Northern Ireland by keyword, location, salary, posted date, or URL. Extract 60+ fields including title, company, salary, skills, description, employment type, industry, GPS, address, dates, and apply URL.
Pricing
from $1.00 / 1,000 job results
Rating
0.0
(0)
Developer
Abot API
Maintained by CommunityActor stats
0
Bookmarked
3
Total users
0
Monthly active users
15 hours ago
Last modified
Categories
Share
NIJobs Scraper: Job Listings, Full Descriptions & GPS Across Northern Ireland
NIJobs Scraper turns nijobs.com into clean, structured job data for Northern Ireland. Search by keyword and location with filters, or paste results-page links, and get the job title, hiring company, location, salary text, posting and closing dates, skills and a snippet on every record. Turn on detail enrichment and each record also gets the full job description, employment type, industry, work type and contract type, the exact GPS coordinate, the full postal address and the apply URL. Export to JSON, CSV or Excel, or pull results straight into your app through the API.
Why This Scraper?
- 60+ fields per job on a stable schema, so the output drops straight into any pipeline whether or not detail enrichment ran.
- Full job description in both HTML and plain text, plus employment type, industry, work type and contract type.
- Exact GPS coordinate (latitude and longitude) and the full postal address (town, county, postcode, country), from detail enrichment.
- Hiring company name, profile URL and logo on every record, plus sponsored, highlighted and work-from-home flags.
- Two ways to run: build a search from keywords, location and filters, or paste results-page links directly.
- Four sort orders (relevance, most recent, salary high to low, salary low to high), a posted-within filter, and a minimum-salary filter by year, day or hour.
- Forward pagination with one clear Max items cap, so a run's size and cost stay predictable.
Use Cases
- Recruitment and staffing teams: track new Northern Ireland vacancies by keyword and sector to spot roles worth sourcing candidates for.
- Job boards and aggregators: mirror nijobs.com listings into your own site or app on a consistent schema.
- Salary and labour market research: collect salary text and posting filters across sectors and towns to study pay trends in Northern Ireland.
- Location intelligence: use the GPS coordinate and full postal address to map job density by town or county.
- HR tech and internal tooling: feed structured listings into your applicant tracking, alerting tool or dashboard through the API.
Data You Get
Sample shape. Values are illustrative placeholders, not from a live listing.
| Field | Example |
|---|---|
id | 483920175 |
title | IT Support Technician |
companyName | Lagan Valley Logistics Ltd |
companyUrl | https://www.nijobs.com/jobs/lagan-valley-logistics |
companyLogoUrl | https://www.nijobs.com/CompanyLogos/placeholder-logo.png |
location | Lisburn, County Antrim |
salary | £24,000 - £28,000 per annum |
employmentType | FULL_TIME |
workType | Permanent |
contractType | Full Time |
industry | IT |
datePosted | 2026-02-03T08:30:00Z |
validThrough | 2026-03-03T23:59:00Z |
skills | ["Windows 11", "Active Directory"] |
latitude / longitude | 54.5116 / -6.0330 |
addressLocality / addressRegion | Lisburn / County Antrim |
postalCode | BT28 1AA |
description | We are looking for a reliable IT support technician to join our growing team... |
applyUrl | https://www.nijobs.com/job/it-support-technician/lagan-valley-logistics-job483920175 |
isSponsored / isHighlighted | false / true |
workFromHome | null (never false, only a truthy value or null) |
Every record carries the same set of keys whether or not detail enrichment ran; fields that only detail enrichment can fill (description, GPS, full postal address, employment type, industry, work type, contract type, apply URL) are simply left empty otherwise. nijobs.com does not publish employer reviews or ratings anywhere on the public site, so companyRating, companyReviewCount and companyReviews are always emitted empty on the same stable schema rather than dropped.
How to Use
- Pick a mode:
search(build from keywords, location and filters) orurl(paste results-page links). - Fill in the fields for that mode, and turn detail enrichment on or off.
- Set Max items to control run size and cost, then click Start.
- Download the dataset as JSON, CSV or Excel, or read it through the API.
Search by keyword with filters:
{"mode": "search","keywords": ["Software Developer", "Data Analyst"],"location": "Belfast","postedWithin": "7","minSalary": 30000,"salaryPeriod": "annual","sortBy": "date","fetchDetails": true,"maxItems": 50}
Search all of Northern Ireland by keyword, no detail enrichment:
{"mode": "search","keywords": ["Nurse"],"sortBy": "salary-desc","fetchDetails": false,"maxItems": 30}
Paste results-page links:
{"mode": "url","urls": ["https://www.nijobs.com/jobs/software-developer/in-belfast","https://www.nijobs.com/jobs/accountant"],"maxPages": 3,"maxItems": 100}
Minimum hourly rate for a keyword:
{"mode": "search","keywords": ["Care Assistant"],"minSalary": 12,"salaryPeriod": "hourly","maxItems": 20}
Run it from your code
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("abotapi/nijobs-scraper").call(run_input={"mode": "search", "keywords": ["Nurse"], "maxItems": 20})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job.get("title"), job.get("companyName"), job.get("salary"))
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('abotapi/nijobs-scraper').call({ mode: 'search', keywords: ['Nurse'], maxItems: 20 });const { items } = await client.dataset(run.defaultDatasetId).listItems();
Or connect it to Make, Zapier, n8n, Google Sheets or webhooks from the Integrations tab.
Send results into your apps (MCP connectors)
Optionally pipe the scraped results into the apps you already use, via Model Context Protocol (MCP) connectors. This is an extra delivery step after the scrape: the Apify dataset is never changed.
What gets written to the connector: a condensed, human-readable summary of each job, not the full JSON. Each item becomes one entry with a title and its key fields flattened to plain text. The complete record always stays in the Apify dataset.
- Authorize a connector once under Apify, Settings, Integrations (Notion, Linear, Airtable, or Apify).
- Select it in the "Pipe results into your apps" input field. If the picker is empty, you have not authorized a connector yet.
- For Notion, also set
notionParentPageUrlto the page where items should be created.
The connection is mediated by Apify's MCP proxy, so this actor never sees your third-party credentials. Leave the field empty to skip.
Input Parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
mode | string | search | search builds searches from keywords, location and filters; url reads pasted results-page URLs. |
keywords | array | prefill only, ["Software Developer"] | Job titles or keywords to search. Each keyword runs its own search. Search mode only. |
location | string | (none) | Optional town, city or county in Northern Ireland to narrow the search. Search mode only. |
postedWithin | string | any | Only return jobs posted within 1, 3, 7 or 14 days, or any time. Search mode only. |
minSalary | integer | (none) | Minimum salary, read together with Salary period. Search mode only. |
salaryPeriod | string | annual | Which rate Minimum salary refers to: annual, daily or hourly. Search mode only. |
sortBy | string | relevance | Result order: relevance, date, salary-desc or salary-asc. Search mode only. |
urls | array | prefill only, one sample URL | Results-page URLs to read. URL mode only; the keyword, location and filter fields above are ignored in this mode. |
fetchDetails | boolean | true | Fetch each job page to add the full description, GPS coordinate, full postal address, employment type, industry, work type, contract type, closing date and apply URL. |
maxPages | integer | (none) | Optional per-search page ceiling; the schema does not accept 0, leave it empty for unlimited pages. Max items remains the run's real cap. |
maxItems | integer | 20 | The run's single hard cap: maximum total jobs across all searches. Set 0 for unlimited. |
proxy | object | prefill only, Apify Proxy with a residential group and country GB | Connection settings. The prefilled setting (and the fallback used when left empty) works out of the box. |
mcpConnectors | array | (none) | Optional: send a summary of each job to apps you authorized under Integrations. |
notionParentPageUrl | string | (none) | Notion connector only: page under which item pages are created. |
maxNotifyListings | integer | 50 | Cap on items written to each connector per run. Does not affect the dataset. |
Output Example
Sample shape. Values are illustrative placeholders, not from a live listing.
{"id": 483920175,"jobId": 483920175,"title": "IT Support Technician","companyName": "Lagan Valley Logistics Ltd","companyUrl": "https://www.nijobs.com/jobs/lagan-valley-logistics","companyLogoUrl": "https://www.nijobs.com/CompanyLogos/placeholder-logo.png","location": "Lisburn, County Antrim","salary": "£24,000 - £28,000 per annum","employmentType": "FULL_TIME","workType": "Permanent","contractType": "Full Time","industry": "IT","datePosted": "2026-02-03T08:30:00Z","validThrough": "2026-03-03T23:59:00Z","skills": ["Windows 11", "Active Directory"],"textSnippet": "We are looking for a reliable IT support technician to join our team.","description": "We are looking for a reliable IT support technician to join our growing logistics team. You will support office and warehouse staff with day to day IT issues...","latitude": 54.5116,"longitude": -6.033,"addressLocality": "Lisburn","addressRegion": "County Antrim","postalCode": "BT28 1AA","addressCountry": "GB","isSponsored": false,"isHighlighted": true,"workFromHome": null,"companyRating": null,"companyReviewCount": null,"companyReviews": [],"applyUrl": "https://www.nijobs.com/job/it-support-technician/lagan-valley-logistics-job483920175","url": "https://www.nijobs.com/job/it-support-technician/lagan-valley-logistics-job483920175","scrapedAt": "2026-02-03T09:00:00Z"}
Plan Requirement
The default connection settings work out of the box, and the run automatically retries with a fresh connection when one is refused. Keep the default residential group and GB country for the richest detail-enrichment output.
FAQ
How much does it cost?
You pay a small fee once per run start, a per-job fee for every listing pushed to the dataset (a genuinely empty search still pushes and bills one marker row), and a per-job detail fee only for jobs whose detail page was actually fetched and returned data; a detail fetch that fails or comes back empty is not charged. The Pricing tab on the actor page shows the current rates. Use Max items to cap the cost of any run.
Can I get only new listings on a schedule?
There is no built-in incremental or resume mode. For a recurring pull, schedule the actor with sortBy: "date" and a short postedWithin window (for example "1"), then dedupe on id against what you already collected. With multiple keywords, Max items is split evenly across them (rounded up), so unused budget on one keyword is not handed to the others; raise Max items if a search with many keywords is coming back short.
Is it legal to scrape nijobs.com?
This actor collects only publicly available job listings. You are responsible for how you use the data: follow nijobs.com's terms and the laws that apply to you, and get legal advice if you plan commercial redistribution. Job postings are provided by employers and may carry their own rights and restrictions.
Does the output include employer reviews or ratings?
No. nijobs.com does not publish company reviews or star ratings anywhere on the public site, so those fields always come back empty. If you need employer reputation data, look for a source that actually publishes it.
Why did my run fail instead of returning an empty dataset?
Two different situations both fail the run rather than report a false result. In url mode, if none of the pasted links are recognisable nijobs.com results pages, the run fails immediately, before any request is sent, because that is a problem with the input, not a search result. Separately, if every request to nijobs.com is refused, the run fails with a connection message instead of claiming the search was empty. A genuinely empty search, where the site was reached but nothing matched, still succeeds and returns a single marker row.
Can I search outside Northern Ireland?
No. nijobs.com only covers Northern Ireland. Leave Location empty to search the whole region, or narrow it to a town or county.
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 results into Notion, Linear or Airtable.
🔗 Want more jobs data?
Pair this actor with these related scrapers from the same team:
| 💼 IrishJobs.ie Scraper Scrape job listings from IrishJobs.ie by keyword, location, job type, salary, recency, or... | 💼 CareerBuilder Scraper Scrape CareerBuilder.com job listings by search or URL. Returns title, company profile... |
| 💼 s1jobs Scraper Scrape jobs from s1jobs.com across Scotland and the UK. Search by keyword, location, or... | 💼 Dice.com Scraper Scrape tech job listings from Dice.com by keyword, filters, or URL. Extract job titles... |
| 💼 ZipRecruiter Scraper From $1/1K. Scrape ZipRecruiter jobs with titles, companies, salaries, locations... | 💼 StepStone.de Scrape StepStone.de jobs by keyword, location, filters, or URL. Extract 35+ fields... |
💬 Support & custom scrapers
- 🐞 Found a bug or a missing field? Open a ticket on the Issues tab. We usually reply within hours.
- 🛠️ Need another site, extra fields or a private build? Email abotapi@proton.me or message Telegram @abotapi.
- ⭐ Enjoying it? A quick review on the actor page helps other users find it.