# Schall Messen Scraper: Ausstellerverzeichnis (`getascraper/schall-messen-exhibitor-directory-scraper`) Actor

Scrape public Schall Messen exhibitor directories for industrial trade shows. Filter by country, hall, or product category, validate official XLSX availability, and export source-linked supplier records as JSON.

- **URL**: https://apify.com/getascraper/schall-messen-exhibitor-directory-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Lead generation, Automation, Other
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.92 / 1,000 exhibitor records

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

## 🧭 Schall Messen Scraper: Ausstellerverzeichnis

<table width="100%" style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tbody style="display:table;width:100%;min-width:100%;border-collapse:collapse;table-layout:fixed">
<tr style="width:100%">
<td colspan="4" style="padding:14px 18px;background:#FFF3E8;border-top:3px solid #C75B12;border-left:1px solid #E5B992;border-right:1px solid #E5B992;border-radius:8px 8px 0 0">
<span style="font-size:16px;font-weight:700;color:#2A1A0F">Build a usable exhibitor list from a public Schall Messen directory.</span> <span style="font-size:15px;color:#5D4030">Keep company, stand, category, and public business details together for trade show research and outreach.</span>
</td>
</tr>
<tr style="width:100%">
<td colspan="4" style="padding:10px 14px;background:#C75B12;border-left:1px solid #E5B992;border-right:1px solid #E5B992">
<span style="color:#FFFFFF;font-size:14px;font-weight:700;letter-spacing:0.5px">EXHIBITOR DIRECTORY TOOLS</span>
<span style="color:#FFF3E8;font-size:13px">&nbsp;&nbsp;&bull;&nbsp;&nbsp;Public trade show directories, ready for structured research.</span>
</td>
</tr>
<tr style="width:100%">
<td width="25%" style="padding:10px 12px;border-left:1px solid #E5B992;border-bottom:1px solid #E5B992;vertical-align:top;width:25%;background:#FFFFFF;border-radius:0 0 0 8px">
<a href="https://apify.com/getascraper/a2z-events-exhibitor-directory-scraper" style="color:#2A1A0F;text-decoration:none;font-weight:700;font-size:13px">a2z Events</a><br>
<span style="color:#5D4030;font-size:11px">Contacts, booths, and categories</span>
</td>
<td width="25%" style="padding:10px 12px;border-left:1px solid #E5B992;border-bottom:1px solid #E5B992;vertical-align:top;width:25%;background:#FFFFFF">
<a href="https://apify.com/getascraper/afag-messe-exhibitor-directory-scraper" style="color:#2A1A0F;text-decoration:none;font-weight:700;font-size:13px">AFAG Messe</a><br>
<span style="color:#5D4030;font-size:11px">interlift, Consumenta, and more</span>
</td>
<td width="25%" style="padding:10px 12px;border-left:1px solid #E5B992;border-bottom:1px solid #E5B992;vertical-align:top;width:25%;background:#FFF3E8">
<a href="https://apify.com/getascraper/schall-messen-exhibitor-directory-scraper" style="color:#9A4308;text-decoration:none;font-weight:700;font-size:13px">Schall Messen</a><br>
<span style="color:#9A4308;font-size:11px;font-weight:700">&#10148; You are here</span>
</td>
<td width="25%" style="padding:10px 12px;border-left:1px solid #E5B992;border-right:1px solid #E5B992;border-bottom:1px solid #E5B992;vertical-align:top;width:25%;background:#FFFFFF;border-radius:0 0 8px 0">
<a href="https://apify.com/getascraper/deutsche-messe-exhibitor-directory-scraper" style="color:#2A1A0F;text-decoration:none;font-weight:700;font-size:13px">Deutsche Messe</a><br>
<span style="color:#5D4030;font-size:11px">Published exhibitor profiles and details</span>
</td>
</tr>
</tbody>
</table>

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:24px 28px;background:#FFF3E8;border:1px solid #E5B992;border-top:4px solid #C75B12;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#2A1A0F;line-height:1.3">Turn a Schall Messen directory into an outreach-ready exhibitor list.</span><br>
<span style="font-size:15px;color:#5D4030;line-height:1.6">Filter an official directory and collect published companies, halls, stands, categories, and available business contact details in one dataset.</span>
</td>
</tr>
</table>

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E5B992;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A4308">🔎 Find the right exhibitors</span><br>
<span style="font-size:12px;color:#5D4030">Focus on the countries, halls, or categories that matter to your team.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E5B992;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A4308">📍 Keep stand context</span><br>
<span style="font-size:12px;color:#5D4030">Match each company to its official profile, hall, booth, and event source.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E5B992;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A4308">🏢 Enrich published details</span><br>
<span style="font-size:12px;color:#5D4030">Collect available addresses, business links, contacts, and category paths.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #E5B992;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#9A4308">🧩 Shape your export</span><br>
<span style="font-size:12px;color:#5D4030">Choose one exhibitor row per company or separate rows for published child details.</span>
</td>
</tr>
</table>

