Kalibrr Job Scraper | Monitoring, Contacts & Alerts
Pricing
from $1.75 / 1,000 results
Kalibrr Job Scraper | Monitoring, Contacts & Alerts
Scrape jobs from Kalibrr (Philippines & Indonesia) with salary, company intel, qualifications, and contact extraction. Built-in incremental monitoring with change-feed and Telegram/Slack/Discord notifications.
Pricing
from $1.75 / 1,000 results
Rating
0.0
(0)
Developer
Corvuslab
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
What does Kalibrr Job Scraper do?
Kalibrr Job Scraper extracts structured job listings from Kalibrr, the leading recruitment platform in the Philippines and Indonesia. Each record comes with the job title, company intelligence, salary range, qualifications, and work-arrangement flags — ready to export as JSON, CSV, Excel, or to pull via the API. With built-in incremental monitoring and notifications, it is the easiest way to track Southeast Asian talent markets on a schedule without re-scraping everything every time.
Give it a search keyword (e.g. developer, marketing) and optional filters — country, job function, employment type, seniority level, remote/hybrid — and it returns every matching listing as a clean, typed record. For each job you get the title, company name and industry, location, salary, tenure, experience level, publish and closing dates, and a direct link. Turn on Fetch full details to also pull the full description (text, HTML or Markdown), qualifications, education requirements, preferred courses, licenses, perks, skills, employer response rate, and apply URL. You can also paste Kalibrr job URLs directly instead of running a keyword search.
New to Apify? You can sign up for free and use the included monthly platform credit to try this Actor.
Why this scraper
- ⚡ Fast & low-cost — lightweight HTTP requests with no browser overhead, so large runs stay cheap.
- 🧾 Rich, typed records — 63 structured fields per job, not raw HTML.
- ♻️ Cheap to monitor — incremental mode re-scrapes only what changed (see below).
- 🔔 Notifications built in — Telegram, Slack, Discord or any webhook.
- 🤖 AI- & API-ready — compact output, MCP-friendly, one-click integrations.
📚 What data can you extract from Kalibrr?
Every record carries 65 fields, grouped like this:
| Group | What you get |
|---|---|
| Core listing | title, searchKeyword, detailFetched, contentHash, isVerifiedAdvertiser, jobFunction, tenure, experienceLevel, educationLevel, numberOfOpenings, isHybrid, isOpenToFreshGrads …and 20 more |
| Employer signals | companyWebsite, companyIndustry, isVerifiedAdvertiser, responseRate |
| Company | company, companyIndustry, companyWebsite, companyLogo, companyDescription |
| Pay & budget | salaryMin, salaryMax, salaryCurrency, salaryInterval, salaryIsPublic, responseRate |
| Location | location, addressLine, city, region, country, isRemote |
| Description | description, descriptionHtml, descriptionMarkdown, qualificationsHtml, qualificationsText, dutiesText |
| Dates & change tracking | publishDate, closingDate, updatedAt, changeType |
Every field is nullable — missing values come back as null. Compact mode returns
the core fields only for lean AI/MCP payloads, and excludeEmptyFields drops empties
entirely.
✨ Key features
- 🔎 Search or URL scraping — run a keyword + filter search, or paste Kalibrr job URLs directly.
- 🌏 Philippines & Indonesia — switch between Kalibrr's two country pools with one setting.
- 🧾 67 structured fields — title, company, salary, location, tenure, seniority, qualifications, education range, perks, skills, response rate, and more.
- 🎚️ Rich filters — country, job function (20 categories), employment type, seniority level, remote, hybrid, open-to-fresh-graduates, and sort order — all applied server-side.
- 🧠 Full details — description in text / HTML / Markdown, qualifications, education requirements, preferred courses, licenses, relocation flag, and video URLs.
- 🏢 Company intelligence — industry, website, logo, verified-advertiser status and company description on every record.
- ♻️ Incremental monitoring — schedule it and get only what changed (NEW / UPDATED / EXPIRED); unchanged items are skipped before their page is even fetched.
- 🔔 Notifications — Telegram, Slack, Discord or any webhook (n8n / Make / Zapier).
- 🤖 AI-ready — compact + drop-empty output modes keep payloads small for LLMs and MCP.
🚀 How to scrape Kalibrr
- Open the actor and enter a search keyword (e.g.
developer) and/or pick filters — or paste a Kalibrr job URL. - Choose a market (Philippines or Indonesia) and set Max results.
- Choose whether to fetch full details (on by default — adds description, qualifications, education requirements, and more).
- (Optional) Turn on incremental mode and a notification channel, then Schedule it.
- Click Start.
- Download the data as JSON, CSV or Excel, or pull it from the API.
New to Apify? Create a free account — it comes with monthly credit, no credit card required.
⚙️ Input
Configure it in the visual editor — no code needed — or pass JSON via the API.
| Field | What it does |
|---|---|
query | Keyword search (comma-separate for multiple searches). Leave empty to retrieve all active jobs. |
startUrls | Scrape specific Kalibrr job URLs directly. |
market | Country pool to search: Philippines or Indonesia. |
jobFunction | Filter by job function — 22 categories from Accounting to Writing. |
tenure | Employment type: Full time, Part time, Contractual, Freelance. |
experienceLevel | Seniority: Intern/OJT, Entry Level, Associate, Mid-Senior, Director/Executive. |
isRemote / isHybrid | Return only remote or hybrid listings. |
isOpenToFreshGrads | Return only jobs open to fresh graduates. |
sortBy | relevance (site order) or newest — newest re-orders the whole matching set by publish date before applying Max results. |
includeDetails | Fetch each job's detail page for richer fields (on by default). |
descriptionFormat | Which description format(s) to include: all, text, html or markdown. |
compact | Return only core fields — ideal for AI agents and MCP clients. |
incrementalMode | Emit only what changed since the last run. |
maxResults | Cap the number of records (0 = unlimited). |
...and 30 inputs in total — the table shows the essentials; the rest cover notification channels, output/AI modes and advanced tuning, all in the visual editor.
Example inputs
Basic keyword search (Philippines):
{ "query": "developer", "market": "PH", "maxResults": 100 }
Filtered search for remote IT jobs in Indonesia:
{"query": "data analyst","market": "ID","jobFunction": "IT and Software","isRemote": true,"maxResults": 50}
Incremental monitoring with Slack notifications:
{"query": "marketing","market": "PH","incrementalMode": true,"slackWebhookUrl": "https://hooks.slack.com/services/YOUR/WEBHOOK/URL","maxResults": 0}
📤 Output
Each item in the dataset is one job listing. Every record includes the core fields; enabling Fetch full details (on by default) adds the description, qualifications, education requirements, perks, skills, and more. Here is a real example record:
{"id": "271050","title": "Junior Developer","url": "https://www.kalibrr.com/c/moongig/jobs/271050/junior-developer","source": "kalibrr.com","searchKeyword": "developer","scrapedAt": "2026-09-02T10:13:25.208922+00:00","company": "Moongig","companyIndustry": "Information Technology / IT","companyWebsite": "http://www.moongig.xyz","isVerifiedAdvertiser": true,"city": "Makati","region": "Metro Manila","country": "Philippines","location": "Makati, Metro Manila","jobFunction": "IT and Software","tenure": "Full time","experienceLevel": "Entry Level","educationLevel": "Bachelor's degree","numberOfOpenings": 1,"isRemote": false,"isHybrid": true,"isOpenToFreshGrads": true,"publishDate": "2026-09-01T05:01:00.606013+00:00","closingDate": "2026-09-14T16:00:00+00:00","responseRate": 49.05,"description": "Moongig is a rapidly growing digital healthcare talent platform ...","qualificationsText": "* Write clean, documented code ...","educationLevelMin": "Bachelor's degree","educationLevelMax": "Doctorate","acceptWillingToRelocate": true,"applyUrl": "https://www.kalibrr.com/c/moongig/jobs/271050/junior-developer","extractedEmails": [],"extractedPhones": [],"extractedUrls": ["http://www.moongig.xyz"],"socialProfiles": {}}
Each record can also include descriptionHtml and descriptionMarkdown — choose the format with the Description format input. When incremental mode is on, records carry a changeType field (NEW / UPDATED / EXPIRED).
Data fields
- Core — id, title, url, source, company, location, jobFunction, tenure, experienceLevel, salaryMin, salaryMax, salaryCurrency, salaryInterval, salaryIsPublic, publishDate, closingDate, scrapedAt.
On salary: roughly a quarter of Kalibrr jobs carry a salary figure.
salaryIsPublictells you whether the site displays that figure on the job page — useful when you are comparing advertised pay against what employers actually submit.
- Location — addressLine, city, region, country.
- Details (with
includeDetails) — description (text / HTML / Markdown), qualificationsHtml, qualificationsText, dutiesText, educationLevel, educationLevelMin, educationLevelMax, educationFields, preferredCourses, licenses, monthsWorkExperience, minAge, maxAge, sex, acceptWillingToRelocate, videoUrls, numberOfOpenings, responseRate, perks, perksOther, skills, applyUrl. - Company — company, companyIndustry, companyWebsite, companyLogo, companyDescription, isVerifiedAdvertiser.
- Contacts — extractedEmails, extractedPhones, extractedUrls, socialProfiles. Kalibrr routes applications through its own platform, so employers rarely publish a direct email or phone; these fields are populated when one does appear, and are empty otherwise.
- Monitoring — changeType, isRepost, repostOfId, repostDetectedAt, isFeatured, repostCode, contentHash.
Every field is present in standard mode (missing values are null); compact mode returns the core fields only, for lean AI/MCP payloads. With excludeEmptyFields enabled, null/empty fields are omitted entirely.
♻️ How to monitor Kalibrr with incremental mode
Schedule the actor and turn on incremental mode: each run compares against the last and emits only NEW / UPDATED / EXPIRED records — unchanged items are skipped before their detail page is fetched, so a scheduled watch costs a fraction of a full re-scrape.
Here is what that means in real money, using the live size and churn of the Kalibrr board:
| Market | Active jobs | New jobs per day |
|---|---|---|
| 🇵🇭 Philippines | ~810 | ~22 (2.7 %) |
| 🇮🇩 Indonesia | ~1,210 | ~40 (3.3 %) |
Watching the whole Philippine board:
| Approach | Billable records / day | Cost / day | Cost / month | You save |
|---|---|---|---|---|
| Full re-scrape, once a day | 810 | $1.42 | $42.67 | — |
| ♻️ Incremental, once a day | ~30 | $0.058 | $1.72 | 96 % |
| ♻️ Incremental, every hour | ~30 (spread over 24 runs) | $0.173 | $5.17 | 88 % |
Watching both markets:
| Approach | Billable records / day | Cost / month | You save |
|---|---|---|---|
| Full re-scrape, once a day | 2,020 | $106.20 | — |
| ♻️ Incremental, once a day | ~70 | $3.83 | 96 % |
The first run seeds the baseline and bills in full. The second run usually picks up a small remainder that the site's search index hid from the first pass; from then on it settles to genuine churn only. Active-job counts and new-job rates are measured from the live board; the "~30 / ~70 per day" figures add an allowance for edits to existing posts (closing date, salary, work arrangement) on top of the measured new-job rate.
A job that briefly disappears from the site's search index — which happens, because the index reorders as you page through it — is not re-billed as new when it comes back, and is not reported as expired until it has been genuinely absent for three consecutive runs.
🔔 How to set up Kalibrr alerts
Get pinged the moment a matching record appears. Fill in only the channels you want:
| Channel | What to configure |
|---|---|
| ✈️ Telegram | telegramToken (from @BotFather) + telegramChatId |
| 💬 Slack | slackWebhookUrl (Incoming Webhook URL) |
| 🎮 Discord | discordWebhookUrl (channel webhook URL) |
| 🪝 Webhook | webhookUrl receives structured JSON — ideal for n8n / Make / Zapier |
Credentials are secret inputs — encrypted at rest, masked in the UI and never written to the run log. Every channel fires independently, so a broken channel can't stop the scrape or the others. Pair incremental mode with notify only about changes to hear only about genuinely new records, with no duplicates across runs.
💡 What can you do with Kalibrr data?
- Lead generation — extract recruiter emails and phone numbers from job descriptions to build targeted outreach lists across the Philippines and Indonesia.
- Market & competitive research — track which companies are hiring, in which functions, at what seniority levels, and how salary ranges compare across Metro Manila, Cebu, Jakarta and beyond.
- Vacancy monitoring — schedule it with incremental mode + notifications for a live change-feed of new, updated and expired jobs in your niche.
- Talent-market analytics — measure demand by job function, tenure type, remote/hybrid share, and fresh-graduate openness to understand workforce trends.
- Enrichment & aggregation — feed clean job data into your own app, dashboard, spreadsheet or data warehouse.
- AI agents & pipelines — compact output plugs straight into LLM/MCP workflows for automated candidate matching or market briefings.
💰 How much does it cost to scrape Kalibrr?
This Actor uses the pay-per-event pricing model: a small fee at run start plus a per-record fee. It runs on lightweight HTTP requests with no browser overhead, so the underlying platform cost is minimal.
See the Actor's Pricing tab for exact current prices.
🔌 Integrations & export
Export to JSON, CSV, Excel or an HTML table, or pull from the REST API and the JavaScript / Python clients. Runs on a schedule, connects to Google Sheets, Slack, Make, Zapier and n8n, and works as an MCP tool for AI agents — compact mode keeps token usage small.
🔗 Using the API
You can run this Actor from your own code. Example with the Apify Python client:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_API_TOKEN>")run_input = {"query": "developer","market": "PH","maxResults": 50,}run = client.actor("corvuslab/kalibrr-scraper").call(run_input=run_input)print("Results: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item)
The Actor also works with the JavaScript/TypeScript client, the Apify CLI and the REST API.
❓ FAQ
Do I need a proxy or login? No — it runs out of the box with no login required; Apify Proxy is available under Advanced for high-volume runs.
Which countries does it cover? Kalibrr operates in the Philippines and Indonesia. Switch between them with the Market input.
Can I get only new items on a schedule? Yes — turn on incremental mode and schedule it; each run emits only what changed and can notify your channel.
What formats can I export? JSON, CSV, Excel, HTML table, or via the API.
Is it good for AI agents? Yes — enable compact mode; the output is MCP-friendly with lean payloads.
How many records can I get? As many as the search returns — set maxResults (0 = unlimited).
Can it notify me when new jobs appear? Yes — add a Telegram, Slack, Discord or generic webhook target under Notifications, and combine with incremental mode so you only get pinged about new and updated listings.
Is scraping Kalibrr legal? This actor collects only publicly available data on Kalibrr. You are responsible for how you use the extracted data — in particular any personal information — and for complying with the site's terms and applicable law (including the GDPR where it applies). Not affiliated with, endorsed by, or sponsored by Kalibrr Inc.
Keywords: Kalibrr scraper · Kalibrr API · Kalibrr jobs · Philippines job scraper · Indonesia job scraper · Kalibrr data extractor · Southeast Asia jobs · job board scraper · Kalibrr job listings · recruitment data · job monitoring · lead generation · export jobs to CSV · export jobs to Excel · no-code scraper · MCP tool for AI agents · Kalibrr.com scraper · job market research