Foundit Jobs Scraper — Foundit India (formerly Monster India)
Pricing
from $0.56 / 1,000 jobs
Foundit Jobs Scraper — Foundit India (formerly Monster India)
Foundit (formerly Monster India) jobs scraper: title, company, locations, experience range, salary when shown, skills, number of applicants, posting and closing dates, full description — plus job alerts: only jobs new since your last run. Search by keyword and city or paste a Foundit URL. No login.
Pricing
from $0.56 / 1,000 jobs
Rating
0.0
(0)
Developer
Northbell
Maintained by CommunityActor stats
0
Bookmarked
4
Total users
2
Monthly active users
9 hours ago
Last modified
Categories
Share
Foundit Jobs Scraper
Stop re-checking Foundit by hand: get only the new jobs for your searches every morning — in a sheet, Slack or your own job board. Search Foundit (India) by keyword, location or a pasted search URL and get every matching job as clean JSON with the salary split into min / max / interval; schedule it and each run marks which jobs are new since your last run.
Try it now — the input is already filled in. Press Start: the example searches (java, data analyst) return about 100 jobs in India in about 30 seconds, for about $0.08.
title | company | location | experienceMinYears | experienceMaxYears | applicants |
|---|---|---|---|---|---|
| Java Developer (Storage Domain) | Tekishub Consulting Services Private Limited | Bengaluru | 6 | 9 | 359 |
| ITAO (Application Owner), AVP | Deutsche Bank | Pune, India | 0 | 0 | 0 |
| full stack developer intern | nefeon technology | Bengaluru, India | 0 | 0 | 2 |
How "new since last run" works
The Actor remembers which jobs each search returned last time. A job it has not seen before is marked isNewSinceLastRun: true.
If the whole search fits within Max jobs, the comparison is exact and jobs that disappeared come back as type: "closed" rows. If the search is bigger than Max jobs, a job only counts as new when it was also posted after your previous run — so an old job that merely moved into view is never reported as new.
Filters (title, location text, salary, remote) never change the comparison, so changing a filter never makes jobs look new.
What you get
| Field | |
|---|---|
title, company, location, locations | as listed |
experienceMinYears, experienceMaxYears | the experience range the employer asks for |
salaryMin, salaryMax, salaryCurrency | INR per year, only when the employer shows it (most hide it) |
applicants | how many people have applied so far |
skills, industries, employmentType | as tagged on Foundit |
description | the full job text (turn off with Include the full description) |
postedAt, expiresAt, applyUrl | posting and closing dates, and where the Apply button goes |
remote | true when the job's location says Remote or Work From Home; Foundit has no separate remote field, so other jobs are null (not known) |
isNewSinceLastRun | true / false, or null on the first run (unknown, not "old") |
jobUrl | link to the job on Foundit |
search | which of your searches returned it |
Input
Put one search per line in Searches (e.g. java) and optionally a Location (e.g. Bengaluru). Or set the filters on the site and paste the result page into Search URLs (e.g. https://www.foundit.in/srp/results?query=java&locations=Bengaluru) — every filter the site has then applies. Many searches in one run are cheaper than one run each.
A search the site refuses comes back as an error row and the run carries on.
Example output
One real row from a test run (long text shortened here with …).
{"type": "job","provider": "foundit","search": "java","searchLocation": "Bengaluru","jobId": "69366409","title": "PLM Windchill Consultant","company": "Infosys","location": "Bengaluru, India","locations": ["Bengaluru","India"],"experienceMinYears": 0,"experienceMaxYears": 0,"salaryMin": null,"salaryMax": null,"salaryCurrency": null,"salaryInterval": null,"employmentType": "Full time","skills": ["lifecycle management","PLM data models","SOAP APIs","Windchill","Windchill customization","PTC Windchill PLM PDMLink","…"],"industries": ["Other"],"applicants": 0,"postedAt": "2026-10-07T01:50:22.000Z","expiresAt": "2026-11-06T18:29:00.000Z","jobUrl": "https://www.foundit.in/job/plm-windchill-consultant-infosys-bengaluru-bangalore-india-69366409","applyUrl": "","companyLogo": null,"countryCode": "IN","remote": null,"seniority": "mid","employmentTypes": ["full-time"],"description": "- Primary skills:Technology->PDM , PLM->Windchill\n- Strong expertise in PTC Windchill PLM (PDMLink primarily).\n- Experience in Solution Architecture for PLM imp…","isNewSinceLastRun": false}
Get only the new jobs every morning (3 steps)
- Open this Actor in Apify Console, fill in your searches, set What to return to Only jobs that are new since the last run, and click Save as a new task.
- On the task, add a Schedule — for example daily at 07:00.
- Open the task's Integrations tab and connect Slack, email, Google Sheets (or Zapier / Make / a webhook). Each morning you get only the new jobs.
You pay only for the new jobs plus $0.01 per run, so a quiet day costs about a cent. When you export by hand, pick the Jobs view: 12 tidy columns, title first, instead of every raw field.
Pricing
$0.70 per 1,000 jobs ($2.00 per 1,000 from 6 November 2026), plus $0.01 per run. Closed-job rows and errors are free. With Only jobs that are new since the last run, a daily schedule only pays for the new ones.
**Measured, not estimated:** 500 jobs in 108 s, about **$0.0069 of Apify platform usage per 1,000 jobs** at 512 MB (our running cost — included in the price, nothing on top) (2026-09-30).Don't know which companies to watch? The Greenhouse Jobs Scraper searches 4,800 companies by job title — no company names needed — and reports exactly which matching roles are new or closed each run.
For AI agents
For a fast answer call with {"searches": ["java"], "maxJobsPerSearch": 20, "includeDescription": false} — a few seconds. The defaults (up to 200 jobs with full descriptions) can take about a minute, which is longer than many agent tool timeouts. Each row has type: job, closed or error. isNewSinceLastRun: null means "no previous run to compare with".
Same filters on every site (10/2026): experience level (read from the title: intern → executive, returned as a seniority column) and employment type (the site's own words normalised into full-time / part-time / contract / temporary / internship, returned as employmentTypes). They only narrow what is returned — no extra requests, no extra cost.
Zero rows is never ambiguous. The run's status message says why, per search — e.g. "zzz": no results on the site, results found but all removed by your filters or nothing new since the last run — and the OUTPUT record in the run's key-value store has the same as JSON: perSearch[].status is ok, no-results, all-filtered, nothing-new or error, with listed, read, returned, new and closed. Set summaryRows: true to get it as free type: "summary" rows instead.
Same core columns on every northbell job scraper (15 job sites + 10 company-career-page scrapers), so you can stack them into one table: jobId, title, company, location, countryCode (ISO, job sites), remote (true / false / null), employmentType (the site's own words), postedAt, jobUrl, salaryMin, salaryMax, salaryCurrency, salaryInterval, isNewSinceLastRun. Unknown is null, never a guess.
More job scrapers from northbell
Job sites: SEEK · Instahyre · Reed · InfoJobs · XING · Dice · HelloWork · Computrabajo · Foundit · jobs.ch · Arbeitsagentur · Arbeitnow · Remote OK · We Work Remotely.
Company career pages with exact new/closed tracking: Greenhouse · Lever · Workday · AI companies.