Foundit Jobs Scraper avatar

Foundit Jobs Scraper

Pricing

from $3.00 / 1,000 job listings

Go to Apify Store
Foundit Jobs Scraper

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

Khadin Akbar

Maintained by Community

Actor stats

0

Bookmarked

288

Total users

44

Monthly active users

7 hours ago

Last modified

Security

Limited permissions

Share

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 getDetails
MarketsIndia (foundit.in), Singapore (foundit.sg), Malaysia (foundit.my), Indonesia (foundit.id)
InputsKeywords, location, country, or Foundit job and search URLs
FiltersPosted date, experience range, salary range, job type, only jobs posted on Foundit
Job fieldsTitle, company, location, coordinates, salary and currency, experience, job type, industry, skills, applicants, recruiter, full description, posted date, job URL, external apply link
Origin flagjobOrigin tells you if a job was posted on Foundit or copied from another site
SchedulesOnly-new-jobs mode skips jobs you already received
PriceOne 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 onlyNewSinceLastRun and 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. jobOrigin and isSyndicated mark them, and excludeSyndicated keeps only jobs posted on Foundit itself.

Input

FieldTypeWhat it does
keywordsstringJob search text, for example data engineer or accountant.
locationstringCity, state or region, for example Bengaluru, Delhi NCR, Karnataka or Kuala Lumpur. Comma-separate several places. Blank searches the whole country.
countrystringindia, singapore, malaysia or indonesia.
maxResultsintegerStop after this many jobs (1 to 2,000).
postedWithinDaysstringany, 1, 3, 7, 14 or 30.
sortBystringdate (newest first) or relevance.
minExperienceYears / maxExperienceYearsintegerExperience range in years.
minSalary / maxSalaryintegerYearly salary range in the country's currency. Only jobs that show a salary can match.
employmentTypestringany, full-time, contract, internship or part-time.
excludeSyndicatedbooleanKeep only jobs posted on Foundit itself.
includeJobDetailsbooleanAdd the full description, structured skills, applicant count and coordinates (on by default, same price).
onlyNewSinceLastRunbooleanSkip jobs this same search already returned in an earlier run.
startUrlsarrayFoundit 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/"
}
FieldMeaning
jobId, title, companyNameFoundit job ID, job title and company.
location, latitude, longitude, countryListed places, city coordinates (with job details on) and market code (IN, SG, MY, ID).
salaryText, salaryMin, salaryMax, salaryCurrency, salaryPeriodDisclosed salary. Values are null when the employer hides the salary.
experienceText, employmentType, industry, functionalAreaExperience requirement, job type, industry and job function.
skills, descriptionSkills list and full plain-text description.
applicantCount, recruiterName, companyLogoUrlApplicants Foundit shows, recruiter or posting account, logo.
postedAt, postedText, scrapedAtPosting time, posting age as shown, and collection time.
isSyndicated, jobOriginjobOrigin is foundit for jobs posted on Foundit or syndicated for jobs copied from elsewhere.
jobUrl, externalApplyUrl, sourceUrlFoundit 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

  1. The Actor runs your search on Foundit's own job search for the chosen country, page by page, newest first by default.
  2. Jobs that fail your filters are skipped. With only-new mode on, jobs from earlier runs of the same search are skipped too.
  3. With job details on, it fetches each kept job's full record for the description, structured skills, applicants and coordinates.
  4. Each job is validated and saved, then charged.
  5. 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 sortBy on date, set postedWithinDays to 1 or 3, turn on onlyNewSinceLastRun, 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 maxResults or widen other filters when you use them.
  • Turn off includeJobDetails for the fastest runs when you only need titles, companies and links.

More job tools

ActorUse it for
Naukri Jobs ScraperIndia's largest job board
CutShort Jobs ScraperIndian tech and startup jobs
JobStreet Jobs ScraperMalaysia, Singapore, Indonesia and more of Southeast Asia
MyCareersFuture Jobs ScraperSingapore government job portal
LinkedIn Jobs ScraperLinkedIn job listings worldwide
Career Site Jobs ScraperJobs 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.