Foundit Monster India Jobs — 20 Fields, Monitor Mode
Pricing
from $0.90 / 1,000 jobs
Foundit Monster India Jobs — 20 Fields, Monitor Mode
Scrape Foundit.in (formerly Monster India) job search by keyword, city, experience, salary and job-freshness. Structured JSON: title, company, salary, skills, industry, apply URL. No login, plain HTTP, pay per job. Works in Claude, ChatGPT & any MCP AI agent.
Pricing
from $0.90 / 1,000 jobs
Rating
0.0
(0)
Developer
The Mine Works
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
💼 Foundit (Monster India) Jobs Scraper — Salary & Skills
Part of the Recruiting & Jobs MCP. This actor's data is also available to AI agents through our Recruiting & Jobs MCP server — seven job-market and sourcing tools behind one endpoint. No result, no charge.
Overview
Foundit.in (rebranded from Monster India in 2023) is one of India's oldest and largest broad-market job boards, spanning IT, sales, operations, BFSI, manufacturing, and government-adjacent roles. This actor turns any Foundit search into structured jobs data — feed it keywords like python developer or sales manager, filter by city, experience band, salary, employment type, and posting freshness, and get clean JSON rows with title, company, experience range, disclosed salary, skills, industry, and the apply URL.
✅ No login required | ✅ Plain HTTP (no browser, no residential proxy needed) | ✅ Pay per job returned | ✅ MCP-ready for AI agents
How it works
Foundit's search results page is powered by its own public search API (/middleware/jobsearch) — the same endpoint the website's front end calls. The actor calls it directly: no login, no cookies, no session warm-up. The one requirement is a same-origin Referer header, which the actor sets automatically. Because this is a plain, unauthenticated JSON endpoint, the actor runs as pure HTTP — no headless browser, no residential proxy tax. Verified live: dozens of sequential requests from a plain datacenter connection with zero blocks or captchas.
Filters are passed straight through to Foundit as query facets, so Foundit does the filtering server-side: experience as a min~max year range, salary as an absolute-INR range (the actor converts your lakh inputs automatically), employment type, and posting freshness in days.
The search response does not include the full job description — only a summary. When includeJobDescription is enabled, the actor fetches each job's own detail page (one extra request per job) and reads the clean schema.org JobPosting JSON-LD block embedded in it, carrying the full description, responsibilities, qualifications, and structured posting/expiry dates.
Each keyword is searched separately; results are merged and deduplicated by Foundit's internal job ID.
🧾 Input configuration
{"searchKeywords": ["python developer", "data analyst"],"location": "Bangalore","experienceMinYears": 2,"experienceMaxYears": 6,"employmentType": "Full Time","postedWithinDays": "7","maxJobs": 200,"includeJobDescription": false}
| Field | Description |
|---|---|
searchKeywords | One or more keywords, searched separately and merged |
location | City or comma-separated cities (e.g. Bangalore,Mumbai); blank = all India |
experienceMinYears / experienceMaxYears | Years of experience band |
salaryMinLakhs / salaryMaxLakhs | Annual CTC in ₹ lakhs (most listings mark salary confidential — see FAQ) |
employmentType | Full Time or Part Time |
postedWithinDays | 1, 3, 7, 15, or 30 |
maxJobs | Cap on total jobs returned across all keywords (max 1000) |
includeJobDescription | Fetch each job's full description (adds one request per job) |
monitorMode | Deliver only new jobs vs. the previous run (see below) |
proxyConfiguration | Optional; off by default — the search API works over plain datacenter traffic |
📤 Output format
{"job_id": "60809368","title": "Full stack (Python) Developer - Software Engineer II","company": "Deloitte","location": "Bengaluru, India","experience_min_years": 3,"experience_max_years": 5,"salary_confidential": false,"salary_min_lakhs": null,"salary_max_lakhs": null,"employment_type": "Full time","industries": ["Other"],"functions": ["Software Engineering"],"skills": ["PostgreSQL", "Redis", "Git", "Docker", "Flask", "FastAPI", "react.js", "Python"],"posted_date_text": "a day ago","posted_days_ago": 1,"total_applicants": 46,"is_urgently_hiring": false,"apply_url": "https://www.foundit.in/job/full-stack-python-developer-software-engineer-ii-deloitte-bengaluru-bangalore-india-60809368"}
Every job record contains these fields:
| Field | Description |
|---|---|
🆔 job_id | Foundit internal job ID |
📌 title | Job title |
🏢 company | Company / recruiter-listed name |
📍 location | Job location(s) as listed on Foundit |
⌛ experience_min_years / experience_max_years | Years of experience required |
💰 salary_confidential | True if the employer hid salary (most listings) |
💵 salary_min_lakhs / salary_max_lakhs | Disclosed salary in ₹ lakhs (null if confidential) |
🏠 employment_type | Full time or part time |
🏭 industries / functions | Industry and functional-area tags |
🛠️ skills | Tagged skills as an array |
🗓️ posted_date_text / posted_days_ago | Relative and numeric posting age |
👥 total_applicants | Applicant count Foundit reports |
🔗 apply_url | URL to the Foundit job detail / apply page |
📝 description, responsibilities, qualifications, date_posted, valid_through | Only populated when includeJobDescription: true |
One more row at the end of every run: every run also ends with a final _type: "info" record — informational only, never billed — with a two-line nudge: how to put this actor on an automatic schedule, and a link to leave a Store review if it saved you time.
💼 Common use cases
Compensation & role benchmarking — pull every mid-level analyst role in a city and track how experience bands map to disclosed salary where employers choose to publish it.
Competitor hiring intelligence — track how many roles a company has open on Foundit, in which functions, and how urgently they're marked as hiring.
Talent sourcing — feed roles into an ATS or sourcing tool, or build a jobs digest for a specific function (finance ops, sales, customer support) refreshed daily.
Jobs board & aggregator — power a niche jobs site or newsletter with fresh Foundit listings pulled by keyword, city, or industry.
🚀 Getting started
- Open the actor and add one or more search keywords (
python developer,sales manager). - Set a location (
Bangalore,Mumbai,Delhi NCR) or leave blank for all India. - Optionally add experience, salary, employment-type, and freshness filters.
- Set max jobs to return.
- Click Start. Download as JSON, CSV, or Excel, or pull the dataset via API or MCP.
🔁 Run on a schedule
Turn this from a one-off pull into a standing feed with Apify's built-in Schedules — no code, no cron server of your own.
- Run the actor once with the input you want repeated, then click Save as a task (top of the run form) — this keeps your exact input attached for every future run.
- In the Apify Console, go to Schedules → Create new, pick a frequency (preset or cron, e.g.
0 6 * * *for daily at 6am). - Under Actors or tasks to run, add the task from step 1, and save. It now runs unattended, billed the same pay-per-job way as a manual run.
Or automate the setup itself via the API:
curl -X POST "https://api.apify.com/v2/schedules?token=YOUR_TOKEN" \-H "Content-Type: application/json" \-d '{"name":"foundit-jobs-daily","cronExpression":"0 6 * * *","isEnabled":true,"actions":[{"type":"RUN_ACTOR","actorId":"themineworks/foundit-jobs-scraper"}]}'
Full options — time zones, run notifications, pausing — are in Apify's Schedules documentation.
Monitor mode — pay only for NEW jobs
Set monitorMode: true and the actor remembers what it delivered last time (keyed on job_id) — on the next scheduled run, only genuinely new jobs are pushed and charged, not the whole feed every time. Pairs directly with a daily schedule for a standing "what's new" feed with no duplicate charges. The summary row reports new_this_run and skipped_duplicates. First run establishes the baseline (everything is "new"); every run after that is incremental.
FAQ
Does it log in to Foundit? No. The actor calls Foundit's own public search API directly, the same one the website's front end uses. No account, no cookies, no captcha.
Why is salary_min_lakhs null on most jobs?
Foundit lets employers mark salary "confidential", and most listings do — salary_confidential: true flags those rows. Numeric salary only appears when the employer chose to disclose it. This mirrors what you'd see browsing the site directly.
Does it need a residential proxy like Naukri?
No. Foundit's search endpoint is unauthenticated and worked over plain datacenter connections in extensive testing, with no blocks. A proxyConfiguration input is still available if you scale up volume and want the option, but it's off by default to keep runs cheap.
How do I get the full job description?
Set includeJobDescription: true. This fetches each job's own detail page and reads its embedded structured data — one extra request per job, so it's off by default for speed.
Can I use it in an AI agent? Yes. It's exposed as an MCP tool. See below.
Use in Claude, ChatGPT & any MCP agent
https://mcp.apify.com/?tools=themineworks/foundit-jobs-scraper
Or call it programmatically with the Apify client:
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'YOUR_APIFY_TOKEN' });const run = await client.actor('themineworks/foundit-jobs-scraper').call({searchKeywords: ['python developer'],location: 'Bangalore',maxJobs: 100,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(items);
🛠️ Complete your hiring intelligence pipeline
Found the roles. Now enrich and act on them with the rest of the suite:
- Naukri Jobs Scraper: cross-reference the same role against India's largest job board for salary and demand comparison.
- LinkedIn Company Scraper: profile the hiring company: size, industry, HQ.
- LinkedIn Employees Scraper: find the recruiters and hiring managers at any of the companies.
Typical flow: foundit-jobs surfaces broad-market roles, linkedin-company-details profiles the employer, linkedin-employees finds the hiring team.
Questions or need a custom field set? Reach out through the Apify profile.