Daemon Data

IIMJobs job listings as JSON API

IIMJobs Jobs Scraper is a pay-per-record Apify Actor by Daemon Data that returns India MBA, finance, consulting and management jobs with full descriptions as JSON, CSV or Excel. It costs $0.004 per job with the default options ($4.00 per 1,000); no login to the source site, no proxy, no browser, and the same input runs from the Apify console, one REST call, Python, Node.js, n8n or an AI assistant through MCP.

Daemon Data IIMJobs Jobs Scraper on Apify   Listing as plain text

Checked on 18 Oct 2026

product manager matched 4,097 open IIMJobs listings and investment banking matched 652. On the first page of product manager, the median job already had about 170 applicants.

Who uses it, for what

You areWhat you get
Executive search and staffing firmsA daily list of new mid-senior openings by function, city and experience band, plus applicant counts, so you know which mandates are crowded before you pitch.
HR-tech products and job aggregatorsIIMJobs as a source with stable job IDs (dedupKey), full JD text, de-duplication across keywords and runs, and an API you can call on a schedule.
Compensation and salary-benchmark teamsLPA ranges by role, experience band and city on every posting that discloses pay, with an explicit salaryHidden flag on the ones that don't.
B2B sales and lead generationCompanies hiring a CFO, finance controller or CHRO are about to buy finance or HR software. Each row includes the company name, domain, industry, size band and AmbitionBox profile.
Workforce and market analystsDemand for MBA, CA and CFA skills over time, hiring by city, and competition per role from applicant counts.
AI agents (MCP)Ask Claude or ChatGPT "VP finance roles in Mumbai posted this week" and let it call this Actor through Apify's MCP server.

Output fields

The most useful top-level fields with values from a real record; the full list is id, dedupKey, site, url, title, designation, company, recruiter, experienceMinYears, experienceMaxYears, salaryHidden, locations, remote, skills, mandatorySkills, industryIds, functionalAreaId, categoryId, premium, brandedJd, applicants, views, postedAt, descriptionHtml, description, query, scrapedAt, salaryMinLpa, salaryMaxLpa, otherLocation. Per-field notes and the OpenAPI definition are on the Apify API page.

