# Drushim.co.il Job Scraper — Israel Jobs, Salary & Companies (`haketa/drushim-scraper`) Actor

Scrape jobs from Drushim.co.il, Israel's leading job board. Search by keyword (Hebrew or English) and export every job with title, company, salary, location (region & city), required experience, categories, full requirements and description as clean JSON, CSV or Excel.

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

## Pricing

from $1.50 / 1,000 results

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

## Drushim.co.il Job Scraper — Israel Jobs, Salary & Companies

Collect job listings from **Drushim.co.il**, one of Israel's largest job boards, as clean, structured data. Search by keyword and get every matching job back with **title, company, salary, location, required experience, categories, full requirements and description** — ready to export as JSON, CSV or Excel.

Built for **recruiters, staffing agencies, job seekers, HR‑tech and labor‑market analysts, and data teams** who need Israeli hiring data without copying listings by hand.

***

### ✨ Why use this scraper

- **Full job records, not just titles** — each job includes company, salary (when published), location, experience level, categories and the complete requirements and description.
- **Structured location data** — regions and areas in Hebrew *and* English, plus city names, coordinates and region IDs, so you can map and filter jobs geographically.
- **Salary where available** — the published salary range comes through as clean text (e.g. `13000-15000`).
- **Rich taxonomy** — job categories, sub‑categories, employment type (full/part‑time), required experience, benefits and role suitabilities.
- **Search by any keyword** — profession, skill or free text. Hebrew works best; many English tech terms work too.
- **Region filtering** — narrow to a specific area of Israel (Center/Tel Aviv, Sharon, North/Haifa, Shfela, South).
- **Clean, typed output** — arrays as arrays, dates as dates — ready for spreadsheets, databases and BI tools.
- **Export anywhere** — JSON, CSV, Excel, HTML or via the Apify API and integrations.

***

### 🚀 Quick start

1. Enter one or more **search keywords** (for example `מתכנת`, `מהנדס`, `QA`, `נהג`, `מכירות`).
2. *(Optional)* Set a **Region** filter.
3. Set **Maximum jobs** and click **Start**.

Each job comes back as one clean record.

***

### 📥 Input

| Field | Type | Description |
|---|---|---|
| **Search keywords** (`searchQueries`) | array | Keywords to search. Hebrew terms work best (מתכנת, מהנדס, נהג, מכירות); many English tech terms also work. Empty = most recent jobs. |
| **Region filter** (`geoLexId`) | string | Optional region ID (see the region table below). |
| **Maximum jobs** (`maxItems`) | integer | Cap across all keywords. |
| **Max pages per keyword** (`maxPagesPerSearch`) | integer | Result pages per keyword (≈10 jobs per page). |
| **Concurrency** (`maxConcurrency`) | integer | Keyword searches run in parallel. |
| **Proxy configuration** (`proxyConfiguration`) | object | Apify Proxy recommended (datacenter‑first with Israeli residential fallback). |

#### Example 1 — one keyword

```json
{
  "searchQueries": ["מתכנת"],
  "maxItems": 300
}
```

#### Example 2 — several roles

```json
{
  "searchQueries": ["מהנדס", "QA", "DevOps", "נהג"],
  "maxItems": 1000
}
```

#### Example 3 — one region (Center / Tel Aviv area)

```json
{
  "searchQueries": ["מכירות"],
  "geoLexId": "539071",
  "maxItems": 500
}
```

#### 🗺️ Region IDs

| Region | `geoLexId` |
|---|---|
| Center (Tel Aviv area) | `539071` |
| Sharon | `539069` |
| North (Haifa) | `537903` |
| Shfela | `539068` |
| South | `539067` |

Leave empty to search all of Israel.

***

### 📤 Output

Each job is one dataset item. Example:

