Foundit Monster India Jobs | 20 Fields, Monitor Mode avatar

Foundit Monster India Jobs | 20 Fields, Monitor Mode

Pricing

from $1.50 / 1,000 jobs

Go to Apify Store
Foundit Monster India Jobs | 20 Fields, Monitor Mode

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 $1.50 / 1,000 jobs

Rating

5.0

(1)

Developer

The Mine Works

The Mine Works

Maintained by Community

Actor stats

1

Bookmarked

593

Total users

187

Monthly active users

4 days ago

Last modified

Share

1,000 Foundit jobs in 16 seconds: a recorded run returned 1,000 all-India job listings in 15.9 seconds

From The Mine Works, makers of Threads Scraper and B2B Leads Finder, with nearly 139,000 runs across our actors. This actor ranks #1 for "monster india" and #2 for "foundit" in Apify Store search.

Foundit.in is the job board that used to be Monster India. It covers far more than tech: sales, operations, banking, healthcare, manufacturing and retail roles across every Indian city. This actor turns a Foundit search into clean rows you can sort, filter and load into a sheet or an ATS.

Why choose this actor?

  • 1,000 jobs from one search in about 16 seconds. On 30 Sep 2026 a run for "sales manager" across all India returned 1,000 listings in 15.9 seconds from 11 requests. It reads Foundit's own public search data, so there is no login, no cookie export and no browser to wait for.
  • Only new jobs on repeat runs. With monitorMode on, our second run skipped the 20 Mumbai accountant jobs it had already delivered and returned the next 20 new ones. You pay for new rows, not for the same feed every morning.
  • From $1.50 per 1,000 jobs, with no start fee. You are charged per job saved to your dataset and nothing else. Banner and ad rows that Foundit mixes into its results, the summary row, empty searches and failed pages are never charged.

Run it on Apify

Part of The Mine Works Jobs and hiring family: Hirist Jobs Scraper, India Jobs MCP, Naukri Jobs Scraper, Shine.com Jobs Scraper, Internshala Scraper, Instahyre Jobs Scraper.

Try it in one minute

Paste this into the JSON tab of the input page and press Start. It returns 10 Bangalore data analyst jobs in a few seconds.

{
"searchKeywords": ["data analyst"],
"location": "Bangalore",
"maxJobs": 10
}

The actor takes search keywords, not Foundit page links. Give one keyword or several in searchKeywords (a job title, a skill or a company name such as Deloitte all work), and optionally a city in location, or several cities separated by commas such as Bangalore,Mumbai. Leave location empty to search all of India.

Apify's free plan includes $5 of credit every month, which covers about 2,000 results at this actor's price.

Copy to your AI assistant

