Daemon Data

How to get new IIMJobs postings in Google Sheets every morning

Recruiters, career coaches and hiring-market analysts who follow IIMJobs.com usually want one thing: the jobs that appeared since yesterday, in a spreadsheet, without copying them by hand and without seeing the same posting twice. IIMJobs has no public API or export, so this guide sets up a daily feed with the IIMJobs Jobs Scraper on Apify and a free n8n workflow that writes the rows to Google Sheets and posts a summary to Slack.

What you get in each row

Every job comes back as one row with the job ID, title, company (name, industry, size and AmbitionBox rating when available), locations, experience range, salary in LPA when the recruiter discloses it, skills, applicant count, posting date, the public job URL and, if you switch it on, the full job description. Most IIMJobs recruiters hide pay, so a salaryHidden flag tells you which rows have none.

Demand is large enough to make a feed worthwhile: a product manager search matched 4,097 open IIMJobs listings and investment banking 652 when we measured them between 18 and 21 October 2026.

Step 1: run the Actor once with only-new mode

Open the IIMJobs Jobs Scraper on Apify, click Try for free and paste this input:

{
  "queries": ["product manager", "investment banking"],
  "onlyNewSinceLastRun": true,
  "stateName": "my-daily-feed",
  "maxJobs": 100
}

onlyNewSinceLastRun makes the Actor remember which job IDs this feed (named by stateName) has already delivered. The next run returns only jobs it has not sent before, and skipped repeats are not charged. We checked this on 23 October 2026: two back-to-back runs with the same feed name returned six different jobs and no repeats.

Step 2: schedule it

In Apify Console open Schedules, create a daily schedule (for example 08:00 in Asia/Kolkata) and add the Actor run or a saved task with the input above. Each morning the dataset of that run contains only the new postings.

Step 3: send the rows to Google Sheets and Slack with n8n

If you use n8n, import the ready workflow iimjobs-new-jobs-to-google-sheets-and-slack.json. It runs at 08:00, calls the Actor through the Apify API with only-new mode, upserts each job into a Jobs tab (matched on id, so re-runs never duplicate rows) and posts the count and the first five jobs to a Slack channel. Setup:

  1. Create an n8n Header Auth credential named Authorization with the value Bearer YOUR_APIFY_TOKEN (Apify Console → Settings → API & Integrations).
  2. Connect Google Sheets and paste your sheet URL. Add a Jobs tab with the header row id, title, company, locations, experience, salaryLpa, skills, applicants, postedAt, url.
  3. Connect Slack, pick a channel, edit the queries and activate the workflow.

The request URL already carries maxTotalChargeUsd=0.5, a hard cost cap per run.

Prefer code? The same feed is a few lines of Python with the official apify-client package; a complete example is in the examples repository.

Tips

FAQ

Is there an official IIMJobs API? No public one. The Actor reads the job data the IIMJobs website itself loads, needs no login, cookies or proxy, and returns it as JSON, CSV, Excel or rows in your sheet.

Does it collect recruiter contact details? No. Recruiter names and phone numbers are left out on purpose; the recruiter's designation is kept only where IIMJobs shows it to every visitor.

Can I get alerts in Microsoft Teams or email instead of Slack? Yes: replace the Slack node in n8n with a Teams or Gmail node. Make and Zapier can call the same Apify Actor as well.

Related data APIs

Written 2026-10-23, facts checked 2026-10-23. Numbers come from the actors' own runs and the source websites on the dates stated.