MyCareersFuture Jobs Scraper
Pricing
from $3.00 / 1,000 job scrapeds
MyCareersFuture Jobs Scraper
Scrape public Singapore MyCareersFuture.gov.sg jobs by keyword, UEN, filters, or job UUID/URL. Returns salary, company UEN, skills, and location. HTTP-only, no login, MCP-ready.
Pricing
from $3.00 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
0
Monthly active users
8 days ago
Last modified
Categories
Share
Extract public Singapore job listings from MyCareersFuture into structured JSON for recruiting shortlists, salary research, employer hiring intel, and MCP/API agents. Search by keyword, filter by employer ACRA UEN or taxonomy, or paste a job UUID. Each row includes title, SGD salary band, posted company name and UEN, skills, location, and a canonical job link — HTTP-only against the public v2 API, with no Singpass and no login.
Run it on Apify for scheduling, API access, Residential proxy fallback, and Pay per event billing with a clear maxItems cost cap.
Best fit
Choose this Actor when you need public MyCareersFuture postings with SGD salary bands and ACRA UEN on the employer. It works well for Singapore software, healthcare, finance, and government-board monitoring workflows where FCF-style salary disclosure and company identity matter.
For multi-market Indeed jobs, continue with Indeed Job Scraper when the next step is Indeed search cards. For Google Jobs cards across countries, then use Google Jobs Scraper for SERP-style job discovery. For LinkedIn job cards with salary and skills context, continue with LinkedIn Jobs Scraper when the source board is LinkedIn. For India tech hubs, continue with Naukri Jobs Scraper when the workflow moves to Naukri.com.
Workflow story
A Singapore talent-intel analyst sets search to software engineer, maxItems to 10, and keeps sortBy on new_posting_date. The Actor pages the public MyCareersFuture jobs API, writes one validated row per UUID with salaryMin/salaryMax, postedCompanyUen, skills, and jobUrl, then the analyst filters UENs into a watchlist and exports CSV into their compensation sheet.
How it works
- Collects keyword, UEN, UUID/URL, or taxonomy/salary filter inputs
- Calls the public MyCareersFuture
v2/jobssearch and optionalv2/jobs/{uuid}detail endpoints over HTTPS - Normalizes rows (HTML→text, public fields only), charges
job-scraped, thenpushData - Writes
OUTPUTandRUN_SUMMARYwith an honest outcome (COMPLETE,PARTIAL,VALID_EMPTY,INVALID_INPUT, orUPSTREAM_FAILED)
Input example
{"search": "software engineer","maxItems": 5,"sortBy": "new_posting_date"}
Employer UEN mode:
{"companyUens": ["201816453D"],"maxItems": 20}
| Field | What it controls |
|---|---|
search / searchQueries | Keyword search against titles, skills, and descriptions |
companyUens | ACRA UEN list — jobs where posted company UEN matches |
jobIds / startUrls | Exact 32-character job UUIDs or UUID job URLs (prefer UUID page links) |
categories / employmentTypes / positionLevels | Exact MyCareersFuture enum labels |
salaryFrom / salaryTo | Monthly SGD salary filter bounds |
sortBy | new_posting_date (default) or min_monthly_salary |
maxItems | Hard unique-job cap (default 50; prefill 5) |
fetchDetails / includeScreeningQuestions | Optional detail re-fetch / screening questions |
Output fields
| Field | Description |
|---|---|
title + jobUrl | Public job title and MyCareersFuture page |
salaryMin / salaryMax / salaryType | Advertised SGD salary band when published |
postedCompanyName + postedCompanyUen | Posting employer and ACRA UEN |
categories / employmentTypes / positionLevels | Taxonomy labels |
skills | Skill labels (key-skill flags when present) |
postedDate / expiryDate | Posting and expiry dates |
source / scrapedAt | Provenance (mycareersfuture-v2) and scrape time |
Example output
You can download the dataset in JSON, HTML, CSV, or Excel.
{"uuid": "8914f4821a02ec72243d855f62a79072","jobPostId": "MCF-2026-1579008","title": "Software Engineer","jobUrl": "https://www.mycareersfuture.gov.sg/job/8914f4821a02ec72243d855f62a79072","salaryMin": 5000,"salaryMax": 8000,"salaryType": "Monthly","postedCompanyName": "Example Pte Ltd","postedCompanyUen": "201816453D","categories": ["Information Technology"],"employmentTypes": ["Full Time"],"positionLevels": ["Professional"],"skills": [{ "skill": "JavaScript", "isKeySkill": true }],"postedDate": "2026-09-01","expiryDate": "2026-10-01","source": "mycareersfuture-v2","scrapedAt": "2026-09-21T12:00:00.000Z"}
Pricing
Startup billing and empty runs
The apify-actor-start event costs $0.00005 per startup unit. Apify charges one startup unit per GB of allocated memory, with a minimum of one unit, so a 2 GB run incurs two units. This startup charge still applies when input is invalid, no results are found, or an upstream request fails. Statements about free, unbilled, or skipped results refer only to the corresponding result event; they do not waive the startup charge. Apify platform usage is included in the event prices and is not passed through as an additional customer charge. Check the live Pricing tab for current events, tiers, and rates. Result limits cap result events, not the entire run cost.
This Actor uses Pay per event with platform usage included. The live Pricing tab is the source of truth.
apify-actor-start: $0.00005 per runjob-scraped: $0.003 per unique persisted job row
A five-job sample is about $0.015 in result events with Apify platform usage included. Duplicate UUIDs and rows past maxItems are billed once per unique saved job.
API example
curl "https://api.apify.com/v2/acts/khadinakbar~mycareersfuture-jobs-scraper/runs?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"search":"software engineer","maxItems":5,"sortBy":"new_posting_date"}'
Best results
- Prefer
maxItems≤ 20 while testing filters so you can validate enums before a larger harvest. - Category / employment / position values work best when they match MyCareersFuture labels exactly (for example
Information Technology,Full Time); mismatched enums finish asINVALID_INPUT. - Copy the UUID from the job page URL (
/job/<32-hex>). Prefer UUID detail links for the public API detail path. - Leave
fetchDetailsoff for lean search harvests; enable it when you want the freshest detail payload or screening questions. - Empty but valid searches finish successfully with
VALID_EMPTYand zerojob-scrapedcharges. - Hitting
maxItemsfinishes asPARTIALby design — raise the cap when you need a larger sample.
Use with AI agents (Apify MCP)
Search MyCareersFuture for software engineer jobs in Singapore. Return title, salaryMin, salaryMax, postedCompanyName, postedCompanyUen, and jobUrl. Cap at 5 jobs.
Connect via https://mcp.apify.com. Tool name shape: apify--mycareersfuture-jobs-scraper. Read OUTPUT.outcome and itemsPushed before treating an empty dataset as an outage. Cost signal: about $0.003 per saved job with Apify platform usage included.
Builder's note
I built this around the public MyCareersFuture v2/jobs JSON surface because I found that salary bands and ACRA UEN already arrive without a browser. I learned that enum-exact filters, UUID-only detail URLs, and honest PARTIAL when maxItems stops pagination matter more for callers than fighting Cloudflare. My goal was one validated public job row per UUID with PDPA-safe fields only.
Legal disclaimer
MyCareersFuture, SkillsFuture Singapore, and related Government of Singapore marks are trademarks of their respective owners. This independent Actor is not affiliated with, associated with, or endorsed by SkillsFuture Singapore, MyCareersFuture, GovTech, or the Government of Singapore. SkillsFuture Singapore and MyCareersFuture are trademarks of their respective owners. This independent Actor is not affiliated with, associated with, or endorsed by SkillsFuture Singapore or the Government of Singapore.
You remain responsible for complying with applicable laws, site terms, and your own data-use policies.
PDPA: Output is limited to public job and company fields. Recruiter personal emails and internal user identifiers stay out of the billed row. Use results for lawful recruiting research and salary analysis only.
For feedback or custom workflows, use the Actor Issues tab on Apify.