This Schall Messen Ausstellerverzeichnis scraper turns one public official directory into a structured dataset. Use it for supplier research, event intelligence, and B2B outreach preparation.

### 🔍 What does this Actor do?

The Actor processes one official Schall Messen exhibitor directory per run. It supports the verified Motek 2026 directory by default. It can narrow the directory by search term, country, hall, or product-service category.

When profile collection is on, it adds publicly listed company details from each official exhibitor profile. Empty source values are left out. A profile that cannot be collected is clearly marked in `detailStatus`.

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:12px 18px;background:#FFF3E8;border-left:4px solid #C75B12">
<span style="font-size:15px;color:#2A1A0F">&#9889; <strong style="color:#2A1A0F">Start with a focused directory slice.</strong> Choose source labels from the directory, then export genuine public exhibitor data with its source context.</span>
</td>
</tr>
</table>

### 🎯 Who uses this data?

- **I am a trade show sales manager** looking to build a focused exhibitor list before an event so I can plan relevant conversations.
- **I am an event intelligence researcher** looking to compare companies, categories, and stand locations across a Schall Messen directory.
- **I am a supplier sourcing manager** looking to identify relevant manufacturers and service providers from a published trade show catalogue.

### 🚀 How to use it

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF3E8;border:1px solid #E5B992;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C75B12;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#2A1A0F">Choose a directory</span><br>
<span style="font-size:12px;color:#5D4030">Enter one official Schall Messen exhibitor directory URL.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF3E8;border:1px solid #E5B992;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C75B12;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#2A1A0F">Refine the result set</span><br>
<span style="font-size:12px;color:#5D4030">Add a search term, countries, halls, or a category query when needed.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF3E8;border:1px solid #E5B992;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C75B12;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#2A1A0F">Choose your output</span><br>
<span style="font-size:12px;color:#5D4030">Keep flat exhibitor rows or include separate stand, category, product, and contact rows.</span>
</td>
</tr>
</table>

### 🧰 Input

| Field                 | Type             | Required | Description                                                                                                                 |
| --------------------- | ---------------- | -------- | --------------------------------------------------------------------------------------------------------------------------- |
| `startUrl`            | string           | No       | One official Schall Messen directory URL. Defaults to the verified Motek 2026 directory.                                    |
| `searchQuery`         | string           | No       | Match an exhibitor name or directory keyword. The Actor confirms matching records before saving them.                       |
| `countries`           | array of strings | No       | Official country labels to include. Every supplied label must exist in the selected directory.                              |
| `halls`               | array of strings | No       | Official hall labels to include. Every supplied label must exist in the selected directory.                                 |
| `categoryQuery`       | string           | No       | Match a published category or product-service label in the selected directory.                                              |
| `allowPartialResults` | boolean          | No       | Keep a listing row when its official profile is temporarily unavailable. Defaults to enabled.                               |
| `validateXlsx`        | boolean          | No       | Check whether the optional official spreadsheet is available and record the result in run statistics. Defaults to disabled. |
| `fetchDetails`        | boolean          | No       | Add available profile details such as address, contact, social links, and category paths. Defaults to enabled.              |
| `outputFormat`        | enum             | No       | Choose flat exhibitor rows or exploded parent and child rows. Defaults to flat.                                             |
| `maxItems`            | integer          | No       | Cap deduplicated parent exhibitors before any child rows are added. Defaults to 10. Set `0` only for an unlimited run.      |
| `maxConcurrency`      | integer          | No       | Set the number of simultaneous profile requests from 1 to 10. Defaults to 4.                                                |
| `proxyConfiguration`  | object           | No       | Configure Apify Proxy for directory and profile requests. The default uses Apify Proxy.                                     |

### 📊 Data table

