JobHound Malta Scraper — Job Listings API
Under maintenancePricing
from $0.99 / 1,000 results
JobHound Malta Scraper — Job Listings API
Under maintenanceScrape 700+ Malta job listings from JobHound.mt. Open API, zero proxy cost. Filter by keyword, work mode, contract type. Repost detection included. $0.99/1,000 results.
Pricing
from $0.99 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
8 days ago
Last modified
Categories
Share
JobHound Malta Scraper

Extract structured job listings from JobHound.mt, Malta's leading job board serving 500+ employers and thousands of candidates across all industries. Returns full job data including descriptions, contract types, salary ranges, and work modes — no API key required.
Why this scraper?
🇲🇹 Complete Malta job market coverage
Captures all active vacancies across every sector on Malta and Gozo's primary job platform.
📄 Full job descriptions
With fetchDetails enabled, the actor retrieves the complete job description in HTML, plain text, and Markdown formats.
🏷️ Rich structured filters
Filter by keyword, contract type (Full-time, Part-time, Internship, B2B, Temporary), and work mode (Remote, Hybrid, Onsite) directly in the input.
🔁 Smart repost detection
Built-in cross-run deduplication with 90-day fingerprint cache. Schedule daily runs to receive only new listings without duplicates.
📅 Age-based filtering
Use daysOld to limit results to recently posted jobs, ideal for monitoring fresh vacancies.
🔗 Direct URL scraping
startUrls mode lets you scrape a specific list of job URLs directly, bypassing search entirely.
Input parameters
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQuery | string | "" | Keyword(s) to search for. Leave empty to retrieve all jobs. |
contractType | string | "" | Filter by type: Full-time, Part-time, Internship, Temporary, B2B contract. |
workMode | string | "" | Filter by mode: Remote, Hybrid, Onsite. |
maxResults | integer | 200 | Maximum number of listings to return. Controls spend precisely. |
fetchDetails | boolean | false | Fetch full description and additional fields from each job page. |
skipReposts | boolean | false | Skip jobs already seen in previous runs (90-day dedup window). |
daysOld | integer | 0 | Return only jobs posted within this many days. 0 = no limit. |
startUrls | array | [] | List of specific JobHound.mt job URLs to scrape directly. |
Output schema
Always present
| Field | Type | Description |
|---|---|---|
id | string | Unique job ID as assigned by JobHound.mt. |
url | string | Canonical URL of the job posting. |
title | string | Job title as published. |
company | string | null | Hiring company name. Null if not published. |
city | string | null | City or location of the role. |
country | string | Always "MT" (Malta). |
contractType | string | null | Employment type, e.g. "Full-time", "Part-time", "Internship". |
workMode | string | null | Work arrangement: "Remote", "Hybrid", or "Onsite". |
seniority | string | null | Experience level, e.g. "Entry level", "Mid-senior level". |
categories | string[] | Job categories and tags as listed on the site. |
salaryMin | number | null | Minimum salary (null if not published by employer). |
salaryMax | number | null | Maximum salary (null if not published by employer). |
salaryCurrency | string | null | Salary currency, e.g. "EUR". Null when salary not published. |
salaryPeriod | string | null | Salary period: "MONTH" or "YEAR". Null when salary not published. |
publishDate | string | null | Publication date in YYYY-MM-DD format (Malta timezone). |
publishDateISO | string | null | Publication date in ISO 8601 format. |
contentHash | string | 16-char MD5 fingerprint for change detection. |
source | string | Always "jobhound.mt". |
scrapedAt | string | ISO timestamp of when this record was retrieved. |
isRepost | boolean | true if this job was seen in a previous run. |
originalPublishDate | string | null | Date of first appearance when isRepost is true. |
originalUrl | string | null | Original URL when isRepost is true. |
changeStatus | string | Always "NEW" on first encounter. |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
descriptionHtml | string | null | Full job description as raw HTML. |
descriptionText | string | null | Full description as plain text (tags stripped). |
descriptionMarkdown | string | null | Full description converted to Markdown. |
When fetchDetails: false, all three description fields are null.
Example record
{"id": "5649","url": "https://jobhound.mt/jobs/marine-engineer-5649","title": "Marine Engineer","company": "Falzon Group of Companies","city": "Marsa","country": "MT","contractType": "Full-time","workMode": "Onsite","seniority": "Mid-senior level","categories": ["Shipping & Maritime", "Engineering"],"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryPeriod": null,"publishDate": "2026-04-15","publishDateISO": "2026-04-15T08:00:00.000Z","descriptionHtml": "<p>Falzon Group is seeking an experienced Marine Engineer...</p>","descriptionText": "Falzon Group is seeking an experienced Marine Engineer...","descriptionMarkdown": "Falzon Group is seeking an experienced Marine Engineer...","contentHash": "a3f2d1b4c9e8f701","source": "jobhound.mt","scrapedAt": "2026-04-24T12:00:00.000Z","isRepost": false,"originalPublishDate": null,"originalUrl": null,"changeStatus": "NEW"}
Examples
Search for IT jobs in Malta:
{"searchQuery": "developer","maxResults": 100,"fetchDetails": true}
Filter by contract type and work mode:
{"contractType": "Part-time","workMode": "Remote","maxResults": 50,"fetchDetails": false}
Scrape specific job URLs directly:
{"startUrls": [{ "url": "https://jobhound.mt/jobs/marine-engineer-5649" },{ "url": "https://jobhound.mt/jobs/receptionist-6225" }],"fetchDetails": true}
Daily feed — new jobs only (schedule this daily):
{"daysOld": 1,"skipReposts": true,"maxResults": 500,"fetchDetails": true}
💰 Pricing
$0.99 per 1,000 results — you only pay for successfully retrieved listings. Failed retries and filtered reposts are never charged.
| Results | Cost |
|---|---|
| 100 | ~$0.10 |
| 1,000 | ~$0.99 |
| 10,000 | ~$9.90 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage.
Use the Max results cap in the input to control your spend exactly.
Performance
| Run type | Results | Approx. time |
|---|---|---|
| Search, fetchDetails off | 500 | ~2 min |
| Search, fetchDetails on | 200 | ~5 min |
| Full catalogue, fetchDetails on | 1,000 | ~20 min |
Known limitations
- Salary information is only published by a subset of employers; most listings return
nullsalary fields. - Description availability depends on
fetchDetails: true. - Contact persons and recruiter details are intentionally excluded (PII policy).
- Job count reflects live active listings on JobHound.mt at time of run.
Technical details
- Source: jobhound.mt — Malta's primary job board
- Memory: 512 MB
- Repost storage: KeyValueStore
jobhound-mt-job-dedup, 90-day TTL - Retry: Automatic retry on network errors, exponential backoff, 3 attempts per request
Additional services
Need a custom actor, additional filters, scheduled runs, or integration support? Send an email to info@unfencedgroup.nl — we build on request.
Part of the Unfenced Group European job board scraper portfolio — 50+ job markets covered. Built by unfenced-group · Issues? Open a ticket or send a message.