themineworks/foundit-jobs-scraper on Apify. It searches Foundit.in (formerly Monster India) by keyword and returns one row per job with title, company, location, experience range, skills, industry, function, applicant count, posting age and apply link. Call ApifyClient("TOKEN").actor("themineworks/foundit-jobs-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: searchKeywords (array of strings). Optional: location (string, blank means all India), experienceMinYears and experienceMaxYears (integers 0 to 30), salaryMinLakhs and salaryMaxLakhs (integers 0 to 100, annual CTC in lakhs), employmentType ("Full Time" or "Part Time"), postedWithinDays ("1", "3", "7", "15" or "30"), maxJobs (default 5, maximum 1000), includeJobDescription (default false), monitorMode (default false). Rows with a _type field are run summaries, not jobs. Full spec: GET https://api.apify.com/v2/acts/themineworks~foundit-jobs-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations

Key features

  • 18 fields on every job, plus the salary pair when the employer publishes it and 5 more description fields when includeJobDescription is on.
  • 7 filters applied by Foundit itself: keyword, city, minimum and maximum experience in years, minimum and maximum salary in lakhs, employment type, and posting age of 1, 3, 7, 15 or 30 days.
  • Many keywords in one run. Each keyword is searched on its own, then the results are merged and de-duplicated by Foundit's job ID, so a job that matches two keywords appears once and is charged once.
  • Up to 1,000 jobs per run, fetched 100 per page. A keyword stops after 40 pages or 3 pages in a row with nothing new.
  • Monitor mode remembers up to 50,000 job IDs you have already received and delivers only jobs you have not seen.
  • A summary row at the end of every run with jobs requested, jobs delivered, jobs charged and, in monitor mode, how many were skipped as already seen. It is never charged.

How to use it

Basic: one keyword, one city

{
"searchKeywords": ["python developer"],
"location": "Hyderabad",
"maxJobs": 100
}

Several keywords and cities at once

{
"searchKeywords": ["sales manager", "area sales manager", "key account manager"],
"location": "Mumbai,Pune,Ahmedabad",
"employmentType": "Full Time",
"maxJobs": 500
}

maxJobs is a cap across all keywords together, and keywords are worked through in order. If the first keyword alone has 500 matches, the later ones are not reached, so raise maxJobs or run broad keywords separately.

Daily new-job alerts for a city

{
"searchKeywords": ["accountant", "accounts executive"],
"location": "Mumbai",
"postedWithinDays": "1",
"maxJobs": 200,
"monitorMode": true
}

Save this as a task and schedule it daily, for example with the cron 0 7 * * *. The first run records a baseline. Every run after that delivers only jobs you have not received before, and the summary row tells you how many were skipped.

Salary benchmarking with disclosed pay only

{
"searchKeywords": ["sales manager"],
"salaryMinLakhs": 5,
"salaryMaxLakhs": 15,
"maxJobs": 300
}

Most Foundit employers do not publish pay. With a salary range set, Foundit only returns listings that carry one: in our test, 20 of 20 rows had salary_min_lakhs and salary_max_lakhs. Without the filter, only 9 of 1,000 rows did.

Watch one company's hiring

{
"searchKeywords": ["Deloitte"],
"maxJobs": 1000,
"monitorMode": true
}

A company name works as a keyword: our test returned 20 of 20 rows from Deloitte. Run it weekly and count new roles by functions and location to see where a competitor or client is building teams.

Fresher and early-career roles

{
"searchKeywords": ["customer support", "sales executive"],
"experienceMinYears": 0,
"experienceMaxYears": 1,
"postedWithinDays": "7",
"maxJobs": 200
}

experienceMinYears: 0 means freshers are welcome. Pair it with a short postedWithinDays for a weekly campus or entry-level digest.

Input parameters

ParameterTypeDefaultWhat it does
searchKeywordsarray of stringsnone (required)One or more keywords, such as a job title, skill or company name. Each is searched separately; results are merged and de-duplicated.
locationstringnone (all India)A city or region such as Bangalore or Delhi NCR. Separate several with commas: Bangalore,Mumbai.
experienceMinYearsinteger, 0 to 30noneMinimum years of experience. 0 means freshers.
experienceMaxYearsinteger, 0 to 30noneMaximum years of experience. Empty means no upper bound.
salaryMinLakhsinteger, 0 to 100noneMinimum annual CTC in lakhs of rupees. Setting either salary field keeps only listings that publish a salary.
salaryMaxLakhsinteger, 0 to 100noneMaximum annual CTC in lakhs of rupees.
employmentTypestring: Full Time or Part Timenone (both)Keep only full-time or only part-time roles.
postedWithinDaysstring: 1, 3, 7, 15 or 30none (any age)Keep only jobs posted within that many days.
maxJobsinteger, 1 to 1,0005Cap on jobs delivered across all keywords. Set it; the default is only 5.
includeJobDescriptionbooleanfalseAlso open each job's own page for the full description, responsibilities, qualifications and posting dates. One extra request per job.
monitorModebooleanfalseDeliver only jobs not delivered to you in an earlier run.
proxyConfigurationobject{"useApifyProxy": false}Leave it off. On 30 Sep 2026 Foundit refused a request through Apify's datacenter proxy, while the default direct connection returned 1,000 jobs.

The input form in the Apify Console starts with python developer, Bangalore, Full Time and the last 7 days filled in, so a run from the form without edits uses those. Runs started through the API or an AI assistant get only what you send, plus the defaults above.

What data do you get?

One row per job. Fields Foundit leaves empty for a job are left out of that row rather than sent as null.

The job: job_id, title, employment_type, location (one or more cities as Foundit lists them), industries, functions, skills.

The employer: company and Foundit's company_id, which stays the same across all of that company's listings.

Requirements and pay: experience_min_years, experience_max_years, salary_confidential, and salary_min_lakhs with salary_max_lakhs when the listing publishes pay.

Activity: total_applicants as Foundit reports it, is_urgently_hiring, posted_date_text (such as "5 days ago") and posted_days_ago as a number.

Links and timing: apply_url for the Foundit job page, and scraped_at.

With includeJobDescription on: description, responsibilities, qualifications, date_posted and valid_through, when Foundit serves the job page.

Run rows: every run ends with a _type: "summary" row and, when at least one job was delivered, a _type: "info" row. Neither is charged. Filter on _type to keep only jobs.

A few things we saw in 1,000 rows on 30 Sep 2026, so you can plan for them:

  • Pay figures were present on 9 of 1,000 rows. Use a salary filter when pay matters.
  • salary_confidential is Foundit's own flag and does not track whether figures are shown: it was false on 995 rows, and one row flagged true still carried figures. Check salary_min_lakhs instead.
  • 660 of 1,000 rows had 0 for both experience fields, which is how Foundit shows "not stated".
  • is_urgently_hiring was false on all 1,000 rows.
  • skills was an empty list on 77 rows and industries on 16.

Stable fields for automations

These 15 fields were present in every one of the 1,000 rows we sampled. Their names will not change, so a Sheet, Zap, Make scenario or n8n flow can map to them safely.

FieldWhat it is
job_idFoundit's job ID. Use it as the unique key.
titleJob title as posted
companyEmployer or recruiter name
company_idFoundit's company ID, shared by all of that company's jobs
locationCity or cities, as listed
experience_min_yearsMinimum experience in years (0 with a max of 0 means not stated)
experience_max_yearsMaximum experience in years
employment_typeFor example Full time
industriesList of industry tags, can be empty
functionsList of functional area tags
skillsList of skill tags, can be empty
posted_days_agoWhole days since the job was posted
total_applicantsApplicant count shown by Foundit
apply_urlLink to the job on foundit.in
scraped_atWhen the row was collected, ISO 8601 in UTC

Output examples

Real rows from our 30 Sep 2026 test runs, shown in full unless marked.

A banking role from an all-India search

{
"job_id": "66335658",
"title": "Area Sales Manager, AS",
"company": "Deutsche Bank",
"company_id": "441951",
"location": "Delhi, India",
"experience_min_years": 10,
"experience_max_years": 12,
"salary_confidential": false,
"employment_type": "Full time",
"industries": ["Banking/Accounting/Financial Services"],
"functions": ["Banking"],
"skills": ["AI tools", "Client Handling", "Team Handling", "Sales"],
"posted_date_text": "20 days ago",
"posted_days_ago": 20,
"total_applicants": 10,
"is_urgently_hiring": false,
"apply_url": "https://www.foundit.in/job/area-sales-manager-as-deutsche-bank-delhi-india-66335658",
"scraped_at": "2026-09-29T22:43:13.676Z"
}

A row from a salary-filtered search (5 to 15 lakhs), with pay figures

{
"job_id": "69129281",
"title": "Regional Sales Manager",
"company": "Socnet Technologies Private Limited",
"company_id": "1224540",
"location": "Bengaluru, Delhi NCR, Mumbai",
"experience_min_years": 3,
"experience_max_years": 8,
"salary_confidential": false,
"salary_min_lakhs": 5,
"salary_max_lakhs": 10,
"employment_type": "Full time",
"industries": [],
"functions": ["Others"],
"skills": ["Medical Device Sales"],
"posted_date_text": "2 days ago",
"posted_days_ago": 1,
"total_applicants": 37,
"is_urgently_hiring": false,
"apply_url": "https://www.foundit.in/job/regional-sales-manager-socnet-technologies-private-limited-bengaluru-bangalore-delhi-ncr-mumbai-69129281",
"scraped_at": "2026-09-29T22:46:10.143Z"
}

A Pune data analyst role, 2 to 6 years, posted in the last 7 days (skills list trimmed from 16)

{
"job_id": "68629578",
"title": "Senior Data Analyst",
"company": "Druva",
"company_id": "510141",
"location": "Pune, India",
"experience_min_years": 5,
"experience_max_years": 7,
"salary_confidential": false,
"employment_type": "Full time",
"industries": ["Other"],
"functions": ["Data Security"],
"skills": ["Salesforce", "Looker", "dbt", "snowflake", "Tableau", "Sql", "Python"],
"posted_date_text": "5 days ago",
"posted_days_ago": 5,
"total_applicants": 31,
"is_urgently_hiring": false,
"apply_url": "https://www.foundit.in/job/senior-data-analyst-druva-pune-india-68629578",
"scraped_at": "2026-09-29T22:43:49.230Z"
}

A search for 2 to 6 years returns jobs whose range overlaps it, which is why a 5 to 7 year role appears.

The summary row from a second monitor-mode run

{
"_type": "summary",
"keywords_searched": ["accountant"],
"location": "Mumbai",
"jobs_requested": 20,
"jobs_scraped": 20,
"jobs_failed": 0,
"charged_for": 0,
"monitor": true,
"monitor_degraded": false,
"previously_seen": 20,
"new_this_run": 20,
"skipped_duplicates": 20,
"scraped_at": "2026-09-29T22:44:43.272Z"
}

This run skipped the 20 jobs delivered the run before and returned 20 new ones. charged_for reads 0 only because this test ran on our own machine outside Apify billing; on Apify it equals the number of jobs charged.

Pricing

Pay per event: you are charged for each job saved to your dataset. The price drops as your Apify plan goes up.

EventFree planBronze (Starter)Silver (Scale)Gold and above (Business)
job-scraped, per job$0.0025$0.002$0.00175$0.0015
Per 1,000 jobs$2.50$2.00$1.75$1.50
  • Start fee: none. This actor has no per-run or per-memory start charge. You also pay nothing for platform compute on top of the job price.
  • Never charged: Foundit's banner and ad rows (dropped before they reach your dataset), jobs already delivered in monitor mode, duplicate jobs found under two keywords, the summary, info and error rows, empty searches and failed pages.
  • Spending cap: if you set a maximum cost per run in Apify, the actor stops adding jobs once that budget is used, so you never receive rows you were not charged for and never pay past your cap.
  • No price change is scheduled. The current prices have applied since 12 Aug 2026.

Worked examples on the Free plan: 100 jobs cost $0.25, and a full 1,000-job run costs $2.50. On Gold, the same 1,000 jobs cost $1.50.

FAQ

What is Foundit? Foundit.in is the Indian job board formerly called Monster India. Its listings lean towards mainstream employers and roles: sales, banking and finance, operations, healthcare, retail and manufacturing, as well as IT.

How many jobs can I get? Up to 1,000 per run. For more, split the work: one run per city, per keyword or per experience band. Within a run, each keyword stops after 40 pages of 100.

How fresh is the data? Each run reads Foundit live at the moment it starts. There is no cache. posted_days_ago tells you how old each listing is, and postedWithinDays filters on it.

Do I need a Foundit account, cookies or an API key? No. The actor reads the same public search results any visitor sees, with no login. You only need an Apify account.

Do I need a proxy? No, and we suggest you leave it off. The actor connects directly by default. In our 30 Sep 2026 test, a request through Apify's datacenter proxy was refused while the direct connection worked.

Why do most jobs have no salary? Most Foundit employers do not publish pay. In 1,000 unfiltered rows, 9 had figures. Set salaryMinLakhs or salaryMaxLakhs and Foundit returns only listings that show a salary.

How do I get the full job description? Set includeJobDescription to true. The actor then opens each job's own page, one extra request per job, and adds description, responsibilities, qualifications, date_posted and valid_through. Foundit does not always serve those pages: in our 30 Sep 2026 test from our own machine it refused them, and the jobs arrived with their search fields only. The price per job is the same either way, so try it on a run of 10 first.

What happens if Foundit blocks a run? The run stops and adds a _type: "error" row saying why, instead of retrying for a long time. Jobs already delivered stay in your dataset. Try again later; the 35 scheduled check runs we made on Apify between 30 Aug and 26 Sep 2026 all succeeded.

How does monitor mode decide what is new? It keeps a list of the job IDs it has delivered to your Apify account, up to 50,000, and skips any job on that list. The list is shared by every run of this actor on your account, whatever the input, so a job received from one saved task is skipped in another. If the list cannot be read, that run delivers everything and the summary row shows monitor_degraded: true.

Can I run it on a schedule? Yes. Save your input as a task, then add a schedule in Apify Console under Schedules, for example daily at 07:00. Turn on monitorMode so each run brings only new jobs.

Which formats can I export? JSON, CSV, Excel, XML, RSS or HTML from the run's Storage tab, or through the Apify API. In CSV and Excel, list fields such as skills are split into numbered columns (skills/0, skills/1 and so on).

Can I use it from Claude, ChatGPT or another AI assistant?

  • Connector URL: https://mcp.apify.com/?tools=themineworks/foundit-jobs-scraper.
  • Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
  • ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
  • Cursor or VS Code: add it as an HTTP MCP server with that URL.
  • Claude Code: claude mcp add -t http foundit-jobs-scraper "https://mcp.apify.com/?tools=themineworks/foundit-jobs-scraper".

Is it legal to scrape Foundit? The actor collects only public job listings, the same pages anyone can view without logging in. It collects nothing about job seekers. You are responsible for how you use the data, including Foundit's terms and data protection law such as GDPR, CCPA and India's DPDP Act. This is general information, not legal advice.

Integrations

  • Google Sheets: send each run's dataset to a sheet with Apify's Google Sheets integration.
  • Make, Zapier and n8n: start a run and read the jobs with the official Apify modules and nodes.
  • Webhooks: have Apify call your URL when a run finishes, then fetch the dataset.
  • API: start runs and read results over HTTP, or with the Python and JavaScript clients.
  • MCP clients: Claude, ChatGPT, Cursor and other MCP clients can call the actor through https://mcp.apify.com.

More from The Mine Works

Jobs and hiring

Social media and video

Leads and business directories

Marketing, SEO and reviews

LinkedIn

Real estate

Science, health and government data

E-commerce and marketplaces

Company and business data

Food and local services

Developer and AI tools

More tools

Support

Found a bug or need a field we do not return? Open an issue in the Issues tab. Want a job board or data source we do not cover yet? Email dmineworks@gmail.com.

Foundit Jobs Scraper turns any Foundit.in search into clean, de-duplicated job rows across all of India, with new-job monitoring and pay per job from $1.50 per 1,000.