Singapore MyCareersFuture Jobs Scraper avatar

Singapore MyCareersFuture Jobs Scraper

Pricing

from $30.00 / 1,000 job listings

Go to Apify Store
Singapore MyCareersFuture Jobs Scraper

Singapore MyCareersFuture Jobs Scraper

Live Singapore job postings from MyCareersFuture (WSG / gov.sg) — title, company, UEN, sector, location, SGD salary band, employment type, seniority, posting/expiry date, required skills, full job URL. Filter by keyword, sector, location, employment type, salary band, recency.

Pricing

from $30.00 / 1,000 job listings

Rating

0.0

(0)

Developer

Stephan Corbeil

Stephan Corbeil

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Live job market data from Singapore's national government-run job portal, delivered as clean JSON — keyword search, sector filter, salary band, employment type, seniority, recency window. This actor pulls active job postings from MyCareersFuture (mycareersfuture.gov.sg), the country's central job-matching portal operated by Workforce Singapore (WSG), and returns one structured record per posting with the title, company name, UEN (Unique Entity Number), sector / industry category, formatted Singapore address, monthly SGD salary band, employment type, seniority level, posting and expiry dates, required skills list, and the direct posting URL.

If you are recruiting in Singapore, running an HR-tech or staffing agency, scraping leads from job boards for B2B outreach, or doing labour-market research, this actor gives you the most authoritative public dataset for the SG market — without scraping LinkedIn (paid, captcha-gated, weak SG-specific search), Indeed (aggregator with stale postings), or JobStreet (region-wide noise that drowns out SG signal).

Try it on Apify →

Why MyCareersFuture is the canonical Singapore job dataset

Under Singapore's Fair Consideration Framework (FCF), every Singapore employer that wants to hire a foreign professional on an Employment Pass (EP) must first advertise the role on MyCareersFuture for a minimum window (currently 14 days for most roles). The portal is therefore not an optional employer board — it is the de-facto compliance layer for the entire formal job market in Singapore for jobs paying SGD 5,000/month or more.

