# 🇮🇳 Foundit (Monster) India Jobs Scraper (`hipersoft/foundit-scraper`) Actor

Scrape job listings from Foundit (formerly Monster) across India and the Gulf. Search any keyword and location and export one clean row per posting: job title, company, location, experience, salary, skills and the job URL as JSON, CSV or Excel.

- **URL**: https://apify.com/hipersoft/foundit-scraper.md
- **Developed by:** [hiper soft](https://apify.com/hipersoft) (community)
- **Categories:** Jobs
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.0015 / job scraped

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?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
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.
Actors are written with capital "A".

## 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.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## 🇮🇳 Foundit (Monster) India Jobs Scraper — Job Listings Across India & the Gulf

Scrape **job listings** from **Foundit** (foundit.in, formerly **Monster India**), a leading job board across India and the Gulf, into clean, structured **JSON, CSV or Excel**. Search any **keyword** and **location** — or paste a Foundit search URL — and pull every matching posting across technology, sales, finance, healthcare, operations and more, **one tidy row per job**: **job title, company, location, experience, salary, skills and the job URL**. Built for recruitment research, talent-market analysis, job aggregation and hiring automations.

### Features

- 🧑‍💼 **Every role and industry** — engineering, sales, finance, marketing, operations, healthcare and more, all from one Actor.
- 🔎 **Keyword search** — run one or many keywords at once (e.g. `developer`, `data scientist`, `sales manager`); each keyword runs its own search.
- 📍 **Location filter** — narrow to one or more cities such as `Bengaluru`, `Mumbai` or `Dubai`, or leave empty for everywhere.
- 🔗 **Paste-a-URL** — drop in a Foundit search link and the Actor reuses its keyword and location.
- 💰 **Experience & salary** — the required experience range and advertised salary come with every posting when available.
- 🧠 **Skills** — the listed skills for each role as a clean array.
- 🔗 **Direct job URL** — a ready-to-open link to each posting on Foundit.
- 📄 **Volume control** — set `maxItems` to balance coverage and cost.

### Input

```json
{
  "queries": ["developer", "data scientist"],
  "locations": ["Bengaluru"],
  "maxItems": 100
}
```

| Field | Description |
| --- | --- |
| `queries` | One or more keywords to search (each runs its own search). |
| `locations` | Optional. One or more locations to restrict every search to. Leave empty for all locations. |
| `startUrls` | Optional. Foundit search page URLs. Any keyword/location in the URL is used, in addition to `queries`. |
| `maxItems` | Maximum jobs to collect (0 = no limit). |
| `maxConcurrency` | How many requests to run in parallel. Leave at the default unless you have a reason to change it. |
| `proxyConfiguration` | Proxy settings. Not required by default. |

#### How to search

Enter one or more `queries` and run to collect matching jobs. Add `locations` to focus on specific cities, or leave it empty to search everywhere. Paste `startUrls` straight from your browser to reuse a search you built on the site. Set `maxItems` to control how much you collect.

### Use cases

- Track hiring demand and in-demand skills across India and the Gulf over time.
- Build and refresh a jobs dataset for talent-market and salary analysis.
- Monitor new postings for specific roles, skills, companies or locations.
- Aggregate jobs into your own job board or newsletter.
- Feed structured job records into a CRM, spreadsheet or analytics pipeline.

### What you get

Each job is one dataset record:

```json
{
  "jobId": 65621986,
  "title": "Scala Developer",
  "company": "Infosys Limited",
  "location": "Bengaluru, India",
  "experience": "5-7 Years",
  "salary": null,
  "skills": ["Scala", "Kafka", "Docker", "Python", "Akka"],
  "employmentType": "Full time",
  "industry": "Other",
  "postedDate": "2026-08-05T12:00:00.000Z",
  "url": "https://www.foundit.in/job/scala-developer-infosys-limited-bengaluru-bangalore-india-65621986",
  "applyUrl": "https://career.infosys.com/jobdesc?jobReferenceCode=INFSYS-EXTERNAL-252070",
  "sourceQuery": "developer"
}
```

| Field | Description |
| --- | --- |
| `jobId` | Unique Foundit job ID. |
| `title` | Job title / role. |
| `company` | Hiring company name (empty when the employer is confidential). |
| `location` | City / location for the role. |
| `experience` | Required experience range. |
| `salary` | Advertised salary (empty when not disclosed). |
| `skills` | Listed skills as an array. |
| `employmentType` | Full time, part time, contract, etc. |
| `industry` | The role's industry. |
| `postedDate` | When the job was posted (ISO 8601). |
| `url` | Direct link to the job posting on Foundit. |
| `applyUrl` | The employer's apply link when provided. |
| `sourceQuery` | The keyword that returned this job. |

### Export & integrate

Download results as **JSON, CSV or Excel**, or pull them from the Apify dataset API. Schedule the Actor to keep a fresh feed of India and Gulf jobs, or wire it into Make, Zapier and n8n for automated pipelines.

### FAQ

**Which jobs are covered?** Public job postings listed on Foundit across India and the Gulf.

**Can I get only certain roles or cities?** Yes — add keywords in `queries` and cities in `locations` to focus the results.

**In what formats can I export?** JSON, CSV and Excel, plus the Apify dataset API.

**Is a proxy required?** No. If you notice reduced results, enable Apify Residential proxy in the input.

**Does it collect personal or recruiter contact data?** No. The Actor only extracts public job-listing information (role, company, location, experience, salary, skills, link).

# Actor input Schema

## `queries` (type: `array`):

One or more job keywords to search on Foundit — for example 'developer', 'data scientist' or 'sales manager'. Each keyword runs its own search and the results are combined. Leave Start URLs empty to use this.

## `locations` (type: `array`):

Optional. Restrict every keyword search to one or more locations — for example 'Bengaluru', 'Mumbai' or 'Dubai'. Leave empty to search across all locations.

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

Optional. One or more Foundit search page URLs to scrape. Paste the URL straight from your browser (e.g. https://www.foundit.in/search/developer-jobs). When set, these are scraped in addition to any keywords.

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

Maximum number of jobs to collect across all searches (0 = no limit; collect everything the searches return).

## `maxConcurrency` (type: `integer`):

How many requests to run in parallel. Leave at the default unless you have a reason to change it.

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

Proxy settings. Not required by default. If you experience reduced results, enable Apify Residential proxy for the most reliable access.

## Actor input object example

```json
{
  "queries": [
    "developer"
  ],
  "maxItems": 100,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

The results as dataset items.

# 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 = {
    "queries": [
        "developer"
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("hipersoft/foundit-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 = { "queries": ["developer"] }

# Run the Actor and wait for it to finish
run = client.actor("hipersoft/foundit-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 '{
  "queries": [
    "developer"
  ]
}' |
apify call hipersoft/foundit-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hipersoft/foundit-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/Z4iemuPaEniLNQrNx/builds/lTcGhcX8cnoSgZqAo/openapi.json
