# Profession.hu Job Scraper (`solidcode/profession-hu-scraper`) Actor

\[💰 $1.8 / 1K] Extract job listings from profession.hu, Hungary's largest job board. Filter by category, location, employment type, remote work, and experience level. Returns title, company, location, salary, posted date, full description, skills, and the apply link per job.

- **URL**: https://apify.com/solidcode/profession-hu-scraper.md
- **Developed by:** [SolidCode](https://apify.com/solidcode) (community)
- **Categories:** Jobs, Automation, Developer tools
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.80 / 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 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

## Profession.hu Job Scraper

Pull job listings from profession.hu — Hungary's largest job board — at scale, complete with salary ranges in HUF, full descriptions, required skills, benefits, and the direct apply link for every posting. Filter across 23 job categories, five experience bands, on-site or remote arrangements, or paste a search URL you already built in the browser. Built for recruiters, HR teams, and labor-market analysts who need clean, structured Hungarian job-market data without copy-pasting listings one page at a time.

### Why This Scraper?

- **All 23 profession.hu job categories** — IT development, engineering, finance & accounting, healthcare & pharma, logistics, sales & retail, marketing, hospitality, skilled trades, public administration, and more, filterable individually or all at once.
- **Five experience-level bands** — no experience needed, 1–3, 3–5, 5–10, and 10+ years, so you pull only the seniority you're hiring or analyzing for.
- **Salary ranges in HUF, not just text** — every posting that publicises pay returns parsed `salaryMin` and `salaryMax` numbers alongside the original `salaryText`, ready for compensation benchmarking.
- **Four description formats per job** — plain text, HTML, and Markdown built from the same source, plus an `all` mode that returns every format in one row.
- **Structured requirements, responsibilities, skills, and benefits** — each detail-enriched job breaks the listing into separate fields instead of one wall of text.
- **Tech-stack extraction for IT roles** — technologies named in the posting are surfaced as a clean `techStack` array, perfect for sourcing developers by language or framework.
- **Five employment types crossed with remote filtering** — full-time, part-time, internship, contractor, and student/trainee, narrowable to on-site or remote postings.
- **Company profile and logo for every employer** — `companyName`, `companyProfileUrl`, and `companyLogoUrl` captured per job for branding and outreach lists.
- **Search by filters or paste a URL** — run structured filters, paste a profession.hu search URL you've already refined, or drop in individual job URLs — duplicates are removed across all three.

### Use Cases

**Recruitment & Sourcing**
- Build candidate-facing job feeds for a specific category like IT development or engineering
- Source IT roles by tech stack (find every posting mentioning a given language or framework)
- Pull only remote openings to match flexible-work candidates
- Track which companies are actively hiring in Budapest, Pest, or nationwide

**Labor Market Research**
- Map open-position volume across all 23 categories to spot demand shifts
- Compare hiring activity by city, county, or experience band
- Monitor full-time vs. part-time vs. internship mix across sectors
- Measure how many postings disclose salary versus keep it confidential

**Competitive Salary Intelligence**
- Benchmark pay ranges in HUF by role, category, and seniority
- Track salary movement over repeated runs for the same search
- Compare disclosed compensation across competing employers
- Identify under- or over-paying segments using parsed `salaryMin`/`salaryMax`

**Lead Generation & Sales**
- Build prospect lists of companies hiring in your target sector
- Reach decision-makers at firms scaling a specific team
- Feed HR-tech, staffing, and recruitment-agency CRMs with fresh employer data
- Identify companies posting high volumes of roles as expansion signals

**Data Enrichment & Integration**
- Enrich an existing employer database with current openings and logos
- Power job-aggregator and ATS dashboards with structured Hungarian listings
- Build alerting on new postings for saved searches
- Export clean rows straight into BI and analytics pipelines

### Getting Started

#### Search by Keyword

The simplest run — one keyword, nationwide:

```json
{
    "searchQuery": "szoftverfejlesztő",
    "maxResults": 50
}
````

#### Keyword + Location + Category

Narrow to IT development roles in Budapest:

```json
{
    "searchQuery": "developer",
    "location": "Budapest",
    "categories": ["it-development"],
    "experienceLevel": "3-5",
    "maxResults": 100
}
```

#### Remote Roles, Listing-Only (Fast)

Pull remote openings without per-job detail enrichment for a quicker run:

```json
{
    "categories": ["it-development", "marketing-media-pr"],
    "remoteType": "remote",
    "includeDetails": false,
    "maxResults": 200
}
```

#### Paste a Search URL

Already filtered the results in your browser? Paste the URL and the filters above are ignored:

```json
{
    "searchUrls": ["https://www.profession.hu/allasok/1,0,0,it-programozas-fejlesztes"],
    "descriptionFormat": "markdown",
    "maxResults": 300
}
```

### Input Reference

#### What to Scrape

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchQuery` | string | `"szoftverfejlesztő"` | Job title, role, or keyword to search for. Leave blank to collect all jobs matching the filters. |
| `location` | string | `"Budapest"` | City or county to search in (e.g. Budapest, Pest, Debrecen). Leave blank to search nationwide. |

#### Filters

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `categories` | array | `[]` | Job categories to include. Choose any of the 23 categories; leave empty for all. |
| `employmentTypes` | array | `[]` | Employment types: Full-time, Part-time, Internship, Contractor, Student / trainee. Empty includes all. |
| `remoteType` | select | `Any` | Work arrangement: Any, On-site, or Remote. |
| `experienceLevel` | select | `Any` | Required experience: Any, No experience needed, 1–3 years, 3–5 years, 5–10 years, or 10+ years. |

#### Or Paste URLs

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `searchUrls` | array | `[]` | Paste profession.hu search or category URLs from your browser. When provided, the keyword and filters above are ignored. |
| `jobUrls` | array | `[]` | Paste individual job URLs to scrape just those listings. Takes precedence over searches. |

#### Detail & Limits

| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `includeDetails` | boolean | `true` | Fetch each job's detail page for the full description, requirements, responsibilities, skills, benefits, and tech stack. Turn off for faster listing-only runs. |
| `descriptionFormat` | select | `All formats` | Which description formats to include: All formats, Plain text only, HTML only, or Markdown only. |
| `maxResults` | integer | `100` | Maximum job rows to return. Set to 0 for no cap (an internal upper bound still applies). |

### Output

Each result is a single flat job row. Here's a representative result with full details enabled:

```json
{
    "jobId": "8421736",
    "title": "Senior Szoftverfejlesztő (Java)",
    "url": "https://www.profession.hu/allas/senior-szoftverfejleszto-java-8421736",
    "category": "IT Programming / Development",
    "experienceRequired": "3-5 years",
    "companyName": "Acme Technologies Kft.",
    "companyId": "1452",
    "companyProfileUrl": "https://www.profession.hu/ceg/acme-technologies-kft-1452",
    "companyLogoUrl": "https://www.profession.hu/images/logo/acme.png",
    "location": "Budapest",
    "addressLocality": "Budapest",
    "addressRegion": "Budapest",
    "postalCode": "1117",
    "streetAddress": "Október huszonharmadika u. 8-10.",
    "employmentType": "Full-time",
    "remoteType": "on-site",
    "salaryText": "800 000 - 1 200 000 Ft/hó",
    "salaryPeriod": "MONTHLY",
    "salaryMin": 800000,
    "salaryMax": 1200000,
    "currency": "HUF",
    "postedAt": "2026-06-18",
    "validThrough": "2026-07-18",
    "education": "College / university degree",
    "workHours": "Full-time",
    "description": "We are looking for a senior Java developer to join our platform team...",
    "descriptionHtml": "<p>We are looking for a senior Java developer...</p>",
    "descriptionMarkdown": "We are looking for a senior Java developer...",
    "requirements": "5+ years of Java, Spring Boot, SQL...",
    "responsibilities": "Design and build backend services...",
    "skills": "Java, Spring Boot, PostgreSQL, REST APIs",
    "benefits": "Cafeteria, home office support, training budget",
    "techStack": ["Java", "Spring Boot", "PostgreSQL", "Kubernetes"],
    "applyUrl": "https://www.profession.hu/jelentkezes/8421736"
}
```

#### Core Fields

| Field | Type | Description |
|-------|------|-------------|
| `jobId` | string | Stable profession.hu job identifier |
| `title` | string | Job title |
| `url` | string | Canonical job listing URL |
| `category` | string | Job category |
| `experienceRequired` | string | Required experience level |
| `education` | string | Required education level, when stated |

#### Company

| Field | Type | Description |
|-------|------|-------------|
| `companyName` | string | Hiring company name |
| `companyId` | string | Company identifier |
| `companyProfileUrl` | string | Company profile page URL |
| `companyLogoUrl` | string | Company logo image URL |

#### Location & Type

| Field | Type | Description |
|-------|------|-------------|
| `location` | string | Job location (city / county) as shown |
| `employmentType` | string | Employment type (Full-time, Part-time, etc.) |
| `remoteType` | string | Work arrangement (on-site / remote) |
| `workHours` | string | Working-hours arrangement, when stated |

#### Address

Populated when `includeDetails` is on and the listing exposes a structured address.

| Field | Type | Description |
|-------|------|-------------|
| `addressLocality` | string | City of the job address |
| `addressRegion` | string | Region / county of the job address |
| `postalCode` | string | Postal code of the job address |
| `streetAddress` | string | Street address of the job |

#### Compensation

| Field | Type | Description |
|-------|------|-------------|
| `salaryText` | string | Salary exactly as displayed on the listing |
| `salaryMin` | number | Parsed salary lower bound, when pay is publicised |
| `salaryMax` | number | Parsed salary upper bound, when pay is publicised |
| `salaryPeriod` | string | Salary period (e.g. MONTHLY), when publicised |
| `currency` | string | Salary currency (typically HUF) |

#### Dates

| Field | Type | Description |
|-------|------|-------------|
| `postedAt` | string | Date the listing was posted (ISO 8601) |
| `validThrough` | string | Application deadline / expiry, when present (ISO 8601) |

#### Description

Populated when `includeDetails` is on; formats follow `descriptionFormat`.

| Field | Type | Description |
|-------|------|-------------|
| `description` | string | Full plain-text job description |
| `descriptionHtml` | string | Full description as HTML |
| `descriptionMarkdown` | string | Full description as Markdown |

#### Requirements & Skills

Populated when `includeDetails` is on.

| Field | Type | Description |
|-------|------|-------------|
| `requirements` | string | Requirements section of the posting |
| `responsibilities` | string | Responsibilities section of the posting |
| `skills` | string | Listed skills |
| `benefits` | string | Listed benefits and perks |
| `techStack` | array | Technologies surfaced for IT roles |
| `applyUrl` | string | Direct application link for the posting |

### Tips for Best Results

- **Search in Hungarian for the most results** — profession.hu is a Hungarian-language board, so "könyvelő" or "szoftverfejlesztő" returns far more matches than the English equivalent.
- **Paste a search URL you've already filtered** — refine results in the profession.hu UI, then paste that URL into `searchUrls`; it carries your exact filters and skips rebuilding them here.
- **Turn off detail enrichment for fast scans** — set `includeDetails` to false when you only need listing-level fields like title, company, location, and salary text; flip it on when you need full descriptions, skills, and benefits.
- **Shrink your rows with `descriptionFormat`** — pick a single format (text, HTML, or Markdown) instead of `All formats` to keep output lean for spreadsheets and dashboards.
- **Salary numbers appear only when pay is publicised** — many Hungarian postings keep pay confidential, so `salaryMin`/`salaryMax` populate only on listings that disclose a range; `salaryText` always reflects what's shown.
- **Start small, then scale** — run with `maxResults` of 25–50 to confirm the data fits your needs before launching a large pull.
- **Combine categories with a keyword** — pairing a broad keyword with two or three categories returns a tightly targeted result set without scanning the whole board.

### Pricing

**From $1.80 per 1,000 results** — flat pay-per-result pricing that undercuts the typical Hungarian job-board scraper. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows total cost at each discount tier.

| Results | No discount | Bronze | Silver | Gold |
|---------|-------------|--------|--------|------|
| 100 | $0.22 | $0.20 | $0.19 | $0.18 |
| 1,000 | $2.15 | $2.00 | $1.90 | $1.80 |
| 10,000 | $21.50 | $20.00 | $19.00 | $18.00 |
| 100,000 | $215.00 | $200.00 | $190.00 | $180.00 |

A "result" is any job row in the output dataset. No compute or time-based charges — you pay per result, plus a small fixed per-run start fee.

### Integrations

Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:

- **Zapier** / **Make** / **n8n** — Workflow automation
- **Google Sheets** — Direct spreadsheet export
- **Slack** / **Email** — Notifications on new results
- **Webhooks** — Trigger custom APIs on run completion
- **Apify API** — Full programmatic access

### Legal & Ethical Use

This actor is designed for legitimate recruitment research, labor-market analysis, and lead generation. Users are responsible for complying with applicable laws and profession.hu's Terms of Service. Do not use extracted data for spam, harassment, or any unlawful purpose, and handle any personal data in line with GDPR and other applicable privacy regulations.

# Actor input Schema

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

Job title, role, or keyword to search for (e.g. 'szoftverfejlesztő', 'sales manager', 'könyvelő'). Leave blank to collect all jobs matching the filters below.

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

City or county to search in (e.g. 'Budapest', 'Pest', 'Debrecen'). Leave blank to search nationwide.

## `categories` (type: `array`):

Only include jobs in these categories. Leave empty to include every category.

## `employmentTypes` (type: `array`):

Only include jobs of these employment types. Leave empty to include all types. This filter is applied to the jobs as they are collected (the site has no employment-type search filter), so on very specific searches it may scan several listing pages to find matches; the run stops early if many pages in a row contain none.

## `remoteType` (type: `string`):

Filter by where the work is done: On-site or Remote. Choosing anything other than 'Any' reads each job's detail page to determine its work arrangement, so full job details are fetched automatically for this filter even if detail enrichment is turned off below. On very specific searches the run may stop early when several listing pages in a row contain no matching jobs.

## `experienceLevel` (type: `string`):

Only include jobs requiring this level of experience. Leave as 'Any' for no restriction.

## `searchUrls` (type: `array`):

Paste profession.hu search or category URLs directly from your browser (e.g. https://www.profession.hu/allasok/...). Use this when you've already built filters in the site's UI. When provided, the keyword and filters above are ignored.

## `jobUrls` (type: `array`):

Paste one or more individual job URLs to scrape just those listings. If set, only these postings are scraped and the search filters above are ignored.

## `includeDetails` (type: `boolean`):

Turn on to open each job's detail page and collect the full description, requirements, responsibilities, skills, benefits, and tech stack. Turn off for faster runs with listing-level fields only.

## `descriptionFormat` (type: `string`):

Which description formats to include in each job. Only applies when full job details are fetched.

## `maxResults` (type: `integer`):

Hard cap on total job rows returned across all sources. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper bound still applies to prevent runaway pagination). The actor stops requesting new pages once this number is hit but keeps the full last page even if it slightly overshoots.

## Actor input object example

```json
{
  "searchQuery": "szoftverfejlesztő",
  "location": "Budapest",
  "categories": [],
  "employmentTypes": [],
  "remoteType": "any",
  "experienceLevel": "any",
  "searchUrls": [],
  "jobUrls": [],
  "includeDetails": true,
  "descriptionFormat": "all",
  "maxResults": 100
}
```

# Actor output Schema

## `overview` (type: `string`):

Table of jobs with the most useful fields — title, company, location, employment type, salary, and link.

## `details` (type: `string`):

Full per-job rows with description, company info, salary, category, experience, skills, tech stack, benefits, and apply link.

# 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 = {
    "searchQuery": "szoftverfejlesztő",
    "location": "Budapest",
    "categories": [],
    "employmentTypes": [],
    "remoteType": "any",
    "experienceLevel": "any",
    "searchUrls": [],
    "jobUrls": [],
    "includeDetails": true,
    "descriptionFormat": "all",
    "maxResults": 100
};

