# Ethosia Scraper: Israel Tech Jobs (`getascraper/ethosia-scraper`) Actor

Ethosia scraper to extract executive high-tech job listings from Israel's leading placement agency. Pull job titles, requirements, and direct apply links via fast sitemap-driven Cheerio code. Bypasses blocking without browser overhead. Perfect for recruitment. $1.99 per 1,000 results.

- **URL**: https://apify.com/getascraper/ethosia-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Jobs, Lead generation, Social media
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, NaN bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.99 / 1,000 jobs

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

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

## Ethosia Scraper: Israel Tech Jobs

**Ethosia scraper and high-tech recruitment data extraction API.** Extract public job listings, requirements, location hubs, publish/modify dates, and direct application links from ethosia.co.il with this Apify Actor. Built with sitemap-driven Cheerio code, this tool bypasses complex UI search forms, running at blazing speeds with near-zero operating cost and zero browser overhead.

Whether you are a recruiter sourcing executive and software engineering positions in Tel Aviv or Herzliya, a compensation analyst tracking high-tech salary bounds, or a B2B sales development team sourcing growing tech companies, this Actor provides complete recruitment data on a scheduled basis.

---

### What does Ethosia Scraper do?

* **Sitemap-Driven Discovery:** Connects directly to the automated Yoast XML sitemap (`/job-sitemap.xml`) to retrieve 100% of the active job listings in one click, avoiding missed postings or brittle listing selectors.
* **Granular Meta Extraction:** Pulls exact publish and modification dates directly from Yoast SEO's JSON-LD graph headers embedded on the page.
* **Direct Application URLs:** Extracts outbound applicant tracking system (ATS) portal links (such as BrightSource talents) containing the exact vacancy identifier.
* **Lightweight Cheerio Engine:** Runs entirely on statically parsed HTTP requests. It bypasses Cloudflare security without browser automation, headless run costs, or premium proxies.

---

### Why use Ethosia Scraper?

Ethosia is Israel's premier executive and high-tech recruitment agency, managing exclusive, high-paying vacancies across software engineering, AI, cyber security, MLOps, product, and leadership positions.

Use this Actor to:
1. **Source Elite Candidates:** Discover localized tech roles and executive opportunities (Mamram / 8200 veterans, CTO, VP Engineering) that are exclusive to Ethosia's agency board.
2. **Track Talent Demands:** Aggregate required skills and frameworks to monitor the tech stack requirements of growing startups in Israel.
3. **Analyze Sourcing Timestamps:** Use published and modified dates to evaluate vacancy durations and hiring velocity.

---

### How to Scrape Ethosia Data Step-by-Step

1. Open the **Input** tab in Apify Console.
2. Optionally enter **Ethosia URLs** (such as specific job page links). If empty, the scraper automatically discovers and crawls all active listings via the Yoast XML sitemap.
3. Configure the maximum items to return.
4. Click **Start** and export your clean dataset.

---

### Input

| Field | Type | Description | Default |
|---|---|---|---|
| `startUrls` | array | Specific ethosia.co.il job page URLs (e.g. `/content/senior-vlsi-design-engineer/`). | `[]` |
| `searchQuery` | string | Filter jobs by keywords or technology (e.g. "Developer" or "QA"). | `""` |
| `location` | string | Filter geographically by city name (e.g. "Tel Aviv" or "תל אביב"). | `""` |
| `maxItems` | integer | Hard cap on total results returned. | `100` |
| `proxyConfiguration` | object | Proxy settings. Bypassing is unshielded, so datacenter proxies are fully functional. | `{"useApifyProxy": false}` |

---

### Output Example

Each dataset item represents a single job vacancy.

