# IIMJobs Scraper – MBA, Finance & Management Jobs India (`data_daemon/iimjobs-jobs-scraper`) Actor

Scrape IIMJobs.com management, finance, consulting and MBA jobs by keyword, city, experience and freshness. Full job description, salary (LPA), skills, applicant count, recruiter name & last-active date, AmbitionBox rating. No login, no proxy, pay per job.

- **URL**: https://apify.com/data\_daemon/iimjobs-jobs-scraper.md
- **Developed by:** [Daemon Data](https://apify.com/data_daemon) (community)
- **Categories:** Jobs, Business, MCP servers
- **Stats:** 3 total users, 2 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.00 / 1,000 jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## IIMJobs Scraper – MBA, Finance & Management Jobs India

Scrape **IIMJobs.com**, India's leading job board for management, finance, consulting, sales and MBA roles, into clean JSON. Search by keyword, filter by city, experience range and posting freshness, and get every field the site shows plus the ones it hides in its API: **full job description**, **salary in LPA** (when disclosed), mandatory vs optional **skills**, **applicant count**, **views**, **recruiter name and last-active date**, and the company's **AmbitionBox rating**.

No login, no cookies, no proxy, no browser. Runs in seconds and you pay only per job returned.

### Why this scraper

- **Full descriptions included.** Most IIMJobs scrapers only return the search card. This one fetches the detail record for every job, so you get the complete JD as HTML and as plain text.
- **Recruiter activity.** `recruiter.lastActive` tells you whether the posting is actually being worked. Great for filtering stale listings.
- **Applicant and view counts** show competition per role.
- **Salary in LPA** whenever the recruiter disclosed it, with an explicit `salaryHidden` flag otherwise.
- **114 locations** understood, from Bangalore to Remote to "Anywhere in India".
- **Cheap and fast.** Pure JSON API calls, ~20 jobs per request, typically 100 jobs in well under a minute.

### Who uses it

- Recruiters and staffing agencies tracking competitor postings and salary bands.
- HR-tech and job-aggregator products that need a reliable Hirist feed.
- Job seekers building personal alert bots.
- Market researchers analysing India management and finance hiring by function, city and experience.
- AI agents – works as an MCP tool, so an agent can answer "find remote senior Python roles posted this week with disclosed salary".

### Input

```json
{
    "queries": ["product manager", "investment banking"],
    "locations": ["Bangalore", "Remote"],
    "minExperience": 3,
    "maxExperience": 8,
    "postedWithinDays": 7,
    "includeDescription": true,
    "maxJobsPerQuery": 200
}
```

| Field | Type | Description |
| --- | --- | --- |
| `queries` | array | Search keywords. One search per keyword, results de-duplicated. Required. |
| `locations` | array | Optional city names (`Bangalore`, `Mumbai`, `Pune`, `Remote`, `Anywhere in India`, …). Substring match on the job's locations. |
| `minExperience` / `maxExperience` | integer | Experience range in years. |
| `postedWithinDays` | integer | Only jobs posted in the last N days. |
| `includeDescription` | boolean | Fetch the full description and recruiter details for each job (default `true`). |
| `maxJobsPerQuery` | integer | Stop paginating a keyword after this many new jobs (default 200). |
| `maxJobs` | integer | Hard cap for the whole run. |
| `site` | string | `iimjobs` (default) or `hirist`. The same Actor can also read Hirist.tech. |

### Output

One record per job:

```json
{
    "id": 1667749,
    "site": "iimjobs",
    "url": "https://www.hirist.tech/j/intellect-design-arena-python-lead-architect-aws-azure-1667749",
    "title": "Intellect Design Arena - Python Lead/Architect - AWS/Azure",
    "designation": "Python Lead",
    "company": {
        "name": "Intellect Design Arena",
        "logo": "https://…/logo.webp",
        "domain": "intellectdesign.com",
        "ambitionBoxRating": 3.6,
        "ambitionBoxReviews": 1840
    },
    "recruiter": { "name": "…", "designation": "Talent Acquisition", "lastActive": "2026-09-03" },
    "experienceMinYears": 9,
    "experienceMaxYears": 18,
    "salaryMinLpa": 30,
    "salaryMaxLpa": 45,
    "salaryHidden": false,
    "locations": ["Chennai", "Mumbai"],
    "remote": false,
    "skills": ["Python", "AWS", "Azure", "Kubernetes"],
    "mandatorySkills": ["Python"],
    "applicants": 112,
    "views": 1543,
    "postedAt": "2026-09-02T04:30:00.000Z",
    "description": "About the role…",
    "descriptionHtml": "<p>About the role…</p>",
    "query": "python developer"
}
```

Download as JSON, CSV, Excel or push to Google Sheets, webhooks and other Apify integrations.

### Pricing

Pay per event:

- **Job** – one charge per job returned from search.
- **Job description** – one extra charge per job when `includeDescription` is on.

A 100-job run with descriptions costs well under a dollar. There is no separate compute charge.

### Tips

- Use several specific keywords instead of one broad one; the API returns up to 20 jobs per page and the Actor de-duplicates across keywords.
- Combine `postedWithinDays: 1` with a daily schedule to get a fresh-jobs feed.
- `recruiter.lastActive` older than two weeks usually means the posting is dormant.
- Set `site: "hirist"` to scrape IT and tech roles from Hirist.tech with the same fields.

### FAQ

**How much does it cost to scrape IIMJobs?**

$0.002 per job plus $0.002 per full description, so 100 jobs with descriptions cost $0.40.

**Which roles does IIMJobs cover?**

Management, consulting, finance, sales, marketing, HR and MBA-track roles at Indian and global companies.

**Does it return the full job description?**

Yes, plus recruiter name and last-active date, applicant count, salary in LPA when disclosed and AmbitionBox rating.

**Do I need a proxy or login?**

No.

### Related Actors by Daemon Data

- [India IPO Tracker](https://apify.com/data_daemon/india-ipo-tracker) – live IPO GMP, subscription and listing data for India
- [Hirist Jobs Scraper](https://apify.com/data_daemon/hirist-jobs-scraper) – India IT jobs with full descriptions and recruiter activity
- [Tickertape India Stocks Scraper](https://apify.com/data_daemon/tickertape-stocks-scraper) – NSE/BSE fundamentals, shareholding and screener
- [Oracle Cloud HCM Jobs Scraper](https://apify.com/data_daemon/oracle-hcm-jobs-scraper) – every job on any Oracle Recruiting career site
- [Dubai Property Transactions](https://apify.com/data_daemon/dubai-property-transactions) – Dubai Land Department sales, mortgages and gifts
- [UK Gazette Insolvency Notices](https://apify.com/data_daemon/uk-gazette-insolvency-notices) – winding-up petitions, administrations and liquidations
- [Startup India DPIIT Directory](https://apify.com/data_daemon/startup-india-dpiit-scraper) – India's recognised startups with sector, stage and CIN

### Support

Found a bug or need another field or source? Open an issue on the Issues tab; issues are usually answered within a day. Custom variants of this Actor are available on request.

### Disclaimer

This Actor collects publicly available job listings for informational purposes. Respect the source website's terms of use and applicable data-protection laws when using recruiter names.

# Actor input Schema

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

One search per keyword, e.g. `python developer`, `data scientist`, `product manager`. Results are de-duplicated across keywords.

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

Optional city filter, e.g. `Bangalore`, `Mumbai`, `Remote`, `Anywhere in India`. Matched against the job's listed locations (case-insensitive substring). A single known city is also applied server-side for speed.

## `minExperience` (type: `integer`):

Only jobs whose experience range reaches at least this many years.

## `maxExperience` (type: `integer`):

Only jobs whose experience range starts at or below this many years.

## `postedWithinDays` (type: `integer`):

Only jobs posted in the last N days (e.g. 1, 3, 7, 15, 30). Leave empty for all.

## `includeDescription` (type: `boolean`):

Fetch each job's detail page for the full description (HTML + plain text), recruiter last-active date and company profile. Charged as an extra event per job.

## `maxJobsPerQuery` (type: `integer`):

Stop paginating a keyword after this many new jobs.

## `maxJobs` (type: `integer`):

Hard cap on saved jobs for the whole run (0 = no cap).

## `site` (type: `string`):

Which Info Edge job board to scrape. Hirist = IT/tech jobs, IIMJobs = management, finance, consulting and MBA jobs.

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

Optional. Not needed by default; the API does not block datacenter IPs.

## Actor input object example

```json
{
  "queries": [
    "product manager"
  ],
  "locations": [],
  "includeDescription": true,
  "maxJobsPerQuery": 40,
  "maxJobs": 0,
  "site": "iimjobs",
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

## `dataset` (type: `string`):

Jobs as JSON items in the default dataset (also downloadable as CSV, Excel, XML).

# 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": [
        "product manager"
    ],
    "locations": [],
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("data_daemon/iimjobs-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 = {
    "queries": ["product manager"],
    "locations": [],
    "proxyConfiguration": { "useApifyProxy": False },
}

# Run the Actor and wait for it to finish
run = client.actor("data_daemon/iimjobs-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 '{
  "queries": [
    "product manager"
  ],
  "locations": [],
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call data_daemon/iimjobs-jobs-scraper --silent --output-dataset

```

## MCP server setup

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