# Recruitee Jobs Scraper (Listings & Hiring Data) (`igolaizola/recruitee-jobs-scraper`) Actor

Extract job listings from public Tellent Recruitee.com career sites. Search companies or add URLs and export titles, descriptions, requirements, locations, departments, remote and hybrid roles, application links, and company details for recruiting and hiring intelligence. Download JSON, CSV or Excel

- **URL**: https://apify.com/igolaizola/recruitee-jobs-scraper.md
- **Developed by:** [Iñigo Garcia Olaizola](https://apify.com/igolaizola) (community)
- **Categories:** Jobs, Lead generation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.70 / 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/platform/actors/running/actors-in-store#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

## Recruitee Jobs Scraper — Job Listings, Applications & Hiring Data

Extract current job listings from public Recruitee career sites and download structured hiring data for recruiting, labor-market research, job aggregation, sales signals, and competitor monitoring. Search for relevant companies or provide specific Recruitee career URLs and receive one result per open role.

> Need company profiles instead of individual jobs? Use [Recruitee Companies Scraper](https://apify.com/igolaizola/recruitee-companies?fpr=ig) to find businesses, websites, and public career pages.

### 🤖 What does Recruitee Jobs Scraper do?

Recruitee Jobs Scraper collects current public vacancies together with full job and company context. Each result can include:

- **Job details** — title, description, requirements, department, employment type, and publication dates
- **Location data** — location, city, state, country, postal code, and country code when published
- **Workplace options** — remote, hybrid, and on-site indicators
- **Application links** — public job page and direct application URL
- **Company context** — company name, career site, corporate website, description, icon, and image
- **Additional hiring data** — salary, education and experience levels, tags, translations, and custom fields when available

**Great for:** recruiting intelligence, job boards, talent sourcing, market research, competitor hiring analysis, HR analytics, and B2B lead generation.

> SEO keywords: **Recruitee scraper**, **Recruitee jobs scraper**, **scrape Recruitee jobs**, **Recruitee job listings**, **Recruitee API alternative**, **hiring data**, **Apify actor**.

### 💡 Why collect Recruitee job listings?

- 📈 **Monitor company growth** — follow new openings by team, location, and seniority.
- 🎯 **Build focused job feeds** — gather structured vacancies for a niche, region, or target-company list.
- 🔎 **Research hiring demand** — compare which skills, departments, and workplace models employers prioritize.
- 💼 **Find sales signals** — identify growing companies and teams with active hiring needs.
- 🔄 **Power recurring workflows** — schedule runs and export results to JSON, CSV, Excel, XML, or Parquet.

### 🧠 Search or scrape specific career sites

#### Search companies

Set `query` to a company name, industry, market, website, or description. For example, use `fintech`, `healthcare`, or a company name to focus the results. Leave it empty for broad discovery.

#### Use direct Recruitee URLs

Set `urls` when you already know the companies you want to monitor. You can provide a career homepage or a Recruitee job URL; the actor resolves it to the relevant company and collects its current openings. When `urls` is provided, `query` is ignored.

### 🚀 Quick Start

1. **Add the actor** — Open **Recruitee Jobs Scraper** in Apify Store.
2. **Choose a source** — Enter a `query`, add one or more `urls`, or leave both empty for broad discovery.
3. **Set the result limit** — Use `maxItems` to control the total number of job offers saved.
4. **Run the actor** — Click **Run** or trigger it through the Apify API or SDK.
5. **Download results** — Export the dataset as JSON, CSV, Excel, XML, or Parquet.

### 💳 Pricing

Apify's **Free plan** includes monthly credits suitable for testing a few companies or a focused search. For larger job feeds, scheduled monitoring, or broader market research, use a paid Apify plan with additional platform credits.

### 📝 Input Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `maxItems` | Integer | Yes | Maximum job offers to save across all companies. Use `0` to continue until discovery is exhausted. Default `100`. |
| `urls` | Array\[String] | No | Public `*.recruitee.com` career or job URLs. When supplied, these URLs are scraped directly and `query` is ignored. |
| `query` | String | No | Find companies by name, industry, careers URL, corporate website, or description. Leave empty for broad discovery. |

#### Example inputs

**Search fintech employers and collect 100 openings**

```json
{
  "query": "fintech",
  "maxItems": 100
}
```

**Monitor openings from specific career sites**

```json
{
  "urls": [
    "https://sharecompanygroup.recruitee.com",
    "https://example.recruitee.com/o/software-engineer"
  ],
  "maxItems": 250
}
```

### 📊 Output / Results

Each dataset item represents one current job offer. Common fields include:

- **id** *(number)* — unique offer identifier
- **title** *(string)* — published job title
- **description** *(string)* — full job description with available formatting
- **requirements** *(string)* — role requirements and candidate profile
- **department** *(string)* — hiring department or team
- **location**, **city**, **state\_name**, **country** *(string)* — published location details
- **remote**, **hybrid**, **on\_site** *(boolean)* — workplace arrangement indicators
- **employment\_type\_code**, **experience\_code**, **education\_code** *(string)* — normalized role attributes when available
- **salary** *(object)* — published salary range, currency, and period when available
- **published\_at**, **created\_at**, **updated\_at** *(string)* — offer timestamps
- **careers\_url** *(string)* — public job listing URL
- **careers\_apply\_url** *(string)* — direct application URL
- **company** *(object)* — company ID, name, career site, website, description, icon, and image

Optional fields vary by employer and may include tags, translations, multiple locations, screening questions, and custom fields.

```json
{
  "id": 2691331,
  "title": "Marketing Lead",
  "department": "Marketing",
  "location": "Amersfoort, Utrecht, Netherlands",
  "city": "Amersfoort",
  "country": "Netherlands",
  "remote": false,
  "hybrid": true,
  "on_site": false,
  "employment_type_code": "fulltime_permanent",
  "published_at": "2026-07-27 14:23:51 UTC",
  "careers_url": "https://sharecompanygroup.recruitee.com/o/marketing-lead",
  "careers_apply_url": "https://sharecompanygroup.recruitee.com/o/marketing-lead/c/new",
  "company": {
    "id": "sharecompanygroup",
    "name": "ShareCompany",
    "url": "https://sharecompanygroup.recruitee.com",
    "websiteUrl": "https://sharecompany.com",
    "description": "Technology and data products for financial markets."
  }
}
```

### 🧭 Tips / Common Recipes

- **Track target employers:** add all known career sites to `urls` and schedule the actor daily or weekly.
- **Research an industry:** use queries such as `fintech`, `renewable energy`, `healthcare`, or `cybersecurity`.
- **Build a regional feed:** use a city or country in `query`, then filter the returned `location` and `country` fields.
- **Test before scaling:** begin with `maxItems: 20`, inspect the output, and increase the limit for production runs.
- **Separate company research:** use Recruitee Companies Scraper when one row per employer is more useful than one row per opening.

### ⚙️ Best Practices

- Use direct career-site URLs for repeatable monitoring of a fixed employer list.
- Remember that `maxItems` applies to job offers across the complete run, not separately to each company.
- Some employers publish only a subset of optional fields, so descriptions, salaries, workplace options, and location detail can vary.
- Schedule recurring runs at a reasonable frequency to track newly published, updated, and closed roles.

### ⚖️ Legal & Ethical Considerations

- Respect Recruitee, employer career-site, and Apify Terms of Service.
- Collect only publicly available job information for a legitimate purpose.
- Handle contact details and other potentially personal data responsibly under GDPR, CCPA, and applicable privacy laws.
- Use reasonable run frequency and avoid abusive collection patterns.
- Attribute or cite source job pages when republishing listings where appropriate.

This Actor is an independent tool and is **not** affiliated with, endorsed by, or sponsored by Recruitee B.V. All trademarks are the property of their respective owners.

### ❓ FAQ

**Do I need to provide Recruitee URLs?**

No. Use `query` to find relevant companies, or leave both `query` and `urls` empty for broad discovery.

**What happens when I provide both `urls` and `query`?**

The actor processes the supplied `urls` directly and ignores `query`.

**Does each result represent a company or a job?**

Each result is one current job offer. Company information is included in the nested `company` object on every row.

**Are closed jobs included?**

The actor collects the current public openings available during the run, so jobs that are no longer published are normally absent.

**Can I monitor several companies in one run?**

Yes. Add multiple Recruitee career or job URLs to `urls`; `maxItems` controls the combined output.

### 🛟 Support

Need a custom field, scheduled hiring monitor, or export tailored to your workflow?
Open an issue or contact the developer at https://igolaizola.com/#contact or https://t.me/igolaizola

# Actor input Schema

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

Maximum number of current job offers to return. Set to 0 to continue until discovery is exhausted.

## `urls` (type: `array`):

Optional public \*.recruitee.com URLs to scrape directly instead of searching.

## `query` (type: `string`):

Find companies by name, careers URL, website, or description. Leave empty for broad discovery.

## Actor input object example

```json
{
  "maxItems": 100
}
```

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

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

# Run the Actor and wait for it to finish
run = client.actor("igolaizola/recruitee-jobs-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 igolaizola/recruitee-jobs-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/67FXJa3LHa4YEDLbl/builds/rnpVgJishd6IbM8Or/openapi.json
