# Hungarian Chamber of Engineers (MMK) Directory Scraper (`hyperion-intelligence/hungarian-engineers-mmk-scraper`) Actor

Extract verified engineering licenses, chamber IDs, direct contacts, and authorized design sectors from the Hungarian Chamber of Engineers (MMK). Token-optimized MCP tool for AI agents, SDR pipelines, and GRC compliance.

- **URL**: https://apify.com/hyperion-intelligence/hungarian-engineers-mmk-scraper.md
- **Developed by:** [Hyperion Intelligence](https://apify.com/hyperion-intelligence) (community)
- **Categories:** Lead generation, Business, AI
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $4.00 / 1,000 engineer results

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/actors/running/actors-in-store.md#pay-per-event

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## Hungarian Chamber of Engineers (MMK) Directory Scraper & MCP Tool

A lightweight, token-optimized Apify Actor and Model Context Protocol (MCP) server tool designed to extract verified professional credentials, active engineering licenses, and direct contact details from the official Hungarian Chamber of Engineers (*Magyar Mérnöki Kamara – MMK*) public registry ([mmk.hu/kereses/tagok](https://mmk.hu/kereses/tagok)).

Built specifically for **Autonomous AI Agents (SDR, HR, and GRC compliance)**, B2B lead enrichment pipelines, and direct integration into Claude Desktop, Cursor, LangChain, Make, and n8n.

***

### ⚡ Key Highlights & Architecture

- **AI & Agent Native (MCP Tool):** Returns strictly typed, flattened JSON data to protect LLM context windows against context pollution and token waste.
- **Ultra-Lightweight & Fast:** Powered by `CheerioCrawler` running on a 128 MB memory profile with sub-second execution speeds (no headless browser overhead).
- **Pay-per-Event (PPE) Pricing:** Pay strictly for successfully extracted engineer records ($0.004 per record) plus a synthetic start fee ($0.00005).
- **Graceful Budget Cap Abort:** Monitors `eventChargeLimitReached` and triggers `crawler.autoscaledPool.abort()`, ensuring all captured records are saved without data loss.
- **Verified Official Registry:** Directly extracts legal license designations, chamber certification IDs, validity dates, and authorized design sectors.

***

### 📥 Input Configuration (Input Schema)

The input schema is intentionally streamlined to 3 parameters to maximize LLM function-calling accuracy and tool-invocation reliability.

| Field | Type | Default | Description |
| :--- | :--- | :--- | :--- |
| `searchQuery` | `String` | `"Kovács"` | Target engineer's name, surname fragment, or specialization keyword. Leave empty to crawl the entire register. |
| `maxItems` | `Integer` | `5` | Maximum number of engineering profiles to extract and charge (range: 1 to 5000). |
| `startUrls` | `Array` | `[]` | Optional direct list of MMK search result or profile URLs. |

#### Input JSON Examples

**Targeted search by name or keyword:**

```json
{
  "searchQuery": "Kovács",
  "maxItems": 10
}
```

**Broad sector extraction:**

```json
{
  "searchQuery": "gépészmérnök",
  "maxItems": 50
}
```

***

### 📤 Output Dataset Format

Extracted records are pushed directly to the default dataset (`Actor.pushData()`). Each engineer profile is formatted as a clean, standardized JSON object:

| Field | Type | Description | Sample Value |
| :--- | :--- | :--- | :--- |
| `fullName` | `string` | Official full name of the engineer | `"Brennerné Kovács Ildikó"` |
| `chamberId` | `string` | Official chamber registration number(s) | `"01-4615, 01-60332"` |
| `status` | `string` | License authorization status | `"jogosult"` |
| `professionalSections` | `string[]` | Registered technical sections and divisions | `["Települési víziközmű tervezése"]` |
| `qualifications` | `string[]` | Certified design/expert licenses with codes and expiry | `["VZ-TEL - Tervezés (2028.05.02)"]` |
| `city` | `string` | Official registered city / seat | `"Budapest"` |
| `contactEmail` | `string \| null` | Official contact email address or `null` | `"brennerne@hidrokomplex.hu"` |
| `profileUrl` | `string` | Direct link to the public profile on MMK | `"https://mmk.hu/profil/view?id=12527"` |
| `scrapedAt` | `string` | Extraction timestamp (ISO 8601) | `"2026-09-10T12:55:00.000Z"` |

#### Output JSON Sample

```json
{
  "fullName": "Brennerné Kovács Ildikó",
  "chamberId": "01-4615, 01-60332",
  "status": "jogosult",
  "professionalSections": [
    "Ivó- és ipari vízellátás, szennyvízelvezetés",
    "Települési víziközmű tervezése",
    "Területi vízgazdálkodási építmények tervezése"
  ],
  "qualifications": [
    "VZ-TEL - Települési víziközmű tervezése (2028.05.02)",
    "VZ-TER - Területi vízgazdálkodási építmények tervezése (2028.05.02)",
    "ME-VZ - Vízgazdálkodási építmények műszaki ellenőrzése (2028.05.02)"
  ],
  "city": "Budapest",
  "contactEmail": "brennerne@hidrokomplex.hu",
  "profileUrl": "https://mmk.hu/profil/view?id=12527",
  "scrapedAt": "2026-09-10T12:55:00.000Z"
}
```

***

### 🤖 Agent & Pipeline Integrations

#### Model Context Protocol (MCP) Integration

Connect this tool natively to Claude Desktop, Cursor, or your autonomous agent runtime via the official Apify MCP Server.

Add this entry to your `claude_desktop_config.json`:

```json
{
  "mcpServers": {
    "apify-mmk-scraper": {
      "command": "npx",
      "args": [
        "-y",
        "@apify/mcp-server",
        "--actor-id",
        "hyperion-intelligence/hungarian-engineers-mmk-scraper",
        "--token",
        "YOUR_APIFY_API_TOKEN"
      ]
    }
  }
}
```

#### Python (LangChain Integration)

```python
from langchain_community.utilities import ApifyWrapper

apify = ApifyWrapper(apify_api_token="YOUR_APIFY_API_TOKEN")

loader = apify.call_actor(
    actor_id="hyperion-intelligence/hungarian-engineers-mmk-scraper",
    run_input={"searchQuery": "villamosmérnök", "maxItems": 10},
    dataset_mapping_function=lambda item: item
)

engineers = loader.load()
for eng in engineers:
    print(f"{eng['fullName']} ({eng['city']}) - {eng['contactEmail']}")
```

#### REST API / cURL

```bash
curl -X POST "https://api.apify.com/v2/acts/hyperion-intelligence~hungarian-engineers-mmk-scraper/runs?token=YOUR_APIFY_API_TOKEN" \
     -H "Content-Type: application/json" \
     -d '{"searchQuery": "statikus", "maxItems": 20}'
```

***

### 💰 Cost & Resource Consumption

- **Compute Allocation:** 128 MB RAM.
- **Billing Model:** Pay-per-Event (PPE).
  - Synthetic Actor Start Fee (`apify-actor-start`): **$0.00005**
  - Dataset Record Fee (`apify-default-dataset-item`): **$0.004 / record**
- **Typical Cost:** Extracting 100 complete, verified profiles costs approximately **$0.40**.

***

### 🔗 Complete Central European Construction & Compliance Stack

Complete your Central European construction and engineering intelligence stack with our companion MCP-native tools:

- **[Hungarian Construction Contractors (MKIK) Register Scraper](https://apify.com/hyperion-intelligence/hungarian-contractors-mkik-scraper):** Extract officially registered construction companies, general contractors, licensed trades, and certified technical supervisors (*felelős műszaki vezető - FMV*).
- **[Hungarian Chamber of Architects (MÉK) Directory Scraper](https://apify.com/hyperion-intelligence/hungarian-architects-mek-scraper):** Extract licensed architects, urban planners, interior designers, and architectural studios with verified MEKON registry credentials and decoded direct contacts.
- **[Hungarian Public Procurement Construction Tenders Scraper](https://apify.com/hyperion-intelligence/hungarian-procurement-tenders-scraper):** Extract structured public construction tenders, RFP notices, CPV classifications (45000000-7), estimated budget values, and submission deadlines from official Hungarian procurement portals.

***

### ⚖️ Legal & Compliance Note

This Actor queries publicly available data published by the Hungarian Chamber of Engineers (*Magyar Mérnöki Kamara*) under statutory transparency requirements for certified professional practitioners. Users are responsible for complying with applicable GDPR and data protection laws when storing and processing personal records.

***

### 🇭🇺 Magyar nyelvű összefoglaló és keresési kulcsszavak

Hivatalos Magyar Mérnöki Kamara (MMK) tagi és szakmagyakorlói névjegyzék adatgyűjtő és API interfész. Tervezőmérnökök, szakértők, felelős műszaki ellenőrök (statikus, épületgépész, villamosmérnök) adatainak kinyerése hiteles kamarai azonosítókkal és elérhetőségekkel B2B értékesítéshez, partnerkereséshez és AI ágensekhez.

# Actor input Schema

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

Opcionális közvetlen MMK keresési URL-ek (pl. szűrt keresések vagy adatlapok). Ha nincs megadva, a keresés a searchQuery vagy az összes kamarai tag alapján indul.

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

Mérnök neve, névrészlete vagy keresőkifejezés (pl. Kovács, Nagy, Minta János).

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

A feldolgozandó és elmentendő mérnökprofilok maximális száma. Az Actor ennek elérésekor azonnal és rendezetten leáll.

## Actor input object example

```json
{
  "searchQuery": "Kovács",
  "maxItems": 5
}
```

# Actor output Schema

## `engineers` (type: `string`):

Certified structural, civil, and MEP engineering profiles

# 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": "Kovács",
    "maxItems": 5
};

// Run the Actor and wait for it to finish
const run = await client.actor("hyperion-intelligence/hungarian-engineers-mmk-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": "Kovács",
    "maxItems": 5,
}

# Run the Actor and wait for it to finish
run = client.actor("hyperion-intelligence/hungarian-engineers-mmk-scraper").call(run_input=run_input)

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

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

```

## CLI example

```bash
echo '{
  "searchQuery": "Kovács",
  "maxItems": 5
}' |
apify call hyperion-intelligence/hungarian-engineers-mmk-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,hyperion-intelligence/hungarian-engineers-mmk-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/aleH8SNeux1P4lE6h/builds/RpWaRVzwoyv7pPAqP/openapi.json
