Konnekt.com.mt Job Scraper
Pricing
from $0.99 / 1,000 results
Konnekt.com.mt Job Scraper
Scrape Konnekt for structured job listings in Malta. Filter by keyword, category, and employment type. Full description and salary data included.
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 hours ago
Last modified
Categories
Share
Konnekt Scraper

Scrape job listings from konnekt.com — Malta's leading recruitment agency with 450+ active vacancies across all major industries. Filter by keyword, job category, and employment type. No API key required.
Why this scraper?
🔍 Keyword, category & type filters — combined
Search by free-text keyword (e.g. "accountant", "project manager", "software developer") and combine it with job category (e.g. accounting, banking, it-jobs) and employment type (full-time, part-time, temporary-contract). All three filters can be stacked in a single run. The only competing actor for Konnekt only supports keyword search alone, with no category or type filtering.
💰 Structured salary — min, max, currency, period
When employers publish compensation, the scraper returns it as four clean fields: salaryMin, salaryMax, salaryCurrency (always EUR), and salaryPeriod (e.g. YEAR). No string parsing needed on your end. Fields are null when salary is not disclosed.
📄 Three description formats
Full job descriptions are returned in three formats for maximum flexibility:
| Field | Format | Use case |
|---|---|---|
descriptionHtml | Raw HTML | Display in web apps |
descriptionText | Plain text | Full-text search, NLP |
descriptionMarkdown | Markdown | RAG pipelines, LLM agents |
🔄 Repost detection — 90-day cross-run cache
Employers on Konnekt regularly republish the same vacancy to stay at the top of search results. The scraper maintains a 90-day cross-run fingerprint cache (konnekt-job-dedup Key-Value Store). Each result includes isRepost, originalPublishDate, and originalUrl. Set skipReposts: true to suppress duplicates entirely.
⏱️ Date filtering
Use daysOld to limit results to jobs posted within the last N days — ideal for scheduled daily or weekly runs. Requires fetchDetails: true (publish dates are only available on detail pages).
🔗 Direct URL scraping
Pass specific job page URLs via startUrls to scrape individual listings directly. Useful for monitoring specific vacancies or integrating with your own discovery pipeline.
How it compares
The only other Konnekt/Malta-specific actor on Apify is yogen48-owner/malta-jobs. Here is a direct comparison:
| Feature | This scraper | Competitor |
|---|---|---|
| Keyword search | ✅ | ✅ |
Category filter (jobFocus) | ✅ | ❌ |
Employment type filter (jobType) | ✅ | ❌ |
| Stacked filters (all three combined) | ✅ | ❌ |
| Structured salary (min/max/currency) | ✅ | ❌ raw text only |
| Full description HTML | ✅ | ❌ |
| Markdown description | ✅ | ❌ |
| Repost detection | ✅ | ❌ |
| daysOld date filter | ✅ | ❌ |
| startUrls mode | ✅ | ❌ |
| HEALTH signal / circuit breaker | ✅ | ❌ |
| Memory usage | 512 MB | 4,096 MB |
| Price | $0.99 / 1,000 | $1.00 / 1,000 |
| README | ✅ Full | ❌ Empty |
| Active maintenance | ✅ | Community |
The competitor uses 4 GB of memory (suggesting Playwright), vs. this actor's 512 MB HTTP-only approach — 8× cheaper compute for the same data.
Input parameters
| Parameter | Type | Description | Default |
|---|---|---|---|
keyword | string | Search keyword(s). Examples: "accountant", "project manager", "software developer" | "" |
jobFocus | string | Job category slug. Examples: accounting, banking, it-jobs, finance, engineering, human-resources, insurance, sales-business-development | "" |
jobType | string | Employment type. Options: full-time, part-time, temporary-contract | "" |
maxItems | integer | Maximum number of results to return. Use to control cost. | 200 |
fetchDetails | boolean | Fetch each job's detail page for full description, structured salary, publish date, and reference code. Disable for faster list-only runs. | true |
daysOld | integer | Only return jobs posted within this many days. Requires fetchDetails: true. | — |
skipReposts | boolean | Skip jobs already seen in previous runs (uses 90-day cross-run cache). | false |
startUrls | array | Specific Konnekt job page URLs to scrape directly. When set, jobFocus and jobType are ignored. | [] |
Note on location filtering: Konnekt does not expose a location filter on its website. The
keywordfield searches job titles and descriptions — not location text. Location data is still returned in thelocationoutput field; it cannot be used as an input filter.
Output schema
Always present
| Field | Type | Description |
|---|---|---|
id | string | Unique numeric job ID extracted from the URL |
url | string | Full URL to the job detail page |
title | string | Job title as shown on the listing |
location | string | Location text from the listing card (e.g. "Central Malta", "South of Malta") |
category | string | Job category / focus area (e.g. "Accounting", "Banking") |
contractType | string | Employment type (e.g. "Full Time", "Part Time", "Temporary / Contract") |
experienceLevel | string | Seniority level (e.g. "Intermediate (1-3 years)", "Middle Management") |
workMode | string | Work arrangement (e.g. "hybrid", "On Premises"). null if not specified. |
salaryRaw | string | Salary as shown on the listing card (e.g. "€25,000 - €26,000 Annually"). null if not shown. |
isFeatured | boolean | true if the listing has a Featured badge |
isRepost | boolean | true if this job was seen in a previous run |
originalPublishDate | string | ISO date of first-ever observation. null if not a repost. |
originalUrl | string | URL from the first observation. null if not a repost. |
contentHash | string | 16-character MD5 fingerprint for deduplication |
source | string | Always "konnekt.com" |
scrapedAt | string | ISO 8601 timestamp of when this item was scraped |
With fetchDetails: true
| Field | Type | Description |
|---|---|---|
publishDate | string | Publish date in YYYY-MM-DD format (Europe/Malta timezone) |
publishDateISO | string | Publish date in full ISO 8601 format |
expiryDate | string | Closing date of the vacancy (YYYY-MM-DD). null if not set. |
referenceCode | string | Internal reference code (e.g. "IK286"). null if not published. |
salaryMin | number | Minimum salary as a number. null if not disclosed by employer. |
salaryMax | number | Maximum salary as a number. null if not disclosed by employer. |
salaryCurrency | string | Salary currency, always "EUR" when present. null if salary not disclosed. |
salaryPeriod | string | Salary period (e.g. "YEAR"). null if salary not disclosed. |
descriptionHtml | string | Full job description as raw HTML. null if unavailable. |
descriptionText | string | Full job description as plain text. null if unavailable. |
descriptionMarkdown | string | Full job description in Markdown format. null if unavailable. |
Example output record
{"id": "87692","url": "https://www.konnekt.com/jobs/finance-jobs/accountant/87692","title": "Accountant","location": "Central Malta","category": "Finance","contractType": "Full Time","experienceLevel": "Intermediate (1-3 years)","workMode": "hybrid","salaryRaw": "€35,000 - €40,000 Annually","isFeatured": true,"isRepost": false,"originalPublishDate": null,"originalUrl": null,"contentHash": "a3f8b2c91d4e5f67","source": "konnekt.com","scrapedAt": "2026-04-24T15:30:00.000Z","publishDate": "2026-04-22","publishDateISO": "2026-04-22T10:14:00.000Z","expiryDate": "2026-05-22","referenceCode": "SB441","salaryMin": 35000,"salaryMax": 40000,"salaryCurrency": "EUR","salaryPeriod": "YEAR","descriptionHtml": "<p>Our client is seeking an <strong>Accountant</strong> to join their finance team...</p>","descriptionText": "Our client is seeking an Accountant to join their finance team...","descriptionMarkdown": "Our client is seeking an **Accountant** to join their finance team..."}
Examples
Scrape all accountant vacancies with full details:
{"keyword": "accountant","fetchDetails": true,"maxItems": 100}
Full-time IT jobs only:
{"jobFocus": "it-jobs","jobType": "full-time","fetchDetails": true,"maxItems": 50}
Senior finance roles — keyword + category + type combined:
{"keyword": "senior","jobFocus": "finance","jobType": "full-time","fetchDetails": true,"maxItems": 200}
Direct URL scraping for specific listings:
{"startUrls": [{ "url": "https://www.konnekt.com/jobs/finance-jobs/accountant/87692" },{ "url": "https://www.konnekt.com/jobs/banking-jobs/operations-officer/87805" }],"fetchDetails": true}
Daily feed — new jobs only, skip reposts:
{"daysOld": 1,"skipReposts": true,"fetchDetails": true,"maxItems": 500}
💰 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 |
| 100,000 | ~$99.00 |
Flat-rate alternatives typically charge $29–$49/month regardless of usage. At 10,000 results/month, this scraper costs a fraction of that with no commitment.
Use the Max results cap in the input to control your spend exactly.
Performance
| Run | Time (approx.) |
|---|---|
100 jobs, fetchDetails: false | ~15 seconds |
100 jobs, fetchDetails: true | ~1 minute |
473 jobs (full site), fetchDetails: true | ~3–4 minutes |
Known limitations
- Location filtering: Konnekt does not provide a location filter. The
keywordfield searches job titles and descriptions only, not location. Location is still included in output via thelocationfield. - Salary: Not all employers disclose compensation.
salaryMin,salaryMax, and related fields will benullwhen not published. The rawsalaryRawstring from the listing card may still be present. - Publish date: Only available with
fetchDetails: true. Without detail pages,publishDateandpublishDateISOarenull, which meansdaysOldfiltering is also unavailable. - Total listings: Konnekt is Malta-specific with ~430–500 active listings at any time — not a large-volume board.
Technical details
- Source: konnekt.com — Malta's leading recruitment agency
- Memory: 512 MB
- Repost storage: KeyValueStore
konnekt-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?.nl](mailto:info@unfencedgroup.nl) — we build on request.
Need a custom scraper?
Unfenced Group builds Apify actors for any website — for free.
If the site you need isn't in our portfolio yet, just ask. We scope, build, and publish it at no cost to you. You only pay for results — we absorb the compute and proxy costs ourselves. Same pay-per-result pricing, same quality, same standards as every actor in this portfolio.
Get in touch: www.unfencedgroup.nl