JobHound Malta Scraper — Job Listings API avatar

JobHound Malta Scraper — Job Listings API

Under maintenance

Pricing

from $0.99 / 1,000 results

Go to Apify Store
JobHound Malta Scraper — Job Listings API

JobHound Malta Scraper — Job Listings API

Under maintenance

Scrape 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

Unfenced Group

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

8 days ago

Last modified

Categories

Share

JobHound Malta Scraper

Banner

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

ParameterTypeDefaultDescription
searchQuerystring""Keyword(s) to search for. Leave empty to retrieve all jobs.
contractTypestring""Filter by type: Full-time, Part-time, Internship, Temporary, B2B contract.
workModestring""Filter by mode: Remote, Hybrid, Onsite.
maxResultsinteger200Maximum number of listings to return. Controls spend precisely.
fetchDetailsbooleanfalseFetch full description and additional fields from each job page.
skipRepostsbooleanfalseSkip jobs already seen in previous runs (90-day dedup window).
daysOldinteger0Return only jobs posted within this many days. 0 = no limit.
startUrlsarray[]List of specific JobHound.mt job URLs to scrape directly.

Output schema

Always present

FieldTypeDescription
idstringUnique job ID as assigned by JobHound.mt.
urlstringCanonical URL of the job posting.
titlestringJob title as published.
companystring | nullHiring company name. Null if not published.
citystring | nullCity or location of the role.
countrystringAlways "MT" (Malta).
contractTypestring | nullEmployment type, e.g. "Full-time", "Part-time", "Internship".
workModestring | nullWork arrangement: "Remote", "Hybrid", or "Onsite".
senioritystring | nullExperience level, e.g. "Entry level", "Mid-senior level".
categoriesstring[]Job categories and tags as listed on the site.
salaryMinnumber | nullMinimum salary (null if not published by employer).
salaryMaxnumber | nullMaximum salary (null if not published by employer).
salaryCurrencystring | nullSalary currency, e.g. "EUR". Null when salary not published.
salaryPeriodstring | nullSalary period: "MONTH" or "YEAR". Null when salary not published.
publishDatestring | nullPublication date in YYYY-MM-DD format (Malta timezone).
publishDateISOstring | nullPublication date in ISO 8601 format.
contentHashstring16-char MD5 fingerprint for change detection.
sourcestringAlways "jobhound.mt".
scrapedAtstringISO timestamp of when this record was retrieved.
isRepostbooleantrue if this job was seen in a previous run.
originalPublishDatestring | nullDate of first appearance when isRepost is true.
originalUrlstring | nullOriginal URL when isRepost is true.
changeStatusstringAlways "NEW" on first encounter.

With fetchDetails: true

FieldTypeDescription
descriptionHtmlstring | nullFull job description as raw HTML.
descriptionTextstring | nullFull description as plain text (tags stripped).
descriptionMarkdownstring | nullFull 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.

ResultsCost
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 typeResultsApprox. time
Search, fetchDetails off500~2 min
Search, fetchDetails on200~5 min
Full catalogue, fetchDetails on1,000~20 min

Known limitations

  • Salary information is only published by a subset of employers; most listings return null salary 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.