FieldTypeExample
idnumber1739557
dedupKeystring"iimjobs:1739557"
sitestring"iimjobs"
urlstring"https://www.iimjobs.com/j/khatabook-senior-product-manager-1739557"
titlestring"Khatabook - Senior Product Manager"
designationstring"Product Manager"
companyobject{"name": "ADJ UTILITY APPS PRIVATE LIMITED", "domain": "khatabook.c...
recruiterobject{"name": null, "designation": "NA"}
experienceMinYearsnumber4
experienceMaxYearsnumber6
salaryHiddenbooleantrue
locationsarray["Bangalore"]
remotebooleanfalse
skillsarray["IT Product Management", "Online Product Management", "Consumer In...
mandatorySkillsarray["IT Product Management"]

Input and how to call it

A verified example input (it returned data on 2026-10-23):

{
  "queries": [
    "product manager"
  ],
  "locations": [
    "Bangalore",
    "Mumbai"
  ],
  "postedWithinDays": 7,
  "includeDescription": true,
  "maxJobsPerQuery": 50
}

One HTTP call starts a run, waits for it and returns the records (token from console.apify.com):

curl -X POST "https://api.apify.com/v2/acts/data_daemon~iimjobs-jobs-scraper/run-sync-get-dataset-items?token=YOUR_APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"queries": ["product manager"], "locations": ["Bangalore", "Mumbai"], "postedWithinDays": 7, "includeDescription": true, "maxJobsPerQuery": 50}'

Python: ApifyClient(token).actor("data_daemon/iimjobs-jobs-scraper").call(run_input=...), full file python/iimjobs-jobs-scraper.py. Node.js: node/iimjobs-jobs-scraper.mjs. n8n: importable workflow. AI assistant (MCP): add the remote server https://mcp.apify.com/?tools=data_daemon/iimjobs-jobs-scraper with header Authorization: Bearer YOUR_APIFY_TOKEN in Claude, ChatGPT, Cursor or VS Code and ask for the data in plain words.

All input fields

FieldTypeMeaning
queriesarrayOne IIMJobs search per keyword, e.g. product manager, chartered accountant, investment banking, CFO, brand manager. Use role or skill words; put cities in locations. Several specific keywords beat one broad one. A job found by two keywords is saved and charged once.
locationsarrayOptional. Cities as IIMJobs lists them: Mumbai, Bangalore, Delhi NCR, Gurgaon, Pune, Hyderabad, Chennai, Remote, Anywhere in India. Case-insensitive substring match on the job's listed locations; a single known city is also applied server-side for speed. Leave empty for all of India.
minExperienceintegerOnly jobs whose experience range reaches at least this many years. Integer 0-40.
maxExperienceintegerOnly jobs whose experience range starts at or below this many years. Integer 0-40.
postedWithinDaysintegerOnly jobs posted in the last N days. Integer 1-365, e.g. 1 with a daily schedule or 7 for a weekly report. Leave empty for all open jobs.
includeDescriptionbooleanOn (default): full description as HTML and plain text, plus the company profile. Adds $0.002 per job. Off: listing fields only, at half the price, which is enough for counting jobs or sizing a market.
maxJobsPerQueryintegerStop a keyword after this many new jobs (default 40). Cost: $0.002 per job plus $0.002 per full description, so 40 jobs with descriptions = $0.16. Raise it for full exports: product manager alone has about 4,000 open jobs.
maxJobsintegerHard cap on saved jobs for the whole run across all keywords (0 = no cap).
onlyNewSinceLastRunbooleanOn: deliver only jobs that an earlier run with the same stateName has not already delivered, and skip the rest without charging. If postedWithinDays is empty it is set to 3 so each run stays small. Off (default): return every matching job.
stateNamestringOptional name for this search's memory when onlyNewSinceLastRun is on, e.g. pm-bangalore-daily. Leave empty to derive it from the keywords, locations and experience filters. Use a new key to start over.
skipJobIdsarrayJob IDs you already have (the id field from earlier runs). They are skipped before any detail fetch and never charged. Large lists are fine.
sitestringKeep iimjobs (default) for management, finance, consulting and MBA jobs. Set hirist only for IT and tech jobs from Hirist.tech; the output format is the same, and the dedicated Hirist Jobs Scraper documents it.

Price

$0.002 per job ($2.00 per 1,000); $0.002 per job description ($2.00 per 1,000). List prices for Apify Free and Starter plans; Scale and Business plans pay 15% to 30% less.

EventPricePer 1,000Charged when
Job$0.002$2.00One job returned from search (title, company, salary, skills, locations, applicants, AmbitionBox rating).
Job description$0.002$2.00Full job description and company profile for one job (when includeDescription is on).

Worked example: the input above, capped at 50 jobs, costs at most $0.1. Apify's free plan includes $5 of usage a month, about 2,500 jobs; the Actor's own compute is included in the per-record price, and records skipped by filters, de-duplication or only-new mode are not charged.

Scheduled change from 2026-11-02: job $0.002 ($2.00 per 1,000), actor start $0.001.

What it is not for

Tech roles (use Hirist); Naukri/LinkedIn/Indeed (not covered). The data belongs to its publisher; the Actor reads public pages and endpoints and leaves out personal contact details.

Ready-made example pages

Saved inputs you can run with one click on Apify (Examples tab); each has its own page:

Questions buyers ask

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 and a 50-jobs-a-day feed about $6 a month.

Is there an official IIMJobs API?

No public one. This Actor reads the JSON that the iimjobs.com website itself loads and exposes it as a REST API with schedules, webhooks and only-new-jobs runs.

Which roles does IIMJobs cover?

Management, consulting, finance, CA/CFA, sales, marketing, HR and MBA-track roles at Indian and global companies, mostly 2 to 25 years of experience.

Does it return the full job description?

Yes, as HTML and plain text, plus skills, applicant and view counts, salary in LPA when disclosed and the AmbitionBox company profile when one exists.

Why is recruiter.name null?

IIMJobs shows recruiter names only to logged-in users. The Actor keeps the recruiter's designation and does not work around the site's choice. Company name, domain and profile are always included.

IIMJobs vs Naukri: which should I scrape?

IIMJobs is curated mid-to-senior management, finance and consulting hiring. Naukri is all levels. For CXO, VP, CA/CFA and MBA roles, IIMJobs has far less noise.

Can I get IIMJobs and Hirist jobs together?

Yes. Hirist.tech Jobs Scraper uses the same output schema and the same onlyNewSinceLastRun mode, so one pipeline handles both boards.

Do I need a proxy or login?

No.

Alternatives, honestly

OptionWhat it gives youWhere it falls short for this job
IIMJobs website and recruiter dashboardSearch and email alerts for a logged-in userNo export, no API, no applicant counts in bulk
Other IIMJobs Actors on Apify StoreSimilar scraping of the same boardCompare fields (salary, AmbitionBox profile, only-new mode) and price per 1,000
Build your own scraperFull controlThe board's JSON endpoints change; you maintain pagination, de-duplication and scheduling

Published by Daemon Data (data_daemon on Apify Store). Prices, fields and example pages on this page were read from the live Apify listing on 2026-10-23; the listing is the canonical description of the Actor.