| Field                | Type             | Description                                                              |
| -------------------- | ---------------- | ------------------------------------------------------------------------ |
| `recordType`         | string           | Row kind: exhibitor, stand, category, product, or contact.               |
| `platform`           | string           | Source platform identifier, `schall-messen`.                             |
| `eventId`            | string           | Source event identifier when published.                                  |
| `eventName`          | string           | Published event name.                                                    |
| `eventEdition`       | string           | Published event edition, when available.                                 |
| `eventUrl`           | string           | Official directory URL selected for the run.                             |
| `sourceUrl`          | string           | Official listing page where the exhibitor was found.                     |
| `scrapedAt`          | string           | Time the record was collected.                                           |
| `exhibitorId`        | string           | Stable identifier from the official exhibitor profile URL.               |
| `parentExhibitorId`  | string           | Parent exhibitor identifier on exploded child rows.                      |
| `companyName`        | string           | Published exhibitor company name.                                        |
| `profileUrl`         | string           | Official exhibitor profile URL.                                          |
| `companyDescription` | string           | Published company description, when available.                           |
| `logoUrl`            | string           | Published company logo URL, when available.                              |
| `headerImageUrl`     | string           | Published profile header image URL, when available.                      |
| `address`            | object           | Published street, postal code, city, region, and country.                |
| `country`            | string           | Exhibitor country.                                                       |
| `hall`               | string           | Primary published hall.                                                  |
| `booth`              | string           | Primary published booth or stand number.                                 |
| `stands`             | array of objects | Published hall and booth combinations.                                   |
| `website`            | string           | Public company website URL.                                              |
| `email`              | string           | Public business email address.                                           |
| `phone`              | string           | Public business phone number.                                            |
| `socialLinks`        | object           | Public LinkedIn, Facebook, Instagram, X, or YouTube links.               |
| `contacts`           | array of objects | Published contact name, role, email, and phone details.                  |
| `categories`         | array of strings | Published leaf categories.                                               |
| `categoryPaths`      | array of arrays  | Full published category paths.                                           |
| `products`           | array of strings | Published products or services.                                          |
| `brands`             | array of strings | Published brands.                                                        |
| `exhibitions`        | array of strings | Published exhibition references.                                         |
| `detailStatus`       | string           | Whether the official profile was fetched, not requested, or unavailable. |
| `stand`              | object           | One stand object on an exploded stand row.                               |
| `category`           | string           | One category on an exploded category row.                                |
| `categoryPath`       | array of strings | Category path for an exploded category row.                              |
| `product`            | string           | One product on an exploded product row.                                  |
| `contact`            | object           | One contact object on an exploded contact row.                           |

### 🧾 Example result

This trimmed record comes from a verified local Motek 2026 run on 2026-08-16. It includes only source values saved for that exhibitor.

```json
{
    "recordType": "exhibitor",
    "platform": "schall-messen",
    "eventId": "2026",
    "eventName": "List of exhibitors | Motek Internationale Fachmesse für Produktions- und Montageautomatisierung",
    "eventEdition": "2026",
    "eventUrl": "https://www.motek-messe.de/en/list-of-exhibitors/",
    "exhibitorId": "99868",
    "companyName": "WAHLTEC GmbH",
    "profileUrl": "https://www.motek-messe.de/en/Exhibitor-Index/99868-wahltec-gmbh",
    "address": {
        "street": "Kornstr. 16",
        "postalCode": "88370",
        "city": "Ebenweiler",
        "country": "Germany"
    },
    "hall": "6",
    "booth": "6001",
    "website": "https://www.wahltec.de/",
    "categories": ["Components for special machine manufacturing", "Handling technology"],
    "detailStatus": "fetched"
}
```

### 💰 Pricing

Pricing is pay per result. Empty runs cost nothing. There are no subscriptions or fixed monthly fees.

### ⭐ Enjoying Schall Messen exhibitor directory scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#FFF3E8;border:1px solid #E5B992;border-left:5px solid #C75B12;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px;color:#2A1A0F">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#2A1A0F">Did this directory save you hours of manual exhibitor research?</span><br>
<span style="font-size:14px;color:#5D4030">A 5-star rating takes 10 seconds and helps trade show teams find this Actor. Your feedback also guides future improvements.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#C75B12;border:1px solid #E5B992;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/schall-messen-exhibitor-directory-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

### ❓ FAQ

##### What does this Schall Messen exhibitor directory scraper collect?

It collects public exhibitor listings from one official Schall Messen directory. With profile collection enabled, it also saves publicly listed business details when the source provides them.

##### Which directories can I use?

Use an HTTPS list-of-exhibitors page from an official Schall Messen, Motek, or Bondexpo event domain. The default is the verified Motek 2026 directory.

##### Schall Messen Ausstellerverzeichnis exportieren?

Yes. Select an official directory, choose source-backed filters if needed, and run the Actor. The output keeps the official profile and directory URLs for each saved exhibitor.

##### What happens when a profile is unavailable?

With partial results enabled, the Actor keeps the listing row and marks `detailStatus` as failed. With partial results disabled, the run stops instead.

### 🔗 Other actors

