Foundit Jobs Scraper
Pricing
from $3.00 / 1,000 job listings
Foundit Jobs Scraper
Scrape public Foundit (formerly Monster) jobs in India, Singapore, Malaysia and Indonesia by keyword, location or URL. Each job has company, salary, skills, experience, applicants, industry, recruiter, full description and posted date. Filters, only-new mode, MCP-ready.
Pricing
from $3.00 / 1,000 job listings
Rating
0.0
(0)
Developer
Khadin Akbar
Maintained by CommunityActor stats
0
Bookmarked
288
Total users
44
Monthly active users
7 hours ago
Last modified
Categories
Security
Limited permissionsShare
What is Foundit Jobs Scraper?
Foundit Jobs Scraper collects public job listings from Foundit (formerly Monster) in India, Singapore, Malaysia and Indonesia. Search by keywords and location, or paste Foundit job and search URLs. Each result is one clean job record with the company, location, salary (when shown), experience, skills, applicant count, industry, recruiter, full description, posted date and the direct job link.
It reads Foundit's own job search, so every record carries the same fields you see on the site, not a short search-engine snippet.
| What you get | Details |
|---|---|
| Markets | India (foundit.in), Singapore (foundit.sg), Malaysia (foundit.my), Indonesia (foundit.id) |
| Inputs | Keywords, location, country, or Foundit job and search URLs |
| Filters | Posted date, experience range, salary range, job type, only jobs posted on Foundit |
| Job fields | Title, company, location, coordinates, salary and currency, experience, job type, industry, skills, applicants, recruiter, full description, posted date, job URL, external apply link |
| Origin flag | jobOrigin tells you if a job was posted on Foundit or copied from another site |
| Schedules | Only-new-jobs mode skips jobs you already received |
| Price | One charge per saved job; Apify platform usage included |
Why use it?
- Full records. Titles, companies, skills, applicant counts and full descriptions come straight from Foundit's job data.
- Four markets in one Actor. Pick the country; job links and salary currency follow the market.
- Filters that save money. Jobs that fail your filters are skipped before they are saved, and you pay only for saved jobs.
- Daily monitoring. Turn on
onlyNewSinceLastRunand schedule the Actor to get only fresh jobs each day. - Know the source. Most Foundit listings are copied from other job sites and company career pages.
jobOriginandisSyndicatedmark them, andexcludeSyndicatedkeeps only jobs posted on Foundit itself.
Input
| Field | Type | What it does |
|---|---|---|
keywords | string | Job search text, for example data engineer or accountant. |
location | string | City, state or region, for example Bengaluru, Delhi NCR, Karnataka or Kuala Lumpur. Comma-separate several places. Blank searches the whole country. |
country | string | india, singapore, malaysia or indonesia. |
maxResults | integer | Stop after this many jobs (1 to 2,000). |
postedWithinDays | string | any, 1, 3, 7, 14 or 30. |
sortBy | string | date (newest first) or relevance. |
minExperienceYears / maxExperienceYears | integer | Experience range in years. |
minSalary / maxSalary | integer | Yearly salary range in the country's currency. Only jobs that show a salary can match. |
employmentType | string | any, full-time, contract, internship or part-time. |
excludeSyndicated | boolean | Keep only jobs posted on Foundit itself. |
includeJobDetails | boolean | Add the full description, structured skills, applicant count and coordinates (on by default, same price). |
onlyNewSinceLastRun | boolean | Skip jobs this same search already returned in an earlier run. |
startUrls | array | Foundit job pages or search pages to scrape instead of the keyword search. |
Example input:
{"keywords": "data engineer","location": "Bengaluru","country": "india","postedWithinDays": "7","minExperienceYears": 3,"maxResults": 50,"includeJobDetails": true}
Start URL example (job pages and search pages on any of the four sites work):
{"startUrls": [{ "url": "https://www.foundit.sg/srp/results?query=accountant&locations=Singapore" },{ "url": "https://www.foundit.in/job/data-senior-engineer-ntt-data-bengaluru-bangalore-india-69752287" }],"maxResults": 30}
Output
Each dataset item is one job. Example (description shortened):
{"jobId": "69752287","title": "Data Senior Engineer","companyName": "NTT Data","location": "Bengaluru, India","country": "IN","salaryText": null,"salaryCurrency": null,"employmentType": "Full time","industry": "IT/Computers - Software","skills": ["Sqlalchemy", "oracle data pump", "Informatica", "Python"],"description": "Key Responsibilities\n. Assess complex Informatica workflows including sessions, mappings, and parameterizations...","jobUrl": "https://www.foundit.in/job/data-senior-engineer-ntt-data-bengaluru-bangalore-india-69752287","postedAt": "2026-11-07T02:32:23.000Z","postedText": "5 hours ago","applicantCount": 0,"recruiterName": "NTT Data","latitude": 12.971599,"longitude": 77.594563,"isSyndicated": true,"jobOrigin": "syndicated","externalApplyUrl": "https://careers-inc.nttdata.com/job/Bangalore-Data-Senior-Engineer-KA/1446654200/"}
| Field | Meaning |
|---|---|
jobId, title, companyName | Foundit job ID, job title and company. |
location, latitude, longitude, country | Listed places, city coordinates (with job details on) and market code (IN, SG, MY, ID). |
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriod | Disclosed salary. Values are null when the employer hides the salary. |
experienceText, employmentType, industry, functionalArea | Experience requirement, job type, industry and job function. |
skills, description | Skills list and full plain-text description. |
applicantCount, recruiterName, companyLogoUrl | Applicants Foundit shows, recruiter or posting account, logo. |
postedAt, postedText, scrapedAt | Posting time, posting age as shown, and collection time. |
isSyndicated, jobOrigin | jobOrigin is foundit for jobs posted on Foundit or syndicated for jobs copied from elsewhere. |
jobUrl, externalApplyUrl, sourceUrl | Foundit job page, original apply link when the job applies off Foundit, and the search page that found it. |
Each run also writes OUTPUT (short result for integrations) and RUN_SUMMARY (pages, skipped jobs by reason, warnings) to the key-value store.
How it works
- The Actor runs your search on Foundit's own job search for the chosen country, page by page, newest first by default.
- Jobs that fail your filters are skipped. With only-new mode on, jobs from earlier runs of the same search are skipped too.
- With job details on, it fetches each kept job's full record for the description, structured skills, applicants and coordinates.
- Each job is validated and saved, then charged.
- If Foundit search cannot be reached for an India search, the Actor falls back to indexed public Foundit job links (title, link and snippet only) and marks the run as partial.
Location names are resolved by Foundit, so states and regions such as Karnataka or Delhi NCR work. If Foundit does not recognise a place, the run ends with no jobs and a clear message instead of returning unrelated jobs.
Pricing
Pay per event, with Apify platform usage included. See the Pricing tab for current prices.
- Actor start: a small fee once per run.
- Job listing: one charge per job saved to the dataset. Full job details are included in this charge.
Jobs that are filtered out or already seen are never charged. Use maxResults to cap a run's cost.
Free Apify plan
Runs started from a free Apify plan return up to 25 jobs per run, with every input mode and output field available. Paid Apify plans have no per-run limit.
Use with AI agents (MCP)
Foundit Jobs Scraper works as a tool in Apify MCP as khadinakbar/foundit-jobs-scraper.
Find data engineer jobs in Bengaluru posted in the last 3 days on Foundit, needing 3 to 6 years of experience. Return title, company, skills and job link.
Read the dataset items as the job feed. OUTPUT.outcome is COMPLETE, PARTIAL, VALID_EMPTY (search worked, nothing matched), INVALID_INPUT or UPSTREAM_FAILED.
Apify API example
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: process.env.APIFY_TOKEN });const run = await client.actor('khadinakbar/foundit-jobs-scraper').call({keywords: 'accountant',country: 'singapore',postedWithinDays: '7',maxResults: 25,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items.length, items[0]);
Tips for best results
- For daily alerts, keep
sortByondate, setpostedWithinDaysto1or3, turn ononlyNewSinceLastRun, and add a schedule. - Salary and "only Foundit" filters keep far fewer jobs, because most listings hide the salary and most are copied from other sites. Raise
maxResultsor widen other filters when you use them. - Turn off
includeJobDetailsfor the fastest runs when you only need titles, companies and links.
More job tools
| Actor | Use it for |
|---|---|
| Naukri Jobs Scraper | India's largest job board |
| CutShort Jobs Scraper | Indian tech and startup jobs |
| JobStreet Jobs Scraper | Malaysia, Singapore, Indonesia and more of Southeast Asia |
| MyCareersFuture Jobs Scraper | Singapore government job portal |
| LinkedIn Jobs Scraper | LinkedIn job listings worldwide |
| Career Site Jobs Scraper | Jobs straight from company career sites |
FAQ
Which Foundit sites are covered?
India (foundit.in), Singapore (foundit.sg), Malaysia (foundit.my) and Indonesia (foundit.id). Choose one with country, or mix sites by using startUrls.
What does "syndicated" mean?
Foundit copies many jobs from other job sites and company career pages. Those jobs have jobOrigin: "syndicated" and usually an externalApplyUrl. Jobs posted directly on Foundit have jobOrigin: "foundit".
Why are salary fields often empty?
Most employers on Foundit hide the salary. The Actor reports null instead of a made-up zero. A salary filter keeps only jobs that show a salary.
How does only-new mode remember jobs?
It stores the job IDs each search returned in a key-value store named foundit-seen-jobs in your Apify account. Each combination of search and filters is remembered separately, so different searches do not affect each other.
Do I pay for job details?
No. The full description, skills, applicants and coordinates are included in the job price.
What happens if a location is not recognised?
The run finishes with no jobs and the status says the location was not recognised. Try the main city name, for example Bengaluru instead of a neighbourhood.
Responsible use
This Actor reads public job listings only. It does not log in, apply to jobs, or collect candidate or applicant data. Recruiter fields show the posting account Foundit displays publicly. Follow Foundit's terms and local data-protection laws when you store or use the data.