```json
{
  "jobId": 38248542,
  "title": "נהג/ת משאית C1 לחברה מובילה ביבנה",
  "url": "https://www.drushim.co.il/job/38248542/9df7e66a/",
  "company": "JOB SPACE",
  "companyId": 3784290,
  "salaryText": "13000-15000",
  "salaryValue": null,
  "employmentTypes": ["משרה מלאה"],
  "experience": "1-2 שנים",
  "regions": ["אשדוד / גן יבנה", "יבנה", "אשקלון"],
  "zones": [
    { "nameHe": "שפלה", "nameEn": "Ashfela", "geoLexId": 539068 }
  ],
  "cities": [
    { "city": "אשדוד", "cityEn": "Ashdod", "latitude": 31.79, "longitude": 34.65, "geoLexId": 539117 }
  ],
  "categories": ["לוגיסטיקה, מחסנאות ותפעול"],
  "subCategories": ["נהג/ת"],
  "requirements": "רישיון C1 חובה\nניסיון קודם - יתרון",
  "description": "דרוש/ה נהג/ת משאית ...",
  "benefits": [],
  "suitabilities": [],
  "postedDate": "2026-08-25T09:12:00",
  "postedText": "לפני יומיים",
  "employerJobCode": "1234",
  "isExpired": false,
  "searchQuery": "נהג",
  "scrapedAt": "2026-08-27T10:00:00.000Z"
}
```

#### Field reference

**Job**

| Field | Description |
|---|---|
| `jobId` | Drushim job code (unique). |
| `title`, `fullTitle` | Job title. |
| `url` | Job page URL. |
| `searchQuery` | The keyword this job came from. |

**Company**

| Field | Description |
|---|---|
| `company` | Hiring company display name. |
| `companyId` | Company code. |
| `companyLogo` | Company logo URL. |

**Compensation & requirements**

| Field | Description |
|---|---|
| `salaryText` | Published salary range as text (when the employer publishes it). |
| `salaryValue` | Numeric salary when present. |
| `employmentTypes` | Full‑time / part‑time etc. |
| `experience` | Required experience band. |
| `requirements` | Full requirements (plain text). |
| `description` | Full job description (plain text). |
| `benefits`, `suitabilities` | Perks and role suitabilities. |

**Location**

| Field | Description |
|---|---|
| `regions` | Regions/areas in Hebrew. |
| `zones` | Broad zones with Hebrew + English names and region ID. |
| `cities` | Cities with Hebrew + English name, coordinates and ID. |

**Taxonomy & dates**

| Field | Description |
|---|---|
| `categories`, `subCategories` | Job categories. |
| `postedDate` | Posting date. |
| `postedText` | Relative posting text (e.g. "2 days ago", in Hebrew). |
| `employerJobCode` | Employer's internal job code. |
| `isExpired`, `isPreferred` | Listing flags. |

***

### 💡 Use cases

- **Recruiters & staffing** — monitor demand for roles and skills across Israel, benchmark competitor postings, and build sourcing lists by company and region.
- **Job seekers** — track new postings for your profession, with salary, experience and location in one place.
- **Salary & market analysts** — aggregate published salary ranges by role, experience and region to build Israeli pay benchmarks.
- **HR‑tech & job boards** — enrich or seed a jobs database with fresh, structured listings.
- **Company & hiring intelligence** — see which companies are hiring, for what, and where.
- **Researchers & data teams** — build clean datasets of the Israeli labor market.

***

### 🔎 Keywords to try

Drushim is a Hebrew‑language site, so Hebrew keywords return the most results. Popular ones:

- **Tech**: `מתכנת` (developer), `QA`, `DevOps`, `Data`, `מהנדס תוכנה` (software engineer), `אבטחת מידע` (information security)
- **Engineering**: `מהנדס` (engineer), `הנדסאי` (technician), `מהנדס אזרחי` (civil engineer)
- **Sales & service**: `מכירות` (sales), `שירות לקוחות` (customer service), `קמעונאות` (retail)
- **Logistics & trades**: `נהג` (driver), `מחסנאי` (warehouse), `חשמלאי` (electrician)
- **Healthcare, finance, admin**: `אחות` (nurse), `הנהלת חשבונות` (bookkeeping), `מזכירה` (secretary)

> Tip: cast a wide net with several keywords, then filter the exported data by `salaryText`, `experience`, `regions` or `categories`.

***

### 🎯 Tips for best results

