MyCareersFuture Singapore Jobs Scraper
Pricing
from $0.79 / 1,000 job scrapeds
MyCareersFuture Singapore Jobs Scraper
Scrape jobs from MyCareersFuture.gov.sg: title, description, salary, skills, employer UEN, SSIC code, location, district, and application counts. Filter by keyword, category, employment type, seniority, and company. Export as JSON, CSV, or Excel.
Pricing
from $0.79 / 1,000 job scrapeds
Rating
0.0
(0)
Developer
ParseBird
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
MyCareersFuture Singapore Jobs Scraper
Scrape job listings from MyCareersFuture.gov.sg — Singapore's national jobs portal run by Workforce Singapore — into clean, structured JSON. The MyCareersFuture Jobs Scraper returns the full job description, the mandatory salary range in SGD, the government-curated skills list, the employer's UEN and SSIC code, location, district, and live view and application counts, with no login and no MyCareersFuture API key.
| Search every active listing by keyword, filter by job category, employment type, seniority, and employer, and get 37 structured fields per job — including salary, skills, employer UEN, SSIC code, district, and application counts — ready for analysis or a jobs product. |
Copy to your AI assistant
Copy this block into ChatGPT, Claude, Cursor, or any LLM to start using this actor.
Actor: parsebird/mycareersfuture-jobs-scraper (Apify). Scrapes jobs from mycareersfuture.gov.sg. Call with ApifyClient.Input JSON fields:searchQuery: string — full-text over title, description, skills. "" = all active listings (~90,000)categories: string[] of category ids, e.g. ["11","21"] (11=Engineering, 21=Information Technology, 5=Banking and Finance, 26=Marketing / Public Relations, ... 1-43)employmentTypes: string[] of ids (2=Temporary, 3=Contract, 5=Part Time, 6=Freelance, 7=Permanent, 8=Full Time, 10=Internship/Attachment)positionLevels: string[] of ids (1=Senior Management, 2=Middle Management, 3=Manager, 7=Professional, 8=Senior Executive, 9=Executive, 10=Junior Executive, 11=Non-executive, 12=Fresh/entry level)companyNames: string[] — normalised, case-insensitive substring match on posting + hiring company (entity suffixes stripped)maxItems: int (default 100, 0 = all). This is the number of billed rows.maxPages: int (default 2000, 100 listings per page)proxyConfiguration: { "useApifyProxy": true }Output: one dataset item per job — job_id, job_post_id, title, description (HTML), employer_name, employer_uen, employer_logo_url, employer_description, employer_website_url, employer_size, employer_ssic_code, hiring_company_name, hiring_company_uen, employment_type, seniority, categories[], skills[], schemes[], flexible_work_arrangements[], min_experience_years, salary_min_sgd, salary_max_sgd, salary_type, location, district, region, is_overseas, posted_date, expires_date, updated_at, is_government_job, job_status, number_of_vacancies, view_count, application_count, job_url, scraped_at.Example: { "searchQuery": "software engineer", "categories": ["21"], "maxItems": 100 }API: https://api.apify.com/v2/acts/parsebird~mycareersfuture-jobs-scraper · Token: https://console.apify.com/account/integrations
What does MyCareersFuture Singapore Jobs Scraper do?
MyCareersFuture carries roughly 90,000 active job listings from Singapore-registered employers, each with a mandatory salary disclosure and a standardised skills taxonomy. There is no public MyCareersFuture jobs API — this MyCareersFuture scraper is the alternative. It extracts:
- 💰 Salary data — the minimum and maximum monthly (or annual) salary in SGD that every listing on MyCareersFuture must disclose.
- 🧠 Skills — the government-curated skill tags attached to each role.
- 🏢 Employer identity — company name, UEN (joins to the ACRA registry), SSIC industry code, logo, headcount, website, and company profile.
- 🕵️ Hiring company — the real employer behind a recruitment-agency posting, when disclosed.
- 📍 Location — full street address, Singapore postal district, and region (Central, East, West, North, North-East).
- 📊 Demand signals — view count and application count for each listing, plus number of vacancies.
- 🎛️ Filters — keyword search, plus job category, employment type, seniority, and an employer allowlist.
Common uses: labour-market and salary-benchmarking research, recruitment intelligence, building a Singapore jobs board or aggregator, lead lists of hiring companies, and skills-demand tracking over time.
Input parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| searchQuery | string | No | — | Full-text search across job titles, descriptions, and skills. Empty = all active listings. |
| categories | array | No | — | Job category IDs to keep. Empty = all. |
| employmentTypes | array | No | — | Employment type IDs to keep. Empty = all. |
| positionLevels | array | No | — | Seniority IDs to keep. Empty = all. |
| companyNames | array | No | — | Employer allowlist, normalised case-insensitive substring match. Unmatched name returns zero rows. |
| maxItems | integer | No | 100 | Maximum job rows saved. 0 = all matching listings. This is the number of billed rows. |
| maxPages | integer | No | 2000 | Maximum source pages scanned (100 listings per page). |
| proxyConfiguration | object | No | Apify Proxy | Proxy settings. MyCareersFuture's API works from datacenter IPs. |
Filter IDs
Job categories (categories): 1 Accounting / Auditing / Taxation · 5 Banking and Finance · 6 Building and Construction · 7 Consulting · 8 Customer Service · 9 Design · 10 Education and Training · 11 Engineering · 15 F&B · 18 Healthcare / Pharmaceutical · 19 Hospitality · 20 Human Resources · 21 Information Technology · 22 Insurance · 23 Legal · 24 Logistics / Supply Chain · 25 Manufacturing · 26 Marketing / Public Relations · 29 Professional Services · 35 Sales / Retail · 36 Sciences / Laboratory / R&D · 43 Precision Engineering (full list 1–43 in the Console dropdown).
Employment types (employmentTypes): 2 Temporary · 3 Contract · 5 Part Time · 6 Freelance · 7 Permanent · 8 Full Time · 10 Internship/Attachment.
Position levels (positionLevels): 1 Senior Management · 2 Middle Management · 3 Manager · 7 Professional · 8 Senior Executive · 9 Executive · 10 Junior Executive · 11 Non-executive · 12 Fresh/entry level.
Example inputs
All IT jobs, first 200:
{ "searchQuery": "", "categories": ["21"], "maxItems": 200 }
Full-time senior engineering roles matching a keyword:
{"searchQuery": "backend","categories": ["11", "21"],"employmentTypes": ["8"],"positionLevels": ["1", "8"],"maxItems": 500}
Every listing from specific employers:
{ "searchQuery": "", "companyNames": ["shopee", "grab", "sea"], "maxItems": 0 }
Every active listing on MyCareersFuture:
{ "searchQuery": "", "maxItems": 0 }
What data can you extract from MyCareersFuture?
| Field | Description |
|---|---|
| job_id | Unique job listing UUID from MyCareersFuture |
| job_post_id | Human-readable job post ID (e.g. MCF-2026-0776599) |
| title | Job title |
| description | Full job description (HTML) |
| employer_name / employer_uen | Posting company and its Singapore UEN (joins to ACRA) |
| employer_logo_url / employer_description / employer_website_url | Employer branding and profile |
| employer_size / employer_ssic_code | Headcount and Singapore Standard Industrial Classification code |
| hiring_company_name / hiring_company_uen | Real employer behind an agency posting |
| employment_type / seniority | Employment type(s) and position level(s) |
| categories / skills / schemes / flexible_work_arrangements | Classification, curated skills, hiring schemes, FWA types |
| min_experience_years | Minimum years of experience required |
| salary_min_sgd / salary_max_sgd / salary_type | Disclosed salary range and period (Monthly or Annual) |
| location / district / region | Full address, Singapore postal district, region |
| is_overseas | Work location is outside Singapore |
| posted_date / expires_date / updated_at | Posting, expiry, and last-updated timestamps |
| is_government_job | Employer UEN matches a Singapore government entity |
| job_status / number_of_vacancies | Listing status (Open, Re-open) and open headcount |
| view_count / application_count | Views and applications the listing has received |
| job_url | Direct link to the listing on MyCareersFuture.gov.sg |
| scraped_at | When the record was scraped |
Output example
{"job_id": "0b06b625c884745acdf98c2aa2ca0612","job_post_id": "MCF-2026-0776599","title": "Senior Data Engineer - MPID Team","description": "<p>We are looking for a Senior Data Engineer...</p>","employer_name": "SHOPEE IP SINGAPORE PRIVATE LIMITED","employer_uen": "201818794D","employer_logo_url": "https://static.mycareersfuture.gov.sg/images/company/logos/abc123/shopee.jpg","employer_ssic_code": "62021","hiring_company_name": "","hiring_company_uen": "","employment_type": "Permanent, Full Time","seniority": "Senior Executive","categories": ["Information Technology"],"skills": ["Python", "Apache Spark", "Data Modeling", "AWS"],"schemes": [],"flexible_work_arrangements": [],"min_experience_years": 2,"salary_min_sgd": 8000,"salary_max_sgd": 10500,"salary_type": "Monthly","location": "1 FUSIONOPOLIS PLACE GALAXIS Singapore 138522","district": "D05 Pasir Panjang, Hong Leong Garden, Clementi New Town","region": "West","is_overseas": false,"posted_date": "2026-08-12","expires_date": "2026-09-10","updated_at": "2026-08-27T09:46:29.000Z","is_government_job": false,"job_status": "Re-open","number_of_vacancies": 1,"view_count": 204,"application_count": 28,"job_url": "https://www.mycareersfuture.gov.sg/job/information-technology/senior-data-engineer-mpid-team-shopee-0b06b625c884745acdf98c2aa2ca0612","scraped_at": "2026-08-29T10:00:00.000Z"}
Download the dataset as JSON, CSV, Excel, HTML, or XML from the Storage tab or the Apify API.
Use cases
- Salary benchmarking — every MyCareersFuture listing carries a disclosed SGD range; aggregate it by role, seniority, district, or industry.
- Labour-market research — track hiring volume, skills demand, and vacancy counts across the Singapore economy over time.
- Recruitment intelligence — see which companies are hiring, how many applications listings attract, and how long roles stay open.
- Company lead lists — pull employers by category or SSIC code, each with a UEN that joins to the ACRA company registry.
- Job board / aggregator — power a Singapore-focused jobs product with structured, deduplicated listings.
- LLM training data — a large corpus of well-structured job descriptions with salary and skills labels.
How it works
- Search — the scraper queries MyCareersFuture's public job API with your
searchQuery, newest listings first, 100 per page. - Filter —
categories,employmentTypes,positionLevels, andcompanyNamesare applied to each listing (the API returns the full record, so filtering costs no extra requests). - Shape — each listing is flattened into 37 fields, with the address assembled into a single string and the salary range read from the mandatory disclosure.
- Rows stream to the dataset and stop at
maxItems(or run to the end of the feed whenmaxItemsis0).
How much does it cost to scrape MyCareersFuture?
This actor is pay per result — you are charged once per job listing saved.
| Plan | Price per 1,000 jobs |
|---|---|
| Free | $0.99 |
| Bronze | $0.89 |
| Silver | $0.89 |
| Gold | $0.79 |
A small platform Actor start fee also applies per run. maxItems is the exact number of billed rows — set it to control spend. Scraping 1,000 listings on the Free plan costs about $0.99; the full board of ~90,000 listings costs about $89 and takes 30–45 minutes. Apify's monthly free platform usage covers small runs.
How to scrape MyCareersFuture
- Click Try for free and sign in to Apify.
- Enter a search query, or leave it blank for every listing.
- Optionally pick categories, employment types, position levels, or add company names.
- Set Max items low for the first run (e.g. 100).
- Click Start, then watch rows appear in the Output tab.
- Export from Storage, or pull results via the API.
Run it via API
Python:
from apify_client import ApifyClientclient = ApifyClient("<YOUR_APIFY_TOKEN>")run = client.actor("parsebird/mycareersfuture-jobs-scraper").call(run_input={"searchQuery": "data analyst","categories": ["21"],"employmentTypes": ["8"],"maxItems": 200,})for job in client.dataset(run["defaultDatasetId"]).iterate_items():print(job["title"], "-", job["employer_name"], "-", job["salary_min_sgd"])
JavaScript:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: '<YOUR_APIFY_TOKEN>' });const run = await client.actor('parsebird/mycareersfuture-jobs-scraper').call({searchQuery: '',companyNames: ['shopee', 'grab'],maxItems: 0,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
Schedule recurring runs, add webhooks, or push results to Google Sheets, Slack, Zapier, and Make with Apify integrations.
FAQ
Do I need a MyCareersFuture account or API key? No. The scraper reads MyCareersFuture's public job data only. There is no official MyCareersFuture jobs API for developers — this actor is the alternative.
How current is the data? Live. Each run reads MyCareersFuture at that moment. Use Apify's scheduler to keep a dataset fresh.
Does every listing really have a salary?
Yes — salary disclosure is mandatory on MyCareersFuture. A small number of employers hide it; those rows come back with salary_min_sgd and salary_max_sgd as null.
What is the UEN and why is it useful?
The Unique Entity Number is every Singapore-registered entity's ID. employer_uen lets you join listings to the ACRA company registry, financial filings, or your own CRM.
How do I get every job on MyCareersFuture?
Set searchQuery to "" and maxItems to 0. The run scans the whole feed (~90,000 listings, ~940 pages) and takes roughly 30–45 minutes.
Why did my category / seniority filter return fewer rows than expected?
Those filters are applied to each listing as it is read from the newest-first feed. For a very selective filter with no search query, raise maxPages so the run scans deeper into the feed.
Something's not working. Open an issue on the Issues tab with your input and the run link — we respond quickly.
Is it legal to scrape MyCareersFuture?
MyCareersFuture is a Singapore government portal and its job listings are public information any visitor can see. Scraping publicly available pages is legal in most jurisdictions, and this actor does not access private data or bypass any login. You are responsible for how you use the data — follow MyCareersFuture's Terms of Use and the Singapore PDPA when handling any personal data, and consult a lawyer if you are unsure. See Apify's guide on the legality of web scraping.
Related actors
- Instahyre Jobs Scraper — India tech jobs with employer context.
- JobsDB Job Scraper — jobs across Southeast Asia.
- Indeed Jobs Scraper — job listings from Indeed worldwide.
- Hiring.cafe Scraper — aggregated jobs with 20+ filters.
- UK Companies House Scraper — company registry records.
Browse all ParseBird actors on Apify Store.