// Run the Actor and wait for it to finish
const run = await client.actor("solidcode/profession-hu-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 = {
    "searchQuery": "szoftverfejlesztő",
    "location": "Budapest",
    "categories": [],
    "employmentTypes": [],
    "remoteType": "any",
    "experienceLevel": "any",
    "searchUrls": [],
    "jobUrls": [],
    "includeDetails": True,
    "descriptionFormat": "all",
    "maxResults": 100,
}

# Run the Actor and wait for it to finish
run = client.actor("solidcode/profession-hu-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 '{
  "searchQuery": "szoftverfejlesztő",
  "location": "Budapest",
  "categories": [],
  "employmentTypes": [],
  "remoteType": "any",
  "experienceLevel": "any",
  "searchUrls": [],
  "jobUrls": [],
  "includeDetails": true,
  "descriptionFormat": "all",
  "maxResults": 100
}' |
apify call solidcode/profession-hu-scraper --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Profession.hu Job Scraper",
        "description": "[💰 $1.8 / 1K] Extract job listings from profession.hu, Hungary's largest job board. Filter by category, location, employment type, remote work, and experience level. Returns title, company, location, salary, posted date, full description, skills, and the apply link per job.",
        "version": "1.0",
        "x-build-id": "wwsL3jbTeWpmcxntS"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/solidcode~profession-hu-scraper/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-solidcode-profession-hu-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/solidcode~profession-hu-scraper/runs": {
            "post": {
                "operationId": "runs-sync-solidcode-profession-hu-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/solidcode~profession-hu-scraper/run-sync": {
            "post": {
                "operationId": "run-sync-solidcode-profession-hu-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": {
                    "searchQuery": {
                        "title": "Search Keyword",
                        "type": "string",
                        "description": "Job title, role, or keyword to search for (e.g. 'szoftverfejlesztő', 'sales manager', 'könyvelő'). Leave blank to collect all jobs matching the filters below."
                    },
                    "location": {
                        "title": "Location",
                        "type": "string",
                        "description": "City or county to search in (e.g. 'Budapest', 'Pest', 'Debrecen'). Leave blank to search nationwide."
                    },
                    "categories": {
                        "title": "Job Categories",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include jobs in these categories. Leave empty to include every category.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "administration-office",
                                "bank-insurance",
                                "logistics-procurement",
                                "healthcare-pharma",
                                "sales-retail",
                                "production-manufacturing",
                                "human-resources",
                                "it-development",
                                "legal",
                                "marketing-media-pr",
                                "education-science-sport",
                                "manual-unskilled",
                                "finance-accounting",
                                "customer-service",
                                "hospitality-tourism",
                                "construction-real-estate",
                                "agriculture-environment",
                                "skilled-trade",
                                "it-ops-telecom",
                                "business-support-ssc",
                                "engineering",
                                "public-administration",
                                "management-executive"
                            ],
                            "enumTitles": [
                                "Administration / Assistant / Office",
                                "Bank / Insurance / Broker",
                                "Logistics / Procurement / Transport",
                                "Healthcare / Pharma",
                                "Sales / Retail",
                                "Production / Manufacturing",
                                "Human Resources",
                                "IT Programming / Development",
                                "Legal",
                                "Marketing / Media / PR",
                                "Education / Science / Sport",
                                "Manual / Unskilled / Trainee labour",
                                "Finance / Accounting",
                                "Customer Service",
                                "Hospitality / Hotel / Tourism",
                                "Construction / Real Estate",
                                "Agriculture / Environment",
                                "Skilled trade",
                                "IT Operations / Telecommunications",
                                "Business support centres (SSC)",
                                "Engineering",
                                "Public administration",
                                "Management / Executive"
                            ]
                        },
                        "default": []
                    },
                    "employmentTypes": {
                        "title": "Employment Types",
                        "uniqueItems": true,
                        "type": "array",
                        "description": "Only include jobs of these employment types. Leave empty to include all types. This filter is applied to the jobs as they are collected (the site has no employment-type search filter), so on very specific searches it may scan several listing pages to find matches; the run stops early if many pages in a row contain none.",
                        "items": {
                            "type": "string",
                            "enum": [
                                "full-time",
                                "part-time",
                                "internship",
                                "contractor",
                                "student"
                            ],
                            "enumTitles": [
                                "Full-time",
                                "Part-time",
                                "Internship",
                                "Contractor",
                                "Student / trainee"
                            ]
                        },
                        "default": []
                    },
                    "remoteType": {
                        "title": "Work Arrangement",
                        "enum": [
                            "any",
                            "on-site",
                            "remote"
                        ],
                        "type": "string",
                        "description": "Filter by where the work is done: On-site or Remote. Choosing anything other than 'Any' reads each job's detail page to determine its work arrangement, so full job details are fetched automatically for this filter even if detail enrichment is turned off below. On very specific searches the run may stop early when several listing pages in a row contain no matching jobs.",
                        "default": "any"
                    },
                    "experienceLevel": {
                        "title": "Experience Level",
                        "enum": [
                            "any",
                            "none",
                            "1-3",
                            "3-5",
                            "5-10",
                            "10+"
                        ],
                        "type": "string",
                        "description": "Only include jobs requiring this level of experience. Leave as 'Any' for no restriction.",
                        "default": "any"
                    },
                    "searchUrls": {
                        "title": "Search URLs",
                        "type": "array",
                        "description": "Paste profession.hu search or category URLs directly from your browser (e.g. https://www.profession.hu/allasok/...). Use this when you've already built filters in the site's UI. When provided, the keyword and filters above are ignored.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "jobUrls": {
                        "title": "Job URLs",
                        "type": "array",
                        "description": "Paste one or more individual job URLs to scrape just those listings. If set, only these postings are scraped and the search filters above are ignored.",
                        "items": {
                            "type": "string"
                        }
                    },
                    "includeDetails": {
                        "title": "Fetch full job details",
                        "type": "boolean",
                        "description": "Turn on to open each job's detail page and collect the full description, requirements, responsibilities, skills, benefits, and tech stack. Turn off for faster runs with listing-level fields only.",
                        "default": true
                    },
                    "descriptionFormat": {
                        "title": "Description Format",
                        "enum": [
                            "all",
                            "text",
                            "html",
                            "markdown"
                        ],
                        "type": "string",
                        "description": "Which description formats to include in each job. Only applies when full job details are fetched.",
                        "default": "all"
                    },
                    "maxResults": {
                        "title": "Maximum Results",
                        "minimum": 0,
                        "type": "integer",
                        "description": "Hard cap on total job rows returned across all sources. Default 100 — increase for bigger runs, or set to 0 for no cap (an internal upper bound still applies to prevent runaway pagination). The actor stops requesting new pages once this number is hit but keeps the full last page even if it slightly overshoots.",
                        "default": 100
                    }
                }
            },
            "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
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
