MyCareersFuture Singapore Jobs Scraper
Pricing
from $1.50 / 1,000 results
Go to Apify Store
MyCareersFuture Singapore Jobs Scraper
Scrape Singapore's official govt job portal: 95,000+ listings with salaries, GPS, company info, skills. No proxy, no auth required.
Pricing
from $1.50 / 1,000 results
Rating
0.0
(0)
Developer
Unfenced Group
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
13 hours ago
Last modified
Categories
Share
Scrapes job listings from MyCareersFuture.gov.sg, Singapore's national job portal operated by Workforce Singapore.
Uses the official REST API (api.mycareersfuture.gov.sg/v2/jobs) directly — no browser required, no HTML parsing. Pure HTTP, fast and stable.
Features
- Keyword search across 90,000+ active Singapore jobs
- Filter by job category, employment type, salary range
- Sort by newest posting date or highest salary
- Full field extraction including SSOC codes, engagement metrics, company details
- Deduplication across multiple keyword runs
Input
| Field | Type | Default | Description |
|---|---|---|---|
keywords | array | [""] | Search keywords. Use "" to get all jobs. Multiple keywords run sequentially. |
categories | array | [] | Filter by category. E.g. ["Information Technology", "Finance"] |
employmentTypes | array | [] | Filter by type. E.g. ["Full Time", "Part Time", "Contract", "Flexi-work"] |
salaryMin | integer | 0 | Minimum monthly salary in SGD (0 = no minimum) |
salaryMax | integer | 0 | Maximum monthly salary in SGD (0 = no maximum) |
sortBy | string | "" | Sort order: "" = relevance, "newPostingDate" = newest first, "salary" = highest salary first |
maxResults | integer | 200 | Max jobs to return. 0 = unlimited (all 90,000+) |
Example Input
{"keywords": ["software engineer", "data analyst"],"categories": ["Information Technology"],"employmentTypes": ["Full Time"],"salaryMin": 5000,"sortBy": "newPostingDate","maxResults": 500}
Output
Each item in the dataset contains 60 fields:
Identity
| Field | Type | Description |
|---|---|---|
id | string | Job UUID (unique identifier) |
jobPostId | string | Human-readable job post ID (e.g. MCF-2026-0775065) |
url | string | Direct link to the job listing |
Content
| Field | Type | Description |
|---|---|---|
title | string | Job title |
descriptionHtml | string | Job description (raw HTML) |
descriptionText | string | Job description (plain text, HTML stripped) |
jobTitles | array | Alternate job titles (when provided) |
Company
| Field | Type | Description |
|---|---|---|
companyName | string | Posted company name (may be recruiter) |
companyUen | string | Company UEN (Singapore business registration) |
companyUrl | string | Company website |
companySize | integer | Number of employees (when available) |
companyLogo | string | Company logo URL |
companySsicCode | string | Singapore Standard Industrial Classification code |
companyDescription | string | Company description (plain text) |
isResponsiveEmployer | boolean | Whether employer responds to applications |
hiringCompanyName | string | Actual hiring company (when recruiter posts on behalf) |
hiringCompanyUen | string | Hiring company UEN |
Location
| Field | Type | Description |
|---|---|---|
isOverseas | boolean | Whether this is an overseas posting |
block | string | Block number |
street | string | Street name |
floor | string | Floor number |
unit | string | Unit number |
building | string | Building name |
postalCode | string | Singapore postal code |
district | string | District / area (e.g. Central, Islandwide) |
region | string | Region (e.g. Central Region, Islandwide) |
Salary
| Field | Type | Description |
|---|---|---|
salaryMin | integer | Minimum salary in SGD |
salaryMax | integer | Maximum salary in SGD |
salaryType | string | Salary period (Monthly, Annual, Hourly) |
Job Attributes
| Field | Type | Description |
|---|---|---|
categories | array | Job categories (e.g. ["Information Technology"]) |
employmentTypes | array | Employment types (e.g. ["Full Time", "Permanent"]) |
positionLevels | array | Seniority levels (e.g. ["Senior Executive"]) |
skills | array | Required skills (e.g. ["Python", "AWS", "SQL"]) |
schemes | array | Government schemes applicable to this role |
flexibleWork | array | Flexible work arrangements offered |
minimumYearsExp | integer | Minimum years of experience required |
numberOfVacancies | integer | Number of open positions |
otherRequirements | string | Additional requirements |
shiftPattern | string | Shift pattern description |
workingHours | string | Working hours information |
Occupation Classification (MOM / SSOC)
| Field | Type | Description |
|---|---|---|
ssocCode | string | Singapore Standard Occupational Classification code |
occupationId | string | MOM Occupation ID (e.g. OCC013772) |
ssocVersion | string | SSOC version used (e.g. 2020v3) |
ssecEqa | string | Education qualification level code (SSEC-EQA) |
ssecFos | string | Field of study code (SSEC-FOS) |
Dates
| Field | Type | Description |
|---|---|---|
createdAt | string | ISO timestamp when job was created |
publishDate | string | Original posting date (YYYY-MM-DD) |
updatedAt | string | Last update date (YYYY-MM-DD) |
expiryDate | string | Listing expiry date (YYYY-MM-DD) |
Engagement Metrics
| Field | Type | Description |
|---|---|---|
totalViews | integer | Total number of views |
totalApplications | integer | Total number of applications received |
editCount | integer | Number of times listing was edited |
repostCount | integer | Number of times listing was reposted |
Flags & Status
| Field | Type | Description |
|---|---|---|
jobStatus | string | Job status (Open) |
isJdEnhanced | boolean | Whether job description has been AI-enhanced |
isHideSalary | boolean | Whether salary is hidden from the listing |
isPostedOnBehalf | boolean | Whether posted by recruiter on behalf of employer |
sourceCode | string | Posting source (Employer Portal, etc.) |
Meta
| Field | Type | Description |
|---|---|---|
source | string | Always mycareersfuture.gov.sg |
scrapedAt | string | ISO timestamp of scrape time |
Notes
- Salary filter: The API may return jobs with hidden salary that still meet the filter criteria server-side.
salaryMin/salaryMaxwill benullfor jobs withisHideSalary: true. - Category filter: The API applies an OR filter — jobs matching any of the listed categories are returned.
- Total jobs: The portal has ~90,000–95,000 active listings at any given time. Use
maxResults: 0to retrieve all. - Rate limiting: The scraper applies light jitter delays between pages to be respectful. No proxies needed.
- SSOC codes: Can be looked up in the MOM SSOC classification.
- SSEC codes: Education and field-of-study codes from the SSEC classification.