That regulatory requirement has two huge implications for data buyers:

  1. Coverage is unmatched. Almost every white-collar role in Singapore at SGD 5,000+ monthly will pass through the portal at some point in its hiring cycle. There is no equivalent regulatory funnel forcing roles onto LinkedIn or Indeed.
  2. Data is structured. Unlike scraped HTML from third-party aggregators, MyCareersFuture data is keyed by UEN (Singapore's national company identifier) and uses ACRA's official SSIC industry codes + Singapore's SSOC occupation taxonomy. That means the records you pull here are joinable to ACRA company data, MAS financial-institution filings, IRAS tax records, and any other Singapore government dataset that uses UEN as the primary key.

What you get — schema

Each run produces one dataset row per matching job. Fields:

FieldTypeNotes
job_idstringMyCareersFuture UUID — stable per posting (use as deduplication key).
titlestringJob title as posted.
companystringPosted company legal name.
company_uenstringSingapore Unique Entity Number — joins to ACRA, IRAS, MAS datasets.
company_urlstringCompany website if disclosed.
sectorarray<string>MyCareersFuture categories (e.g. ["Information Technology", "Engineering"]).
locationstringFormatted Singapore address: block + street + building, #floor-unit, postal code, optional district.
is_overseasbooleanTrue for the handful of foreign-based roles posted by SG employers.
salary_min_sgdintegerLower bound of advertised band, in SGD per salary_type period.
salary_max_sgdintegerUpper bound.
salary_typestringMonthly, Annual, Hourly, Daily.
employment_typearray<string>One or more of Full Time, Part Time, Contract, Permanent, Temporary, Flexi Work, Internship, Freelance.
seniorityarray<string>One or more position-level tags (Manager, Executive, Senior Management, etc.).
minimum_years_experienceintegerAs declared by the employer.
posting_datestringISO date — the current posting date (metadata.newPostingDate, refreshed on repost).
original_posting_datestringISO date — first time the job ID appeared.
expiry_datestringISO date — when the listing expires.
vacanciesintegerNumber of openings under this posting.
job_urlstringDirect URL to the MyCareersFuture posting page.
skills_requiredarray<string>Skill taxonomy — the employer's tagged skills, useful for skills-gap analysis and recommender systems.
ssoc_codestringSingapore Standard Occupational Classification 2020.
occupation_idstringMyCareersFuture-internal occupation identifier.
description_summarystringFirst ~600 chars of the job description with HTML stripped.
data_sourcestringProvenance string.

Input parameters

ParameterTypeNotes
searchQuerystringFree-text keyword passed to the upstream search endpoint. Matches title, description, and skill fields.
sectorstringOptional sector filter — must match a MyCareersFuture category exactly (Information Technology, Banking and Finance, Engineering, etc.).
locationstringSubstring match on the assembled address (region name, building, postal code). Applied client-side.
salaryMinintegerMinimum monthly SGD salary. Sent as the API's salary floor.
salaryMaxintegerMaximum monthly SGD salary. Applied client-side as a band-overlap test.
employmentTypeenumALL / FULL_TIME / PART_TIME / CONTRACT / PERMANENT / TEMPORARY / FLEXI_WORK / INTERNSHIP / FREELANCE.
seniorityLevelstringExact-match position-level.
postedWithinDaysintegerRestrict to jobs posted within the last N days based on newPostingDate.
maxResultsintegerHard cap (1–500). Default 100, prefilled 50.

How it compares — Singapore-specific job data sources

This actorLinkedIn JobsIndeed SGJobStreetGlassdoor SG
Government-issued data?Yes (MyCareersFuture / WSG)NoNoNoNo
Coverage of EP-mandated roles100% (regulatory requirement)PartialPartialPartialPartial
Salary band disclosedYes (structured min/max SGD)Rare, scraped from textRareRareRare
Company UEN includedYes (joinable to ACRA)NoNoNoNo
Captcha / login requiredNo (public REST API)YesFrequentYesYes
Cost$0.03 per jobLinkedIn Jobs Scraper $0.02/jobFree scrapers exist but breakSubscriptionSubscription
Update frequencyLive (per-run)DailyDailyDailyWeekly
Skills taxonomyYes (employer-tagged)YesNoNoNo

The LinkedIn Jobs Scraper in our fleet is the top earner per result-count for global job data and excellent for cross-market analysis, but if your operating geography is Singapore specifically, MyCareersFuture is the higher-signal source — the dataset where every formally-advertised EP-eligible role must surface by law, and where the records are pre-joined to Singapore's national identifier system.

Use cases

1. Singapore recruiting agencies — pipeline sourcing

If you run a recruitment desk, the bread-and-butter workflow is "find every open role in my vertical, in my client's salary band, posted in the last 7 days, that we are not already pitching." MyCareersFuture is uniquely good for this because:

  • The salary band is structured (min/max in SGD), not free-text in a job description.
  • The posting date is the current date (the portal forces a repost on edits), so you can prove freshness.
  • The UEN lets you join against your existing CRM by national company identifier without name-fuzzy-matching.

A 5-minute run with searchQuery="data engineer", salaryMin=8000, postedWithinDays=7, maxResults=200 pulls every senior data engineering role posted in Singapore in the last week at SGD 8k+/month. Pair it with the Singapore ACRA Companies actor to enrich each hiring company with directors, paid-up capital, and SSIC business classification.

2. HR teams and TA leaders — market intelligence

Internal talent acquisition teams use this dataset to benchmark their own compensation bands against the live market. Pull every posting for Software Engineer titles in the IT sector over the last 90 days, group by seniority, and you have a real distribution of advertised SGD salary bands — not the smoothed self-reported numbers on Glassdoor or the headcount-filtered survey data from Mercer / Aon.

Combine the skills list with the salary band to answer questions like "do Singapore employers pay more for Rust + Kubernetes than for Python + AWS at the senior level?" in concrete dollar terms.

3. B2B sales / lead-gen agencies — buyer-intent signals

A new MyCareersFuture posting is a direct buyer-intent signal. A company posting three new DevOps roles is buying cloud infrastructure. A company posting a Head of Compliance is buying compliance software. A company posting an in-house counsel is buying legal tech.

Cross-link the company_uen back to Singapore MAS Financial Institutions to enrich the regulated-entity context, or to Singapore ACRA Companies for paid-up capital and director profiles. The combination is a Singapore-specific signal-to-account flow that beats generic intent vendors (Bombora, G2 buyer-intent) for SG-only ICPs.

4. Labour-market researchers and policymakers

Because MyCareersFuture is the regulatory funnel, longitudinal pulls give you a real-time read on Singapore's formal job market — vacancy growth by sector, salary inflation by occupation, skill-demand shifts. Pull weekly into your warehouse, key by job_id for deduplication, and join against ACRA company data and IRAS tax filings to build a real labour-market dashboard.

5. Investment analysts — Singapore equity coverage

If you cover SGX-listed companies, hiring is a leading indicator. A bank ramping up its private credit team, a manufacturer ramping up its automation engineers, or a fintech hiring a Head of Risk all signal capital allocation choices before they show up in earnings. Pull every posting from your watch-list of UENs (you have UEN already — Singapore lists every SGX issuer's UEN in its profile) and you have a structured hiring tracker.

Pairs well with

Example input

{
"searchQuery": "software engineer",
"sector": "Information Technology",
"location": "",
"salaryMin": 6000,
"salaryMax": 0,
"employmentType": "FULL_TIME",
"seniorityLevel": "",
"postedWithinDays": 30,
"maxResults": 50
}

Example output (one record)

{
"job_id": "551cdfbe5ee60286be0a6d243c02cc03",
"title": "Day 2 Software Engineer (AMK)",
"company": "MAESTRO TECHNOLOGY SOLUTIONS PTE. LTD.",
"company_uen": "201734933C",
"company_url": "https://www.maestrosolutions.com.sg",
"sector": ["Information Technology"],
"location": "30 Ang Mo Kio Industrial Park 2, Singapore 569508",
"is_overseas": false,
"salary_min_sgd": 4500,
"salary_max_sgd": 7500,
"salary_type": "Monthly",
"employment_type": ["Full Time", "Permanent"],
"seniority": ["Executive"],
"minimum_years_experience": 2,
"posting_date": "2026-05-19",
"original_posting_date": "2026-05-19",
"expiry_date": "2026-06-18",
"vacancies": 2,
"job_url": "https://www.mycareersfuture.gov.sg/job/information-technology/day-2-software-engineer-...",
"skills_required": ["MongoDB", "Kubernetes", "Customer Support", "Software Engineering", "Docker"],
"ssoc_code": "25121",
"occupation_id": "OCC002119",
"description_summary": "Day 2 Software Engineer. Job Description: As a Day 2 Software Engineer, you will be responsible for ensuring the smooth operation of our software products post-deployment...",
"data_source": "mycareersfuture.gov.sg public API"
}

Pricing

This actor uses Apify's pay-per-event model. You pay only for what you pull — there is no monthly subscription, no minimum spend, no per-seat fee.

  • Actor start: a flat micro-charge per run.
  • Per job posting: a per-row charge for each posting pushed to the dataset.

Pricing for this actor is calibrated to sit slightly above the LinkedIn Jobs Scraper per-row price ($0.02/job), because Singapore-specific job data is rarer than global LinkedIn coverage and the regulatory funnel (FCF) makes MyCareersFuture a higher-signal source for the SG market. A representative 50-row pull costs well under USD 2.

If your monthly spend would justify a flat subscription, contact us — large Singapore recruiting and HR-tech buyers usually move to a private fork with custom price brackets.

Limits and edge cases

  • Hard ceiling: the actor caps pulls at 500 rows per run regardless of maxResults to prevent runaway pagination. For deeper backfills, run multiple jobs with disjoint postedWithinDays windows or non-overlapping searchQuery keywords and dedupe by job_id downstream.
  • Sector / seniority strings are case-sensitive. Use the exact taxonomy values (e.g. Information Technology, not IT). Leave empty if unsure — the upstream API will return everything and you can filter post-hoc.
  • Salary fields are integers in SGD. The salary_type field tells you whether the band is monthly, annual, hourly, or daily — you must read both fields when comparing roles.
  • Graceful degradation: if the MyCareersFuture API is rate-limited or unreachable, the actor emits a single placeholder row { "_blocked": true, ... } describing the failure mode and exits cleanly. Your downstream pipeline can detect this and retry after a few minutes.
  • Overseas roles posted by SG-registered employers (is_overseas: true) show foreign address fields. Filter them out client-side if you only want SG-domestic jobs.

Frequently asked questions

How fresh is the data?

Every run hits the live MyCareersFuture REST API. posting_date is the portal's newPostingDate field, which is refreshed every time the employer edits the listing. For a true first-listed date, use original_posting_date.

Is this scraping or an official API?

MyCareersFuture exposes a public, unauthenticated REST endpoint at api.mycareersfuture.gov.sg/v2/jobs. The actor calls it the same way the consumer-facing site does. There is no scraping of HTML, no captcha bypass, no headless browser — just clean JSON in and out.

What about rate limits?

The upstream API is generous for occasional pulls — we have not observed hard blocks at reasonable cadences. If you need 10K+ rows per day, run multiple smaller pulls spaced through the day rather than one huge pagination loop, and the actor's _blocked: true placeholder will surface any block immediately if it does happen.

Can I get historical postings?

MyCareersFuture exposes only currently-active roles via the public API. For historical longitudinal data, run this actor on a daily schedule and snapshot the results into your own warehouse — over 12 months you build the historical dataset that does not exist as a backfill anywhere else.

Will my pulled data go stale?

Each posting has an expiry_date (typically 30–90 days after first posting). After expiry, the posting falls off the public API. Pull frequently and snapshot if you need a permanent archive.

How does this compare to using the consumer-facing site?

The consumer site shows ~25 jobs per page, captures interaction events, and is designed for individual job seekers. This actor hits the same data layer that powers the site, returns up to 500 structured records per run, and gives you skills + UEN + SSOC code in the response — none of which are exposed on the rendered page.

Can I cross-join the company_uen to other Singapore datasets?

Yes — that is the main reason to use this actor over LinkedIn Jobs. Every company_uen is a primary key into ACRA's corporate registry, IRAS tax filings, MAS financial-institution disclosures, and BCA construction-licence data. Pair this actor with Singapore ACRA Companies and Singapore MAS Financial Institutions for a deep enrichment graph.

Compliance and lawful use

MyCareersFuture is a public-data portal operated by Workforce Singapore (WSG) under the Singapore government. The job listings are published by employers explicitly for public consumption and the API endpoint that this actor uses is the same public endpoint the consumer-facing portal uses. You can lawfully use this data for talent sourcing, market research, recruitment outreach, and competitive intelligence, subject to Singapore's PDPA (Personal Data Protection Act) where individual person-data is involved — note that this actor returns company records and job postings, not personal candidate data, so PDPA concerns are minimal for typical use cases.

If you intend to use this data at scale, we recommend (a) respecting upstream cadence (run hourly at most for the same query), (b) attributing the source as MyCareersFuture / WSG in any published derived dataset, and (c) consulting your own counsel for use cases that involve onward distribution.

Get the data

Run on Apify →

Singapore is a high-density, high-signal market for B2B sourcing, recruiting, and labour-market research. MyCareersFuture is the canonical dataset — and this actor is the cleanest path to it.