# Hirist Jobs Scraper | 147 Locations, 19 Fields, No Login (`themineworks/hirist-jobs-scraper`) Actor

Scrape Hirist.tech IT job listings by keyword, category, location and experience — title, company, salary, skills and AmbitionBox rating. No login, no cookies, pay per job. Use it as an MCP server in Claude, ChatGPT & AI agents.

- **URL**: https://apify.com/themineworks/hirist-jobs-scraper.md
- **Developed by:** [The Mine Works](https://apify.com/themineworks) (community)
- **Categories:** Jobs, Lead generation, MCP servers
- **Features:** Limited permissions
- **Stats:** 516 total users, 96 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $3.00 / 1,000 job scrapeds

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

## Hirist Jobs Scraper | 147 Locations, 19 Fields, No Login

[![200 Hirist IT jobs in 22 seconds: a recorded keyword search returned 200 India tech jobs from 3 pages in 22 seconds](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/hirist-jobs-scraper-hero-fix0930.png)](https://console.apify.com/actors/FW4Z1coYJmHfmjnnu/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

From **The Mine Works**, makers of [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral) and [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), with over 290,000 runs across our actors. This actor ranks #1 for "hirist" in Apify Store search.

Hirist.tech is an India job board for technology roles only: backend, frontend, mobile, data, DevOps, QA, AI and ML, SAP and security. Recruiters post there to reach engineers, so nearly every listing comes with tagged skills and an experience band. This actor turns a Hirist keyword search or category into rows you can filter by skill, seniority, city and employer rating.

### Why choose this actor?

- **200 tech jobs in about 20 seconds.** On 30 Sep 2026 a keyword search for "java" returned 200 jobs from 3 pages in 22 seconds, each with its skill tags, experience band, applicant count and job link. Browsing a whole category gives the same fields: 1,000 backend jobs took 107 seconds. It reads Hirist's public job data, so there is no login and no cookies to supply.
- **Employer ratings come with the job.** 140 of those 200 rows carried the company's AmbitionBox rating and review count, so you can screen employers without looking each one up.
- **Charged per unique job, from $3 per 1,000.** Hirist pages sometimes repeat a listing; repeats are removed before anything is saved or charged. A 1,000 job category test read 1,100 listings to deliver 1,000 unique jobs.

[![Run it on Apify](https://api.apify.com/v2/key-value-stores/cUXz95yxflDho41nn/records/button-run.png)](https://console.apify.com/actors/FW4Z1coYJmHfmjnnu/input?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Part of The Mine Works Jobs and hiring family:** [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Shine.com Jobs Scraper](https://apify.com/themineworks/shine-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Internshala Scraper](https://apify.com/themineworks/internshala-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral), [Instahyre Jobs Scraper](https://apify.com/themineworks/instahyre-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral).

### Try it in one minute

Open the input page, switch to JSON, paste this and start the run. It returns 10 React Native jobs in Bangalore.

```json
{
  "keyword": "react native",
  "locations": ["Bangalore"],
  "maxJobs": 10
}
```

There are two ways to say what you want, and you can combine them. `keyword` is free text sent to Hirist's own search, such as `java developer` or `kafka`. `categorySlug` picks one of Hirist's 12 tech categories, such as `devops-sre-jobs`. `locations` takes city, state or country names (`Bangalore` or `Bengaluru`, `Gurgaon`, `Delhi NCR`, `Remote`, `Dubai`), or Hirist's numeric location IDs. The actor does not take Hirist page links.

Apify's free plan includes $5 of credit every month, which covers about 999 results at this actor's price (one run at the default 512 MB).

#### Copy to your AI assistant

```
themineworks/hirist-jobs-scraper on Apify. It searches Hirist.tech, India's tech-only job board, by keyword and/or tech category and returns one row per job with title, company, AmbitionBox rating, locations, skills, experience range, salary when shown, posting time and job link. Call ApifyClient("TOKEN").actor("themineworks/hirist-jobs-scraper").call(run_input={...}), then client.dataset(run["defaultDatasetId"]).list_items().items. Required: nothing, but give keyword (string) or categorySlug (one of 12 slugs such as "backend-development-jobs", "ai-ml-jobs", "devops-sre-jobs"); with neither, it browses backend-development-jobs. Optional: locations (array of names such as "Bangalore" or "Bengaluru", "Hyderabad", "Remote"; if none is recognised the run stops with a status "unknown_location" row and charges nothing), experienceMinYears and experienceMaxYears (integers), postedWithinDays (integer), maxJobs (default 30, at most 1,000), includeJobDescription (default false), proxyConfiguration (Apify proxy on by default). Rows without job_id are run notes, not jobs. Full spec: GET https://api.apify.com/v2/acts/themineworks~hirist-jobs-scraper/builds/default (Bearer TOKEN), which returns inputSchema and readme. Token: https://console.apify.com/account/integrations?fpr=ymnoit&utm_source=apify-readme&utm_medium=referral
```

### Key features

- **Up to 18 fields per job**, in keyword search and category browsing alike: 14 on every row, plus the AmbitionBox rating pair and the salary pair when Hirist has them. Add `includeJobDescription` for the job description as well.
- **12 tech categories**, from backend and full stack to AI and ML, data engineering, DevOps and SRE, QA, SAP and Oracle, and cybersecurity.
- **147 locations by name**: Indian cities and states, `Remote`, and Gulf and overseas markets such as Dubai, Riyadh, Doha, Singapore and London. Current and old city names both work (`Bengaluru` or `Bangalore`, `Mysuru` or `Mysore`, `Gurugram` or `Gurgaon`), and so do numeric Hirist location IDs.
- **5 filters that combine**: keyword, category, locations, an experience range in years, and posting age in days.
- **Up to 1,000 jobs per run**, 100 per page, with repeated listings removed before they are saved or charged.
- **Stops cleanly instead of burning money**: if Hirist starts failing, a spend guard ends the run, and near the run timeout the actor exits on its own so the jobs already collected are kept.

### How to use it

#### Basic: one keyword

```json
{
  "keyword": "kafka",
  "maxJobs": 50
}
```

#### Keyword, category, cities and seniority together

```json
{
  "keyword": "python",
  "categorySlug": "data-engineering-jobs",
  "locations": ["Bangalore", "Hyderabad", "Pune"],
  "experienceMinYears": 4,
  "experienceMaxYears": 9,
  "postedWithinDays": 15,
  "maxJobs": 200
}
```

The experience filter keeps jobs whose range overlaps yours: in our test, a 3 to 8 year search also returned roles asking 2 to 6 and 8 to 15 years. Several locations are treated as "any of these".

#### Weekly skill-demand report for one category

```json
{
  "categorySlug": "ai-ml-jobs",
  "maxJobs": 1000
}
```

Count the `skills` tags across the rows to see which tools employers ask for most. In our 1,000 row backend sample on 30 Sep 2026, the top tags were Microservices Architecture (398 jobs), Java (387) and Backend Architecture (340). Schedule it weekly. A 1,000 job category run took 107 seconds in our test, and 128 seconds with `includeJobDescription` on, well inside the default 300 second timeout.

#### Remote and overseas roles

```json
{
  "categorySlug": "full-stack-jobs",
  "locations": ["Remote"],
  "maxJobs": 100
}
```

In our test, 9 of 10 rows had `remote: true` and all 10 listed Remote. Swap in `["Dubai", "Riyadh", "Doha"]` for Gulf openings: a SAP search with those three returned 10 of 10 jobs located in the Gulf.

#### Daily digest of fresh openings

```json
{
  "keyword": "java",
  "locations": ["Bangalore", "Chennai"],
  "postedWithinDays": 3,
  "maxJobs": 300
}
```

Run it daily at, say, 08:00 IST and append the rows to a sheet keyed on `job_id`, so a job seen yesterday is not added twice. Add `"monitorMode": true` and each run delivers only jobs you have not received before (see Run it on a schedule). In our test, `postedWithinDays: 3` returned only jobs from the previous two days.

### Input parameters

| Parameter | Type | Default | What it does |
|---|---|---|---|
| `keyword` | string | none | Free-text search, such as `java developer` or `react native`. Leave empty to browse a category. |
| `categorySlug` | string, one of 12 | `""` (none) | `backend-development-jobs`, `frontend-development-jobs`, `mobile-applications-jobs`, `platform-engineering-sap-oracle-jobs`, `data-analytics-bi-jobs`, `devops-sre-jobs`, `emerging-technologies-jobs`, `quality-assurance-jobs`, `ai-ml-jobs`, `data-engineering-jobs`, `full-stack-jobs` or `cybersecurity-jobs`. Combines with `keyword`. With no keyword and no category, the actor browses `backend-development-jobs`. |
| `locations` | array of strings | none (all locations) | City, state or country names such as `Bangalore` (or `Bengaluru`), `Hyderabad`, `Remote`. An unknown name is skipped with a warning in the log. If none of the names is known, the run stops with a `status: "unknown_location"` row and charges nothing, rather than searching all of India. |
| `experienceMinYears` | integer, 0 or more | none | Keep jobs whose experience range overlaps this minimum. |
| `experienceMaxYears` | integer, 0 or more | none | Keep jobs whose experience range overlaps this maximum. |
| `postedWithinDays` | integer, 1 or more | none (any age) | Keep jobs posted within the last N days. |
| `maxJobs` | integer, 1 or more | `30` | Most jobs to return, at most 1,000 per run. Pages hold 100 jobs. |
| `includeJobDescription` | boolean | `false` | Also fetch each job's description, one extra request per job, run 32 at a time. The price per job does not change. |
| `monitorMode` | boolean | `false` | Deliver only jobs not delivered by an earlier run with the same input. Skipped jobs are not charged. Made for daily schedules. |
| `proxyConfiguration` | object | Apify proxy on | Hirist's job data is public; Apify's default proxy is enough. Add a proxy group only if you see blocking. |

The Console form starts with `java developer`, `backend-development-jobs`, `Bangalore` and 55 jobs filled in. Runs started through the API use only what you send, plus the defaults above.

### What data do you get?

One row per job. Fields Hirist does not supply for a job are left out of that row rather than sent as `null`.

**The job**: `job_id`, `title`, `skills` (Hirist's skill tags), `category_id` (Hirist's category number), `premium` (a featured listing), `posted_at`, and `url`, the job's page on hirist.tech.

**The employer**: `company`, with `company_rating` and `company_reviews_count` from AmbitionBox when Hirist shows them.

**Where and who**: `locations` (a list, which can include `Remote` or `Anywhere in India/Multiple Locations`), `remote`, `experience_min_years` and `experience_max_years`.

**Pay and demand**: `salary_min_lpa` and `salary_max_lpa` in lakhs per annum when the recruiter shows pay, and `apply_count`, the number of applications Hirist reports.

**With `includeJobDescription` on**: `description`, the job description as HTML, cut at 4,000 characters.

**Run notes**: when at least one job is delivered, the run adds a row with `_type: "info"`. A run that finds nothing adds a row with `status: "no_results"`, a run whose location names are all unknown adds one with `status: "unknown_location"`, and a run that hits an error adds one with `status: "error"`. None of these is charged and none has a `job_id`, so keep rows that have `job_id`.

What we saw on 30 Sep 2026, so you can plan for it:

- **Category browsing carries the same fields as keyword search.** Hirist's category listing leaves out the job link, category number and application count, so the actor reads them from Hirist's own record of each job. In 1,000 rows from browsing the backend category, `url`, `category_id` and `apply_count` were on every row, as they were on all 200 keyword rows. A job whose link cannot be fetched is left out and not charged; none were in these tests.
- AmbitionBox ratings were on 70% of keyword rows and 57% of category rows.
- Pay was shown on 6 of 200 keyword rows and 82 of 1,000 category rows.
- In the 200 keyword rows, `apply_count` ranged from 1 to 20,615 applications, with a median of about 200.

#### Stable fields for automations

These 14 fields were present on every row in both modes, 1,200 rows in all (1,000 from a category, 200 from a keyword search). We will keep these names as they are, so mappings in Sheets, Zapier, Make or n8n keep working.

| Field | What it is |
|---|---|
| `job_id` | Hirist's job ID. Use it as the unique key. |
| `title` | Job title as posted, often "Company, role, stack" |
| `company` | Employer name |
| `locations` | List of places, can include `Remote` |
| `remote` | `true` when Hirist marks the job work from home |
| `skills` | List of skill tags |
| `experience_min_years` | Minimum experience in years |
| `experience_max_years` | Maximum experience in years |
| `premium` | `true` for featured listings |
| `posted_at` | When the job was posted, ISO 8601 in UTC |
| `url` | The job's page on hirist.tech |
| `category_id` | Hirist's category number |
| `apply_count` | Applications Hirist reports for the job |
| `scraped_at` | When the row was collected, ISO 8601 in UTC |

#### Output examples

Rows from our 30 Sep 2026 tests, copied as delivered except where marked.

**Keyword search, with rating and job link**

```json
{
  "job_id": "1674414",
  "title": "Java Developer",
  "company": "NetConnectGlobal",
  "company_rating": 3,
  "company_reviews_count": 670,
  "locations": ["Mumbai"],
  "remote": false,
  "category_id": 1,
  "skills": ["Java", "Apache Spark", "SQL", "Multithreading", "Data Structure", "JVM", "RESTful API", "OOPS"],
  "experience_min_years": 5,
  "experience_max_years": 7,
  "apply_count": 157,
  "premium": false,
  "posted_at": "2026-09-24T10:41:18.695Z",
  "url": "https://www.hirist.tech/j/java-developer-1674414",
  "scraped_at": "2026-09-29T22:57:16.150Z"
}
```

**Category browse, with pay and rating**

```json
{
  "job_id": "1672074",
  "title": "Salesforce Technical Lead - Apex/Visual Force",
  "company": "Federal Soft Systems",
  "company_rating": 3.8,
  "company_reviews_count": 91,
  "locations": ["Bangalore"],
  "remote": false,
  "category_id": 1,
  "skills": ["Salesforce", "Apex", "Visual Force", "Salesforce LWC", "SSO Integration", "ERP Integration"],
  "experience_min_years": 8,
  "experience_max_years": 12,
  "salary_min_lpa": 25,
  "salary_max_lpa": 40,
  "apply_count": 17,
  "premium": false,
  "posted_at": "2026-09-17T05:04:04.245Z",
  "url": "https://www.hirist.tech/j/salesforce-technical-lead-apexvisual-force-1672074",
  "scraped_at": "2026-09-30T08:21:57.283Z"
}
```

**A remote role**

```json
{
  "job_id": "1672027",
  "title": "Senior Rust Developer",
  "company": "Nexaxis Technology Solutions",
  "locations": ["Remote", "Anywhere in India/Multiple Locations"],
  "remote": true,
  "skills": ["Rust", "Python", "Git", "Technical Architect"],
  "experience_min_years": 5,
  "experience_max_years": 9,
  "premium": false,
  "posted_at": "2026-09-17T04:28:46.909Z",
  "scraped_at": "2026-09-29T22:50:15.518Z"
}
```

**With `includeJobDescription` on** (title and skills left out, description cut short here)

```json
{
  "job_id": "1672943",
  "company": "DDN ",
  "locations": ["Pune"],
  "remote": false,
  "category_id": 8,
  "experience_min_years": 12,
  "experience_max_years": 20,
  "apply_count": 64,
  "premium": false,
  "posted_at": "2026-09-19T08:57:23.684Z",
  "url": "https://www.hirist.tech/j/ddn-staff-engineer-golangstorage-1672943",
  "scraped_at": "2026-09-29T22:58:16.342Z",
  "description": "<p><b>About the job:</b><br/><br/>Our team is seeking a skilled Staff Engineer to own key features and components of our Ecosystem Team.<br/><br/>You will participate in all phases of software development including requirements, design, coding, unit testing, debugging and performance tuning.<br/><br/>..."
}
```

Company names arrive exactly as Hirist stores them, sometimes with a trailing space as here, so trim before matching.

**The note row when nothing matches** (not charged)

```json
{
  "status": "no_results",
  "note": "Hirist returned no jobs for the given filters. Try a broader keyword, different category, or remove the location/experience filters, and re-run.",
  "scraped_at": "2026-09-29T23:00:07.146Z"
}
```

### Pricing

Pay per event: a small start fee per run, then a price for each job saved to your dataset. The job price drops as your Apify plan goes up.

| Event | Free plan | Bronze (Starter) | Silver (Scale) | Gold and above (Business) |
|---|---|---|---|---|
| `job-scraped`, per job | $0.005 | $0.0042 | $0.00355 | $0.003 |
| Per 1,000 jobs | $5.00 | $4.20 | $3.55 | $3.00 |
| `apify-actor-start`, per run | $0.005 per GB of run memory, minimum one | same | same | same |

- **Start fee**: Apify's standard start event, charged once per run at $0.005 for each GB of memory the run uses, with a minimum of one. At the default 512 MB that is $0.005 per run; at 2 GB it would be $0.01. It has applied since 14 Sep 2026.
- **Never charged**: repeated listings removed within a run, jobs whose link could not be fetched, the `info`, `no_results`, `unknown_location` and `error` note rows, empty searches and failed pages. Platform compute is included in the prices above.
- **Spending cap**: set a maximum cost per run and the actor stops saving jobs when it is reached; nothing beyond the cap is delivered or billed.
- **No price change is scheduled.**

Worked examples: 30 jobs on the Free plan cost $0.155 with the start fee. 1,000 jobs on Gold cost $3.005.

### Run it on a schedule

Switch on `monitorMode` and the actor remembers which jobs it has delivered for this input. Each later run delivers only jobs you have not received before, and you pay only for those.

1. Fill in the input, tick **Monitor mode**, and save it as a task.
2. In Apify Console open **Schedules**, click **Add schedule**, and pick **Daily** (or a cron such as `0 8 * * *`).
3. Add the saved task to the schedule and click **Save**.

```json
{
  "keyword": "java",
  "locations": ["Bangalore", "Chennai"],
  "postedWithinDays": 3,
  "maxJobs": 300,
  "monitorMode": true
}
```

The first run delivers every job it finds. Each later run with the same input delivers only jobs whose `job_id` it has not delivered before. Skipped jobs are never charged; the start fee applies to every run as usual. The last row of each run (`_type: "info"`) gives `new_this_run`, `skipped_already_seen` and a scheduling tip. The history belongs to the input: change the keyword, category, locations or filters and a new history starts; change `maxJobs` or `includeJobDescription` and it carries on.

### FAQ

**What is Hirist?**
Hirist.tech (hirist.com redirects there) is an Indian job board only for technology roles. Its listings are public, and nearly every one carries skill tags and an experience band, which makes it a clean source for tech hiring data.

**How many jobs can I get?**
Up to 1,000 per run. On 30 Sep 2026 the backend category alone listed 4,151 jobs, so for full coverage split the work into several runs by location or experience band.

**How fresh is the data?**
Each run reads Hirist live when it starts. `posted_at` gives each job's posting time, and `postedWithinDays` filters on it.

**Do I need a Hirist account or cookies?**
No. The actor reads the same public job data the Hirist website loads for any visitor. You only need an Apify account.

**Do I need a special proxy?**
No. The actor uses Apify's default proxy, which is included and enough for Hirist. All our tests on 30 Sep 2026 ran through it. If you pick a proxy group your Apify account cannot use, the run switches to the default proxy instead of failing; the switch is written to the run log, and to the `proxy_note` field of the `no_results` or `error` row when a run delivers nothing.

**Do category rows have the job link?**
Yes. Since at least 9 Sep 2026, Hirist's category listing has left out the job link, category number and application count. The actor fills them in from Hirist's own record of each job, so browse rows carry the same fields as keyword rows. A job whose link cannot be fetched is left out and not charged.

**Which location names work?**
Hirist's own names plus the common current and old spellings: `Bangalore` and `Bengaluru` are the same place, as are Gurgaon and Gurugram, Mysore and Mysuru, Vizag and Visakhapatnam, and Calcutta and Kolkata. A suffix such as `Bengaluru, Karnataka` is fine. An unknown name is skipped with a warning in the run log; if none of your names is known, the run stops with a `status: "unknown_location"` row and charges nothing.

**Is salary always shown?**
No. Most recruiters on Hirist hide pay. In our tests, pay was on 3% of keyword rows and 8% of category rows. When hidden, the salary fields are left out of the row, not set to zero.

**Does the job description cost extra?**
No. The price per job is the same. It is a little slower, because each job needs one more request, run 32 at a time: 30 jobs with descriptions took 11 seconds and 1,000 took 128 seconds in our tests.

**Can it deliver only jobs I have not seen before?**
Yes. Set `monitorMode` to `true` and save the input as a task. Each run then skips every job it delivered before for that input, and skipped jobs are not charged. See Run it on a schedule above.

**What happens if Hirist fails during a run?**
The run still finishes as succeeded, keeps the jobs already collected and adds a `status: "error"` row explaining what went wrong. Over the last 30 days, 636 of 639 public runs succeeded.

**Which formats can I export?**
Download the dataset from the Storage tab as JSON, CSV, Excel, XML, RSS or HTML, or read it through the API. In CSV and Excel, list fields such as `skills` and `locations` are split into numbered columns (`skills/0`, `skills/1` and so on).

**Can Claude or ChatGPT run it for me?**

- Connector URL: `https://mcp.apify.com/?tools=themineworks/hirist-jobs-scraper`.
- Claude: Settings > Connectors > Add custom connector, paste the URL, sign in with Apify.
- ChatGPT: developer mode, add an MCP connector with the URL, sign in with Apify.
- Cursor or VS Code: add it as an HTTP MCP server with that URL.
- Claude Code: `claude mcp add -t http hirist-jobs-scraper "https://mcp.apify.com/?tools=themineworks/hirist-jobs-scraper"`.

**Is it legal to scrape Hirist?**
The actor collects only public job listings that anyone can view without logging in. It collects nothing about job seekers. You are responsible for how you use the data, including Hirist's terms and data protection law such as GDPR, CCPA and India's DPDP Act. This is general information, not legal advice.

### Integrations

- **Google Sheets**: keep a running sheet of tech openings, one row per `job_id`.
- **Make, Zapier and n8n**: start a run on a timer and pass new rows to your ATS or CRM with the Apify modules and nodes.
- **Webhooks**: get a call to your URL as soon as a run finishes, then read its dataset.
- **API**: run it from any language over HTTP, or with Apify's Python and JavaScript clients.
- **MCP clients**: ask Claude, ChatGPT or Cursor for Hirist jobs through `https://mcp.apify.com`.

### More from The Mine Works

**Jobs and hiring**

- [Foundit Monster India Jobs](https://apify.com/themineworks/foundit-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Jobs MCP](https://apify.com/themineworks/india-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Naukri Jobs Scraper](https://apify.com/themineworks/naukri-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Shine.com Jobs Scraper](https://apify.com/themineworks/shine-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Internshala Scraper](https://apify.com/themineworks/internshala-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instahyre Jobs Scraper](https://apify.com/themineworks/instahyre-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Indeed Jobs Scraper](https://apify.com/themineworks/indeed-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [CutShort Jobs Scraper](https://apify.com/themineworks/cutshort-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Apna Jobs Scraper](https://apify.com/themineworks/apna-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Jobs Scraper](https://apify.com/themineworks/linkedin-jobs-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Recruiting & Jobs MCP](https://apify.com/themineworks/recruiting-jobs-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Career Site Jobs Scraper](https://apify.com/themineworks/ats-jobs?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Social media and video**

- [Threads Scraper](https://apify.com/themineworks/threads-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Reddit Scraper](https://apify.com/themineworks/reddit-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Threads Search Scraper](https://apify.com/themineworks/threads-search-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Instagram Profile Scraper](https://apify.com/themineworks/instagram-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Leads and business directories**

- [B2B Leads Finder](https://apify.com/themineworks/b2b-leads-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Maps Email Scraper](https://apify.com/themineworks/maps-leads?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Skip Trace Lookup](https://apify.com/themineworks/skip-trace-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [JustDial Scraper](https://apify.com/themineworks/justdial-business?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Marketing, SEO and reviews**

- [Facebook Ad Library Scraper](https://apify.com/themineworks/meta-ad-library-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Ads Transparency Scraper](https://apify.com/themineworks/google-ads-transparency?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Similarweb Scraper](https://apify.com/themineworks/similarweb-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google News Scraper](https://apify.com/themineworks/google-news?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**LinkedIn**

- [LinkedIn Company Scraper](https://apify.com/themineworks/linkedin-company-details?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Post Scraper](https://apify.com/themineworks/linkedin-post-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Employees Scraper](https://apify.com/themineworks/linkedin-employees?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LinkedIn Profile Scraper](https://apify.com/themineworks/linkedin-profile-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Real estate**

- [Zillow Rentals Scraper](https://apify.com/themineworks/zillow-rental-listings?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zillow Sold Comps Scraper](https://apify.com/themineworks/zillow-recently-sold?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Housing.com Scraper](https://apify.com/themineworks/housing-com-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [India Real Estate MCP](https://apify.com/themineworks/india-real-estate-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Science, health and government data**

- [CourtListener Scraper](https://apify.com/themineworks/courtlistener-court-records?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [data.gov.in Scraper](https://apify.com/themineworks/india-data-gov-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Socrata Open Data Scraper](https://apify.com/themineworks/socrata-open-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Academic Research MCP](https://apify.com/themineworks/academic-research-mcp?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**E-commerce and marketplaces**

- [Ozon.ru Scraper](https://apify.com/themineworks/ozon-product-search?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [⭐ Amazon Reviews Scraper](https://apify.com/themineworks/amazon-reviews?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Amazon Product Scraper](https://apify.com/themineworks/amazon-products?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Carsales.com.au Scraper](https://apify.com/themineworks/carsales-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Company and business data**

- [Company Domain Finder](https://apify.com/themineworks/company-domain-finder?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GST Taxpayer Lookup](https://apify.com/themineworks/gst-taxpayer-lookup?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [World Bank Trade Scraper](https://apify.com/themineworks/global-trade-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Company KYB Resolver](https://apify.com/themineworks/company-identity-resolver?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Food and local services**

- [NoBroker Scraper](https://apify.com/themineworks/nobroker-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Swiggy Restaurant Scraper](https://apify.com/themineworks/swiggy-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Zomato Scraper](https://apify.com/themineworks/zomato-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**Developer and AI tools**

- [Website to Markdown Crawler](https://apify.com/themineworks/rag-crawler?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Skill Finder](https://apify.com/themineworks/github-skill-discovery?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Repo Scraper](https://apify.com/themineworks/github-repo-intelligence?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [GitHub Trending Scraper](https://apify.com/themineworks/github-trending-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

**More tools**

- [Tennis Match & Player Data Scraper](https://apify.com/themineworks/tennis-match-data?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Google Hotels Prices Scraper](https://apify.com/themineworks/google-hotels-prices-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [LandWatch Scraper](https://apify.com/themineworks/landwatch-land-for-sale-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)
- [Taobao Products Scraper 淘宝 天猫](https://apify.com/themineworks/taobao-products-scraper?fpr=ymnoit\&utm_source=apify-readme\&utm_medium=referral)

### Support

Something wrong with a row, or a field you need? Tell us in the Issues tab. For a new job board or source, email dmineworks@gmail.com.

*Hirist Jobs Scraper turns India's tech-only job board into clean rows of skills, seniority, employer ratings and job links, charged per unique job from $3 per 1,000.*

# Actor input Schema

## `keyword` (type: `string`):

Free-text job search, e.g. 'java developer' or 'react native'. Leave empty to browse a category instead (see categorySlug).

## `categorySlug` (type: `string`):

Browse a Hirist job category. Combined with keyword if both are set; used alone (as the browse mode) if keyword is empty.

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

City, state or country names to filter by, e.g. 'Bangalore' or 'Bengaluru', 'Hyderabad', 'Remote', or Hirist numeric location ids. Leave empty for all locations.

## `experienceMinYears` (type: `integer`):

Only return jobs whose experience band overlaps this minimum.

## `experienceMaxYears` (type: `integer`):

Only return jobs whose experience band overlaps this maximum.

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

Only return jobs posted within the last N days.

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

Maximum jobs to return across all pages, at most 1,000 per run.

## `includeJobDescription` (type: `boolean`):

Fetch the full HTML job description for every job (one extra request per job, run in parallel; slower, but no extra charge to you).

## `monitorMode` (type: `boolean`):

Run on a schedule and deliver ONLY jobs not seen in a previous run. You are charged per new job, not for the whole feed each time. Ideal for daily monitoring. Requires the same input across runs.

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

Hirist's job API is public and unauthenticated; the Apify default proxy is enough. Add a group only if you see blocking.

## Actor input object example

```json
{
  "keyword": "java developer",
  "categorySlug": "backend-development-jobs",
  "locations": [
    "Bangalore"
  ],
  "maxJobs": 55,
  "includeJobDescription": false,
  "monitorMode": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (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 = {
    "keyword": "java developer",
    "categorySlug": "backend-development-jobs",
    "locations": [
        "Bangalore"
    ],
    "maxJobs": 55,
    "includeJobDescription": false,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("themineworks/hirist-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 = {
    "keyword": "java developer",
    "categorySlug": "backend-development-jobs",
    "locations": ["Bangalore"],
    "maxJobs": 55,
    "includeJobDescription": False,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("themineworks/hirist-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 '{
  "keyword": "java developer",
  "categorySlug": "backend-development-jobs",
  "locations": [
    "Bangalore"
  ],
  "maxJobs": 55,
  "includeJobDescription": false,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call themineworks/hirist-jobs-scraper --silent --output-dataset

```

## MCP server setup

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