- [a2z Events exhibitor directory scraper: contacts, booths & categories](https://apify.com/getascraper/a2z-events-exhibitor-directory-scraper) ↗ - Export exhibitor contacts, booths, and categories from a2z Events directories.
- [AFAG Messe exhibitor directory scraper: interlift, Consumenta & more](https://apify.com/getascraper/afag-messe-exhibitor-directory-scraper) ↗ - Collect published exhibitor details from AFAG Messe event directories.
- [Deutsche Messe exhibitor directory scraper](https://apify.com/getascraper/deutsche-messe-exhibitor-directory-scraper) ↗ - Export published exhibitor profiles and optional detail records from Deutsche Messe directories.
- [Messe Frankfurt exhibitor directory scraper: supported event codes](https://apify.com/getascraper/messe-frankfurt-exhibitor-directory-scraper) ↗ - Collect company, hall, stand, and category data from supported Messe Frankfurt fairs.
- [Messe Stuttgart exhibitor directory scraper: Intergastra, R+T, didacta](https://apify.com/getascraper/messe-stuttgart-exhibitor-directory-scraper) ↗ - Extract published exhibitors and business details from selected Messe Stuttgart fairs.

# Actor input Schema

## `startUrl` (type: `string`):

One official Schall Messen list-of-exhibitors page. The verified Motek 2026 directory is prefilled.

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

Passes the directory's published sTxt search parameter, then confirms the match locally.

## `countries` (type: `array`):

Source-backed country labels, such as Germany or Switzerland. Unknown values fail clearly instead of being ignored.

## `halls` (type: `array`):

Source-backed hall labels, such as 6. Unknown values fail clearly instead of being ignored.

## `categoryQuery` (type: `string`):

Matches the directory's dynamically published category tree and sends its discovered HG, OG, or PID filter ID.

## `allowPartialResults` (type: `boolean`):

Keep a listing row with detailStatus=failed if its official profile page is temporarily unavailable. Directory-page failures still stop the run.

## `validateXlsx` (type: `boolean`):

Optionally check the unauthenticated official XLSX endpoint and record availability in RUN\_STATS. It is not used as the primary parser.

## `fetchDetails` (type: `boolean`):

Fetch stable official profile URLs for richer address, contact, social, and nested category-path data.

## `outputFormat` (type: `string`):

Flat emits one row per exhibitor. Exploded adds child rows for published stands, categories, products, and contacts after the capped parent row.

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

Maximum unique parent exhibitors before detail enrichment and exploded child rows. Flat output has at most this many rows; exploded output can have more child rows. Set 0 only to explicitly opt into an unlimited run.

## `maxConcurrency` (type: `integer`):

Concurrent official profile requests. Use the default for respectful source load.

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

Apify Proxy configuration for direct HTTP requests. Datacenter proxy is the default.

## Actor input object example

```json
{
  "startUrl": "https://www.motek-messe.de/en/list-of-exhibitors/",
  "searchQuery": "",
  "countries": [],
  "halls": [],
  "categoryQuery": "",
  "allowPartialResults": true,
  "validateXlsx": false,
  "fetchDetails": true,
  "outputFormat": "flat",
  "maxItems": 10,
  "maxConcurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

## `runStats` (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 = {
    "startUrl": "https://www.motek-messe.de/en/list-of-exhibitors/",
    "searchQuery": "",
    "countries": [],
    "halls": [],
    "categoryQuery": "",
    "allowPartialResults": true,
    "validateXlsx": false,
    "fetchDetails": true,
    "outputFormat": "flat",
    "maxItems": 10,
    "maxConcurrency": 4,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/schall-messen-exhibitor-directory-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 = {
    "startUrl": "https://www.motek-messe.de/en/list-of-exhibitors/",
    "searchQuery": "",
    "countries": [],
    "halls": [],
    "categoryQuery": "",
    "allowPartialResults": True,
    "validateXlsx": False,
    "fetchDetails": True,
    "outputFormat": "flat",
    "maxItems": 10,
    "maxConcurrency": 4,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/schall-messen-exhibitor-directory-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 '{
  "startUrl": "https://www.motek-messe.de/en/list-of-exhibitors/",
  "searchQuery": "",
  "countries": [],
  "halls": [],
  "categoryQuery": "",
  "allowPartialResults": true,
  "validateXlsx": false,
  "fetchDetails": true,
  "outputFormat": "flat",
  "maxItems": 10,
  "maxConcurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/schall-messen-exhibitor-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/schall-messen-exhibitor-directory-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/LBVnsPnnZBc8tDFPB/builds/iSituhWNydduiUIfN/openapi.json