```json
{
  "type": "job",
  "jobId": "352837",
  "url": "https://ethosia.co.il/content/senior-vlsi-design-engineer/",
  "title": "Senior VLSI Design Engineer",
  "companyName": "High-Tech Startup / Enterprise",
  "location": "Tel Aviv",
  "description": "For an exciting well-funded start-up we are looking for highly skilled...",
  "requirements": "8+ years of experience in VLSI/ASIC design...",
  "applyUrl": "https://talents.brightsource.com/apply/?job_id=352837&job_name=Senior%20VLSI%20Design%20Engineer",
  "postedDate": "2026-03-02T09:15:45+00:00",
  "modifiedDate": "2026-03-02T09:15:57+00:00",
  "scrapedAt": "2026-06-06T10:00:00.000Z"
}
````

***

### Data Fields Explanation

| Field Name | Format | Description |
|---|---|---|
| `jobId` | text | Unique numeric ID parsed from the direct application link or slug. |
| `url` | link | Direct URL of the Ethosia vacancy card. |
| `title` | text | Job title. |
| `companyName` | text | GotFriends hides real company names, but titles contain descriptors (e.g. "Startup"). |
| `location` | text | Primary location or tech hub parsed from description text. |
| `description` | text | Core job description and company overview. |
| `requirements` | text | Specific professional experience and tech requirements. |
| `applyUrl` | link | Direct apply link of the job page. |
| `postedDate` | date | ISO 8601 published date. |
| `modifiedDate` | date | ISO 8601 modified date. |
| `scrapedAt` | date | ISO 8601 scraping timestamp. |

***

### How Much Does It Cost to Scrape Ethosia?

**$1.99 per 1,000 results.**

We offer the **best value at an affordable price**—providing high-tech startup and executive vacancy data at 33% less than the typical $3.00/1k competitors. Because the platform loads listings natively via server-side rendered HTML, there is zero headless browser overhead. It bypasses Cloudflare security without browser automation, headless run costs, or premium proxies, meaning your platform compute bills will be near-zero.

***

### Advanced Options & Tips

- **Yoast XML Sitemap Discovery:** If you want to crawl the entire active directory, leave the `startUrls` array empty. The scraper will fetch all live vacancies from the sitemap automatically.
- **Low Concurrency:** Keep concurrency restricted to a modest `maxConcurrency: 10` to remain respectful of the WordPress backend server.

***

### FAQ (Frequently Asked Questions)

#### How does this scraper get past Cloudflare?

It does not have to. While Cloudflare is in active mode on `ethosia.co.il`, there is no active bot challenge, captcha, or cookie lock configured for the job pages or sitemaps. Unauthenticated requests are welcomed with `200 OK`.

#### Do I need a login or API Key?

No. All Ethosia vacancy listings are fully public and require no authentication or cookies to read.

#### Why is the company name generic?

Ethosia is a placement agency and hides the actual brand names of hiring companies in their public descriptions. They use generic labels like "High-Tech Startup" or "Enterprise" to protect clients from competitors.

***

### Disclaimers & Support

This Actor is an independent web scraping tool and is not affiliated with, endorsed by, or sponsored by Ethosia, Ethosia Digital, ethosia.co.il, or any of their subsidiaries or affiliates. All trademarks are the property of their respective owners.

The scraper accesses only the public, unauthenticated job listings of the Ethosia website, matching data the platform serves to any public user. Users are responsible for ensuring compliance with Ethosia Terms of Service and local data regulations (GDPR).

If you encounter issues or have custom requirements, please submit a report on the **Issues** tab. For custom scraping or dataset services, contact the author's profile.

# Actor input Schema

## `startUrls` (type: `array`):

Direct gotfriends.co.il / ethosia.co.il job card URLs (e.g. https://ethosia.co.il/content/senior-vlsi-design-engineer/). If empty, the scraper automatically discovers and crawls all active listings via the Yoast XML sitemap.

## `searchQuery` (type: `string`):

Enter the job title, skill, or keyword (e.g. 'Developer' or 'QA'). If left empty, the scraper will auto-discover and extract all live vacancies via the Yoast XML sitemap.

## `location` (type: `string`):

Filter the results geographically by city name (e.g. 'Tel Aviv' or 'תל אביב'). Left blank returns all locations.

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

Maximum number of jobs to return (hard cap).

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

Proxy settings. Bypassing is unshielded, so proxies are optional. Enable only if you hit rate limits.

## Actor input object example

```json
{
  "startUrls": [
    {
      "url": "https://ethosia.co.il/content/senior-vlsi-design-engineer/"
    }
  ],
  "searchQuery": "",
  "location": "",
  "maxItems": 100,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# 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 = {
    "startUrls": [
        {
            "url": "https://ethosia.co.il/content/senior-vlsi-design-engineer/"
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/ethosia-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 = { "startUrls": [{ "url": "https://ethosia.co.il/content/senior-vlsi-design-engineer/" }] }

# Run the Actor and wait for it to finish
run = client.actor("getascraper/ethosia-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 '{
  "startUrls": [
    {
      "url": "https://ethosia.co.il/content/senior-vlsi-design-engineer/"
    }
  ]
}' |
apify call getascraper/ethosia-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Ethosia Scraper: Israel Tech Jobs",
        "description": "Ethosia scraper to extract executive high-tech job listings from Israel's leading placement agency. Pull job titles, requirements, and direct apply links via fast sitemap-driven Cheerio code. Bypasses blocking without browser overhead. Perfect for recruitment. $1.99 per 1,000 results.",
        "version": "0.1",
        "x-build-id": "LuWLrnv2CfEOgRECv"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/getascraper~ethosia-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-getascraper-ethosia-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/getascraper~ethosia-scraper/runs": {
            "post": {
                "operationId": "runs-sync-getascraper-ethosia-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/getascraper~ethosia-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-getascraper-ethosia-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",
                "required": [
                    "maxItems"
                ],
                "properties": {
                    "startUrls": {
                        "title": "Ethosia Job URLs",
                        "type": "array",
                        "description": "Direct gotfriends.co.il / ethosia.co.il job card URLs (e.g. https://ethosia.co.il/content/senior-vlsi-design-engineer/). If empty, the scraper automatically discovers and crawls all active listings via the Yoast XML sitemap.",
                        "default": [],
                        "items": {
                            "type": "object",
                            "required": [
                                "url"
                            ],
                            "properties": {
                                "url": {
                                    "type": "string",
                                    "title": "URL of a web page",
                                    "format": "uri"
                                }
                            }
                        }
                    },
                    "searchQuery": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Enter the job title, skill, or keyword (e.g. 'Developer' or 'QA'). If left empty, the scraper will auto-discover and extract all live vacancies via the Yoast XML sitemap.",
                        "default": ""
                    },
                    "location": {
                        "title": "Location Filter",
                        "type": "string",
                        "description": "Filter the results geographically by city name (e.g. 'Tel Aviv' or 'תל אביב'). Left blank returns all locations.",
                        "default": ""
                    },
                    "maxItems": {
                        "title": "Maximum items",
                        "minimum": 1,
                        "maximum": 5000,
                        "type": "integer",
                        "description": "Maximum number of jobs to return (hard cap).",
                        "default": 100
                    },
                    "proxyConfiguration": {
                        "title": "Proxy configuration",
                        "type": "object",
                        "description": "Proxy settings. Bypassing is unshielded, so proxies are optional. Enable only if you hit rate limits.",
                        "default": {
                            "useApifyProxy": false
                        }
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
