# Foundit Jobs Scraper (`automly/foundit-jobs-scraper`) Actor

Scrape Foundit (formerly Monster India) job listings by keyword, city and filters, or from any foundit.in link: title, company, salary, experience, skills, industry, applicants, posted date, apply link and full description.

- **URL**: https://apify.com/automly/foundit-jobs-scraper.md
- **Developed by:** [Automly](https://apify.com/automly) (community)
- **Categories:** Jobs, Lead generation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.19 / 1,000 job with details

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Foundit Jobs Scraper

### What is Foundit Jobs Scraper?

**Foundit Jobs Scraper** is a tool that lets you **scrape job listings from foundit.in** (formerly Monster India): job title, company, location, experience range, salary, skills, industry, department, applicants, views, posting and closing dates, the employer's own apply link and the full job description. Search by keyword and city with Foundit's own filters, or paste any Foundit link, click **Start**, and download the jobs as Excel, CSV or JSON.

- ⚡ **Fast:** 1,000 jobs from a search in about 25 seconds, or 500 jobs with every detail in about a minute (our tests)
- 🔎 **Whole searches:** searches with more jobs than Foundit shows in its own result pages come back (nearly) whole
- 🧹 **Clean data:** salary and experience as numbers, dates as real dates, skills and locations as lists
- 🔓 **No login:** no Foundit account needed
- 🛡️ **No personal contact data:** recruiter names and phone numbers are left out

### What can Foundit Jobs Scraper do?

- **Scrape Foundit job search results** for any keyword, like `python developer`, `data analyst` or `sales manager`
- **Scrape Foundit jobs by city**: Bengaluru, Mumbai, Delhi, Pune, Hyderabad, Chennai or anywhere in India
- **Filter Foundit jobs** by how recently they were posted and by your years of experience, newest first or by relevance
- **Scrape from Foundit links**: search result pages with any filters you set on the site, and single job pages
- **Monitor new Foundit jobs** daily with "Posted within: last 1 day" and a schedule
- Export to Excel, CSV, JSON, HTML or XML, or send the data to Google Sheets, Make, Zapier and more

### What data can you extract from Foundit?

| | | |
|---|---|---|
| 💼 Job title and link | 🏢 Company name, logo and jobs page | 📝 Full job description |
| 📍 Cities | 🎓 Experience range in years | 💰 Salary range in INR (when shown) |
| 🛠️ Skills | 🏭 Industries | 🗂️ Departments and roles |
| 📜 Employment and job type | 📅 Posted, updated and closing dates | 👥 Applicants and views |
| 🔗 Employer's own apply link | 🚶 Walk-in and urgent hiring flags | ℹ️ About the company |

### How to scrape Foundit jobs

1. [Create a free Apify account](https://console.apify.com/sign-up).
2. Open **Foundit Jobs Scraper**.
3. Enter search keywords and a city, or paste Foundit links, one per line.
4. Pick filters if you like, and set how many jobs you want per search.
5. Click **Start**, then download the jobs as Excel, CSV, JSON or HTML.

### How much does it cost to scrape Foundit jobs?

You pay per job saved, and a job with full details (the default) costs a little more than a job from the result list alone (with **Include full details** turned off). The **Pricing** tab shows the exact price per 1,000 jobs on your Apify plan, with lower prices on paid plans. Platform usage is included, so you pay nothing else for the run.

Every Apify account gets **$5 of free usage each month**, which is plenty to try the scraper on real searches. **Max jobs per search or link** keeps the cost of a run under control, and you can also set a maximum cost per run.

### ⬇️ Input

| Setting | What it does |
|---|---|
| **Search keywords** | Job titles, skills or companies to search for, like `python developer` |
| **Location** | City for the keyword searches, like `Bengaluru` or `Pune, Mumbai`. Empty for all of India |
| **Foundit links** | Search result pages (`https://www.foundit.in/srp/results?query=java&locations=pune`, or `https://www.foundit.in/search/python-jobs-in-bengaluru`) and single job pages |
| **Max jobs per search or link** | How many jobs to save for each keyword or link (default 100). Set 0 for every matching job |
| **Include full details** | On by default: adds the full description, company profile, views and every city. Turn off for a faster, cheaper list |
| **Sort by** | Relevance (default) or newest first |
| **Posted within** | Last 1, 3, 7, 15 or 30 days |
| **Experience (years)** | Only jobs open to someone with this many years (0 for freshers) |
| **Proxy configuration** | The default works for most runs |

Python jobs in Bengaluru posted in the last 7 days, newest first:

```json
{
  "keywords": ["python developer"],
  "location": "Bengaluru",
  "postedWithin": "7",
  "sortBy": "date",
  "maxItems": 200
}
```

A search page copied from Foundit with its filters, and every job it lists:

```json
{
  "startUrls": ["https://www.foundit.in/srp/results?query=data%20analyst&locations=mumbai&experienceRanges=2~5"],
  "maxItems": 0
}
```

Fresher jobs across India, list only:

```json
{
  "keywords": ["software engineer", "business analyst"],
  "experience": 0,
  "includeDetails": false,
  "maxItems": 1000
}
```

### ⬆️ Output

Every job is one row. A job with full details:

```json
{
  "jobId": "69460636",
  "url": "https://www.foundit.in/job/sr-java-developer-thermo-fisher-scientific-bengaluru-bangalore-india-69460636",
  "title": "Sr Java Developer",
  "companyName": "Thermo Fisher Scientific",
  "companyId": "203973",
  "companyJobsUrl": "https://www.foundit.in/search/thermo-fisher-scientific-203973-jobs-career",
  "companyLogo": null,
  "companyDescription": null,
  "companyIndustries": ["Recruitment/Staffing/RPO"],
  "location": "Bengaluru / Bangalore",
  "locations": ["Bengaluru / Bangalore"],
  "experienceMin": 5,
  "experienceMax": 7,
  "salaryMin": null,
  "salaryMax": null,
  "salaryCurrency": null,
  "salaryDisclosed": false,
  "employmentTypes": ["Full time"],
  "jobTypes": ["Permanent Job"],
  "industries": ["Other"],
  "departments": ["Systems Development"],
  "roles": [],
  "skills": ["Test-driven development", "Web API development", "DevOps practices", "Microservices architecture", "CI/CD pipelines"],
  "postedAt": "2026-10-13T03:47:27Z",
  "updatedAt": "2026-10-13T03:47:27Z",
  "closesAt": "2026-11-11T18:30:00Z",
  "applicants": 44,
  "views": 44,
  "walkIn": false,
  "urgentlyHiring": false,
  "applyUrl": null,
  "descriptionText": "Work Schedule\n\nOther\n\nEnvironmental Conditions\n\nOffice\n\nSummarized Purpose:\n\nJoin our team at Thermo Fisher Scientific, where you'll help shape the future of...",
  "descriptionHtml": "<strong>Work Schedule<br/><br/></strong>...",
  "source": "java developer",
  "scrapedAt": "2026-10-15T09:48:20Z"
}
```

Salaries are in rupees a year. Many employers on Foundit hide the salary: then `salaryDisclosed` is false and the numbers are empty. The **Overview** tab shows the main fields as a table; every field is in the downloads. The run report lists how many jobs Foundit has for each search and how many were saved, and names any job link that is no longer on Foundit.

### Which fields need full details?

| Field | List only | With full details |
|---|---|---|
| Title, company, city, experience, salary, skills, industries, departments, posting date, applicants, apply link | ✅ | ✅ |
| Full description | | ✅ |
| About the company, company industries | | ✅ |
| Views, every city of the job | | ✅ |

### How can I use Foundit data?

- **Job market research:** demand for skills, roles and cities across India, and how it changes week to week
- **Salary benchmarking:** published salary ranges by role, experience and city
- **Recruitment and staffing:** find companies hiring for the roles you place
- **Lead generation for HR tech and training:** companies hiring in volume, by industry
- **Job boards and aggregators:** fresh Indian job listings with clean, structured fields
- **Career planning:** which skills employers ask for in a role

### How many jobs can I get?

Practically every job a search matches. Foundit shows at most 9,600 jobs for one search, so the scraper splits bigger searches by years of experience and drops the repeats: a Python search in Bengaluru with 9,762 jobs gave 9,758 in our tests with **Max jobs** set to 0. Very broad searches (tens of thousands of jobs, like every job in India) come back nearly whole, and the run report names any part Foundit cut short. A job that turns up in two of your searches is saved once.

### Scrape more India jobs data

| Actor | What it gets |
|---|---|
| [Naukri Scraper](https://apify.com/automly/naukri-jobs-scraper) | Naukri.com jobs with salaries, company ratings, skills and full descriptions |
| [Internshala Scraper](https://apify.com/automly/internshala-scraper) | Internshala internships and fresher jobs with stipends, perks and applicants |
| [Instahyre Jobs Scraper](https://apify.com/automly/instahyre-jobs-scraper) | Instahyre tech jobs with experience ranges and company profiles |
| [CutShort Jobs Scraper](https://apify.com/automly/cutshort-jobs-scraper) | CutShort tech jobs with salary ranges, skills and company details |
| [LinkedIn Jobs Scraper](https://apify.com/automly/linkedin-jobs-scraper) | LinkedIn job listings with salaries, company info and descriptions |

### ❓FAQ

#### How much does it cost to scrape Foundit?

You pay per job saved; the **Pricing** tab shows the price per 1,000 jobs on your plan. Platform usage is included, and **Max jobs per search or link** keeps every run's cost under control.

#### Can I scrape Foundit jobs from a link I copied?

Yes. Paste any Foundit search result page, with the filters you set on the site, or a single job page into **Foundit links**. Filters you set in the input are added to a link that does not already have them.

#### Can I get only new jobs every day?

Yes. Set **Posted within** to the last 1 day and **Sort by** to newest first, and run the scraper on a schedule.

#### Do I need a Foundit account?

No. The scraper gets the same public job listings anyone can see on Foundit without signing in. It does not collect recruiter names, phone numbers or job seekers' data, and it removes email addresses and phone numbers written into job descriptions.

#### What happens with a job that was taken down or a wrong link?

The run goes on with the other inputs, and the run report names the job links that are no longer on Foundit. A link that is not a Foundit search or job page is named in the error message before the run starts.

#### Can I connect Foundit Jobs Scraper to other tools or AI agents?

Yes. Start runs and download results with the Apify API or the Python and JavaScript clients, send results to Make, Zapier, n8n, Google Sheets or Slack with Apify integrations and webhooks, or let AI assistants and agents run it through the Apify MCP server at [mcp.apify.com](https://mcp.apify.com). For example, ask an agent for "Python developer jobs in Pune posted this week" and it runs `{"keywords": ["python developer"], "location": "Pune", "postedWithin": "7"}`.

#### Is it legal to scrape Foundit?

This scraper only collects public job listings that anyone can see on Foundit without signing in. Personal data may be protected by laws such as GDPR and India's data protection law, so only use the data for a legitimate reason and ask a lawyer if you are unsure. You can read more in [Is web scraping legal?](https://blog.apify.com/is-web-scraping-legal/)

Foundit Jobs Scraper is an independent tool. It is not affiliated with, endorsed by or sponsored by Foundit or Quess Corp.

#### Something isn't working?

Open an issue in the **Issues** tab with your input and what you expected. We read every one and usually reply within a day.

### ⭐ Your feedback

Have an idea or found a problem? Tell us in the **Issues** tab. If Foundit Jobs Scraper saved you time, a short review on the **Reviews** tab helps other people find it.

# Actor input Schema

## `keywords` (type: `array`):

Job titles, skills or companies to search Foundit for, one per line, e.g. python developer, data analyst, sales manager.

## `location` (type: `string`):

City in India for the keyword searches, e.g. Bengaluru, Mumbai or Pune. Several cities: separate them with commas. Leave empty for all of India.

## `startUrls` (type: `array`):

Paste foundit.in links in any mix, e.g. search result pages (foundit.in/srp/results?query=java\&locations=pune, with any filters you set on the site, or foundit.in/search/python-jobs-in-bengaluru) and single job pages (foundit.in/job/...).

## `maxItems` (type: `integer`):

How many jobs to save for each keyword, city or link, e.g. 100. Set 0 for every matching job.

## `includeDetails` (type: `boolean`):

Adds the full job description, company profile, views and every location to each job. Turn off for a faster, cheaper list with the main fields.

## `sortBy` (type: `string`):

Order in which jobs are collected: relevance (the site's default) or date (newest first).

## `postedWithin` (type: `string`):

Only jobs posted in this period, e.g. 7 for the last week.

## `experience` (type: `integer`):

Only jobs open to someone with this many years of experience, e.g. 3 (0 for freshers).

## `proxyConfiguration` (type: `object`):

Apify Proxy works out of the box.

## Actor input object example

```json
{
  "keywords": [
    "python developer"
  ],
  "location": "Bengaluru",
  "maxItems": 30,
  "includeDetails": true,
  "sortBy": "relevance",
  "postedWithin": "any",
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `jobs` (type: `string`):

No description

## `results` (type: `string`):

No description

## `report` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "keywords": [
        "python developer"
    ],
    "location": "Bengaluru",
    "maxItems": 30,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("automly/foundit-jobs-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "keywords": ["python developer"],
    "location": "Bengaluru",
    "maxItems": 30,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("automly/foundit-jobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "keywords": [
    "python developer"
  ],
  "location": "Bengaluru",
  "maxItems": 30,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call automly/foundit-jobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,automly/foundit-jobs-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/GNuPdCBaxpa9ZEKNa/builds/iBkYbNpftIHxmwEc5/openapi.json
