# AllJobs - Israeli Job Listings (`swerve/alljobs-scraper`) Actor

Pulls job listings from AllJobs.co.il, one of Israel's largest job boards. Returns title, employer, location, job type, posted time, full Hebrew description and requirements section. Supports keyword search and AllJobs' region / city / position filters via a power-user search URL.

- **URL**: https://apify.com/swerve/alljobs-scraper.md
- **Developed by:** [Swerve](https://apify.com/swerve) (community)
- **Categories:** Automation, Lead generation, Jobs
- **Stats:** 3 total users, 2 monthly users, 60.0% runs succeeded, 1 bookmarks
- **User rating**: No ratings yet

## Pricing

from $5.00 / 1,000 results

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are a software tools running on the Apify platform, for all kinds of web data extraction and automation use cases.
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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/platform/integrations/mcp.md).

If your project is in a different language, use 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

## AllJobs.co.il Scraper - Israeli Job Listings API

Extract job listings from [alljobs.co.il](https://www.alljobs.co.il), one of Israel's largest job boards. Returns structured data per posting: job title, employer, employer ID, location, job type, posted time, full Hebrew description and requirements section.

### What you get per listing

- `jobId`, `url` - AllJobs ID and direct link to the listing
- `title` - Job title (typically Hebrew, sometimes English)
- `employer`, `employerUrl`, `employerId` - Company / staffing-agency name, their profile page, and AllJobs employer ID
- `category` - Posting category (`חברת השמה / כח אדם` for staffing agencies, employer-direct postings, etc.)
- `location` - Job location in Hebrew (city or region)
- `jobType` - Full-time / part-time / shifts / experience level (Hebrew)
- `postedRelative` - Relative posted time in Hebrew (e.g. `לפני 4 דקות`, `אתמול`)
- `description` - Description text (the part before the requirements section)
- `requirements` - Requirements (text after the `דרישות:` marker)
- `scrapedAt`

The actor automatically splits the AllJobs description block into `description` and `requirements` on the standard Hebrew `דרישות:` marker.

### How to use

**Simple keyword search:**

```json
{ "keyword": "hi-tech", "maxItems": 200 }
````

**Filter by city** — pick from the City dropdown (~50 major Israeli cities). In the UI, just choose by name; via the API, pass the city code as a string:

```json
{ "keyword": "devops", "city": "779",  "maxItems": 100 }   // Tel Aviv
{ "keyword": "QA",     "city": "721",  "maxItems": 100 }   // Raanana
{ "keyword": "",       "city": "1056", "maxItems": 50  }   // Jerusalem
```

A few common city codes: Tel Aviv=`779`, Jerusalem=`1056`, Haifa=`491`, Beer Sheva=`1961`, Ramat Gan=`789`, Petah Tikva=`786`, Holon=`783`, Bat Yam=`781`, Netanya=`717`, Herzliya=`712`, Raanana=`721`, Ashdod=`802`, Ashkelon=`943`. The full list is in the City dropdown in the Apify UI.

**Filter by broader region** when city-level is too narrow:

```json
{ "keyword": "data analyst", "region": "center" }
{ "keyword": "מפתח/ת",        "region": "jerusalem" }
{ "keyword": "",              "region": "remote" }
```

Supported regions: `center` (Tel Aviv + Gush Dan + Sharon), `haifa`, `north`, `jerusalem`, `south`, `remote`.

Leave `keyword` blank to fetch the most recently posted jobs across the selected city/region.

**Power-user mode:** for finer filters (specific position type, contract duration, full-time vs part-time), open the AllJobs search page, set your filters, copy the URL from your browser, paste into `searchUrl`. The keyword / city / region fields above are bypassed.

```json
{
  "searchUrl": "https://www.alljobs.co.il/SearchResultsGuest.aspx?page=1&position=72&type=&region=2",
  "maxItems": 200
}
```

### Common use cases

- **Recruiters and staffing agencies** - source candidates by tracking employer postings and competitor inventory.
- **HR analytics** - market salary signals, posted-time freshness, employer hiring velocity.
- **Tech-talent sourcing** - filter the `keyword` for stack-specific roles (`devops`, `golang`, `LLM`, `embedded`).
- **Aliyah / relocation services** - surface English-friendly tech roles in Israel for inbound hires.

### Data quality

In testing across hi-tech and general searches (sample of 100+ listings):

| Field | Fill rate |
|---|---|
| jobId, url, title, postedRelative, description | 100% |
| location, jobType | ~97% |
| requirements | ~80% (a portion of listings don't follow the standard `דרישות:` convention; in those, the full text lands in `description` and `requirements` is null) |
| employer | ~55% (many AllJobs postings are anonymous: confidential / `חברה חסויה`, or English-language listings that don't expose the company on the search page. Click through the `url` for the named employer where available.) |
| employerId | ~45% (only populated when AllJobs links the employer's profile page from the search card) |
| category | ~25% (only populated when AllJobs tags the listing with a staffing-agency or direct-employer label) |

### Pricing

Pay per result. See the Pricing tab. Failed runs cost nothing.

### Notes

- AllJobs is server-rendered ASP.NET. Pagination is GET-based via `?page=N`, walked automatically until `maxItems` is reached or results run out.
- Hebrew right-to-left text is preserved as-is in all output fields.
- Date strings (`postedRelative`) are Hebrew relative-time strings; parse to absolute timestamps downstream if needed.

Found a bug or have a feature request? Open an issue and I respond within 24h.

# Actor input Schema

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

Free-text term in Hebrew or English (e.g. 'product manager', 'מפתח/ת', 'data analyst', 'devops'). The actor filters listings client-side by matching this against the title, employer, job type, and description, because AllJobs.co.il's guest search endpoint doesn't honor free-text on the server side. Leave blank to fetch the most recent jobs across all categories.

## `city` (type: `string`):

Pick an Israeli city to filter on. Leave as 'Any' to skip city filtering. For a rare city not in this list, use the Search URL field below instead.

## `region` (type: `string`):

Broader region of Israel, useful when you don't want to pick a specific city. Choose 'Any' to skip. Ignored when a specific city is set.

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

Maximum number of job listings to return.

## `searchUrl` (type: `string`):

Optional. Power-user override. Set your filters on alljobs.co.il (specific position type, contract duration), copy the URL from your browser, paste here. Bypasses the keyword/city/region fields above.

## Actor input object example

```json
{
  "city": "",
  "region": "any",
  "maxItems": 100
}
```

# 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 = {};

// Run the Actor and wait for it to finish
const run = await client.actor("swerve/alljobs-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 = {}

# Run the Actor and wait for it to finish
run = client.actor("swerve/alljobs-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call swerve/alljobs-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=swerve/alljobs-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "AllJobs - Israeli Job Listings",
        "description": "Pulls job listings from AllJobs.co.il, one of Israel's largest job boards. Returns title, employer, location, job type, posted time, full Hebrew description and requirements section. Supports keyword search and AllJobs' region / city / position filters via a power-user search URL.",
        "version": "1.0",
        "x-build-id": "EKddMbLNnIz2zI8SX"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/swerve~alljobs-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-swerve-alljobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/swerve~alljobs-scraper/runs": {
            "post": {
                "operationId": "runs-sync-swerve-alljobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/swerve~alljobs-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-swerve-alljobs-scraper",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "properties": {
                    "keyword": {
                        "title": "Keyword",
                        "type": "string",
                        "description": "Free-text term in Hebrew or English (e.g. 'product manager', 'מפתח/ת', 'data analyst', 'devops'). The actor filters listings client-side by matching this against the title, employer, job type, and description, because AllJobs.co.il's guest search endpoint doesn't honor free-text on the server side. Leave blank to fetch the most recent jobs across all categories."
                    },
                    "city": {
                        "title": "City",
                        "enum": [
                            "",
                            "405",
                            "769",
                            "802",
                            "943",
                            "781",
                            "1961",
                            "489",
                            "1011",
                            "945",
                            "780",
                            "678",
                            "1569",
                            "805",
                            "782",
                            "713",
                            "491",
                            "1435",
                            "712",
                            "722",
                            "783",
                            "1056",
                            "286",
                            "714",
                            "567",
                            "492",
                            "494",
                            "495",
                            "1015",
                            "784",
                            "1063",
                            "1043",
                            "1529",
                            "145",
                            "996",
                            "412",
                            "717",
                            "1484",
                            "272",
                            "1567",
                            "786",
                            "721",
                            "789",
                            "703",
                            "508",
                            "788",
                            "948",
                            "787",
                            "778",
                            "764",
                            "705",
                            "779",
                            "704",
                            "548",
                            "408",
                            "624",
                            "941",
                            "434"
                        ],
                        "type": "string",
                        "description": "Pick an Israeli city to filter on. Leave as 'Any' to skip city filtering. For a rare city not in this list, use the Search URL field below instead.",
                        "default": ""
                    },
                    "region": {
                        "title": "Region (broader area)",
                        "enum": [
                            "any",
                            "center",
                            "haifa",
                            "north",
                            "jerusalem",
                            "south",
                            "remote"
                        ],
                        "type": "string",
                        "description": "Broader region of Israel, useful when you don't want to pick a specific city. Choose 'Any' to skip. Ignored when a specific city is set.",
                        "default": "any"
                    },
                    "maxItems": {
                        "title": "Max Listings",
                        "minimum": 1,
                        "type": "integer",
                        "description": "Maximum number of job listings to return.",
                        "default": 100
                    },
                    "searchUrl": {
                        "title": "Search URL (advanced)",
                        "type": "string",
                        "description": "Optional. Power-user override. Set your filters on alljobs.co.il (specific position type, contract duration), copy the URL from your browser, paste here. Bypasses the keyword/city/region fields above."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