- **Use Hebrew keywords** for the widest coverage; English works for many tech roles.
- **Add a region** with `geoLexId` to focus on one part of Israel.
- **Combine keywords** to cover a whole segment in one run.
- **Filter after export** — pull broadly, then slice by salary, experience, region or category in your spreadsheet or database.
- **Salary is optional data** — Israeli employers often don't publish it, so `salaryText` is present only on a share of jobs.

***

### 📈 Scaling up

- Add **more keywords** to widen coverage across the market.
- Run **several regions** to slice the market geographically.
- **Schedule** recurring runs to track how salaries, demand and hiring evolve over time.

***

### 🔌 Run it your way

- **Apify Console** — enter keywords and click Start.
- **API** — start runs and pull the dataset programmatically.
- **Scheduler** — refresh the jobs feed on a schedule.
- **Integrations** — push results to Google Sheets, Zapier, Make, webhooks, S3 and more.

***

### ❓ FAQ

**Which country does Drushim cover?**
Drushim focuses on the Israeli job market.

**Do I need an account or API key?**
No. Just enter keywords and click Start.

**Should I search in Hebrew or English?**
Hebrew returns the most results because the site is Hebrew‑language. Many English tech terms (QA, DevOps, Data) also work.

**Are salaries included?**
Yes, when the employer publishes them — as `salaryText` (e.g. "13000-15000"). Many Israeli listings don't show salary, so it appears on a portion of jobs.

**Do I get the full description and requirements?**
Yes — both come through as clean plain text.

**Can I filter by location?**
Yes — set `geoLexId` to a region ID (see the region table).

**In what format is the data?**
Structured JSON by default, exportable to CSV, Excel, HTML and more.

**Can I run it on a schedule?**
Yes — use the Apify Scheduler, or start runs through the Apify API and its integrations.

***

### ⚖️ Legal & responsible use

This tool collects **publicly available** job‑posting information for legitimate business use such as recruitment, market research and salary analysis. You are responsible for how you use the data and for complying with all applicable laws and regulations, the website's terms, and data‑protection rules (including Israel's Privacy Protection Law where relevant). Do not use the output to infringe intellectual‑property rights or for any unlawful purpose. This scraper is not affiliated with, endorsed by, or connected to Drushim; all trademarks belong to their respective owners.

***

#### Tags

`drushim` · `drushim scraper` · `drushim.co.il` · `israel jobs` · `jobs israel` · `israeli job board` · `job scraper` · `hebrew jobs` · `salary data` · `recruitment` · `hr tech` · `talent sourcing` · `job listings` · `labor market` · `tel aviv jobs`

# Actor input Schema

## `searchQueries` (type: `array`):

Job keywords to search on Drushim. Hebrew terms work best (e.g. מהנדס, מתכנת, נהג, מכירות), but many English tech terms work too. Leave empty to collect the most recent jobs across the site.

## `geoLexId` (type: `string`):

Optional location filter by Drushim region ID. Common regions: 539071 = Center (Tel Aviv area), 539069 = Sharon, 537903 = North (Haifa), 539068 = Shfela, 539067 = South. Leave empty for all of Israel.

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

Stop after collecting this many jobs across all keywords.

## `maxPagesPerSearch` (type: `integer`):

Maximum result pages to fetch per keyword (each page returns ~10 jobs).

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

How many keyword searches to run in parallel.

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

Leave as Apify Proxy (recommended). The actor uses fast datacenter IPs first and falls back to Israeli residential IPs when needed, keeping runs reliable and low‑cost.

## Actor input object example

```json
{
  "searchQueries": [
    "מהנדס",
    "QA",
    "נהג"
  ],
  "maxItems": 100,
  "maxPagesPerSearch": 200,
  "maxConcurrency": 3,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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 = {
    "searchQueries": [
        "מתכנת"
    ],
    "maxItems": 100,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("haketa/drushim-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 = {
    "searchQueries": ["מתכנת"],
    "maxItems": 100,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("haketa/drushim-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 '{
  "searchQueries": [
    "מתכנת"
  ],
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call haketa/drushim-scraper --silent --output-dataset

```

## MCP server setup

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