# The smarter E Scraper: Ausstellerverzeichnis (`getascraper/the-smarter-e-exhibitor-directory-scraper`) Actor

Scrape The smarter E Europe public exhibitor directories. Filter by exhibition, product group, country, or hall, enrich published profiles, and export source-linked solar and energy company records as JSON.

- **URL**: https://apify.com/getascraper/the-smarter-e-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

## ⚡ The smarter E Scraper: Ausstellerverzeichnis

<table width="100%" style="width:100%;border-collapse:collapse">
<tr>
<td style="padding:24px 28px;background:#FFF4E8;border:1px solid #F2C99A;border-top:4px solid #C65D00;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Build a qualified The smarter E exhibitor list for your next solar and energy conversation.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Collect public exhibitor profiles, stand locations, categories, products, websites, and published business contacts from The smarter E Europe.</span>
</td>
</tr>
</table>

<table width="100%" style="width:100%;border-collapse:collapse;margin-top:12px">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F2C99A;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#8B4300">🔎 Target accounts</span><br>
<span style="font-size:12px;color:#57534E">Find exhibitors that fit your market, product, country, or hall.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F2C99A;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#8B4300">📍 Plan meetings</span><br>
<span style="font-size:12px;color:#57534E">Bring hall and booth details into your event plan.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F2C99A;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#8B4300">🏷️ Qualify faster</span><br>
<span style="font-size:12px;color:#57534E">Use published categories, brands, and products to focus outreach.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F2C99A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#8B4300">🔗 Keep context</span><br>
<span style="font-size:12px;color:#57534E">Retain the original directory and exhibitor profile links for review.</span>
</td>
</tr>
</table>

Turn The smarter E Europe's public exhibitor directory into a structured working list. Start with the default directory or narrow it by company, exhibition, product group, country, or hall.

### 🎯 What this Actor does

The smarter E exhibitor directory scraper collects public directory cards and, by default, enriches them from public exhibitor profile pages. Each exhibitor record can include company details, event context, stand locations, categories, products, brands, website links, social links, and business contacts that the profile publishes.

No contact details are guessed or unlocked. Missing public fields are left out of the result.

### 👥 Who it is for

- **I am a solar sales manager** planning meetings at The smarter E Europe. I need a focused account list with halls, booths, and public company details.
- **I am a partnership lead** looking for energy companies in a product segment. I want to qualify potential partners before I contact them.
- **I am an event analyst** comparing exhibitors across editions. I need consistent company, category, and source information for my research.

### 🚀 How to use it

<table width="100%" style="width:100%;border-collapse:collapse">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF4E8;border:1px solid #F2C99A;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C65D00;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Choose your audience</span><br>
<span style="font-size:12px;color:#57534E">Use a company search or select exhibitions, product groups, countries, and halls.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4E8;border:1px solid #F2C99A;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C65D00;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Set the result shape</span><br>
<span style="font-size:12px;color:#57534E">Keep one row per exhibitor or add related stand, category, product, and contact rows.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#FFF4E8;border:1px solid #F2C99A;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#C65D00;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Use the public data</span><br>
<span style="font-size:12px;color:#57534E">Review the result in the dataset, then use it for research, planning, or outreach.</span>
</td>
</tr>
</table>

### 📥 Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `startUrl` | string | No | Official The smarter E exhibitor directory URL. Defaults to the current public directory. |
| `searchQuery` | string | No | Company name or keyword to match in the public directory. It combines with any selected filters. |
| `exhibitions` | array of strings | No | Official exhibition labels or current directory IDs to include. |
| `productGroups` | array of strings | No | Official product group labels or current directory IDs to include. |
| `countries` | array of strings | No | Official country labels or current directory IDs to include. |
| `halls` | array of strings | No | Official hall labels or current directory IDs to include. |
| `allowPartialResults` | boolean | No | Keep a directory card when its public profile is unavailable. Defaults to enabled. |
| `fetchDetails` | boolean | No | Collect public profile details such as addresses, categories, products, links, and published contacts. Defaults to enabled. |
| `outputFormat` | enum | No | Choose flat exhibitor rows or parent rows with related stand, category, product, and contact rows. Defaults to flat. |
| `maxItems` | integer | No | Maximum parent exhibitors to return. Defaults to 10. Set 0 only when you want no parent limit. |
| `maxConcurrency` | integer | No | Number of public profiles checked at the same time. Defaults to 5 and accepts values from 1 through 10. |
| `proxyConfiguration` | object | No | Optional proxy settings for public directory requests. The default uses the platform proxy. |

### 📊 Data table

The default flat format returns one `exhibitor` row per company. The exploded format adds child rows that retain `parentExhibitorId`.

| Field | Type | Description |
| --- | --- | --- |
| `recordType` | string | Row type: exhibitor, stand, category, product, or contact. |
| `platform` | string | Source platform identifier for The smarter E. |
| `eventId` | string | Public identifier for the event when available. |
| `eventName` | string | Event name published by the directory. |
| `eventEdition` | string | Event edition published by the directory. |
| `eventUrl` | string | Public event directory URL. |
| `sourceUrl` | string | Public page used for the record. |
| `scrapedAt` | string | Time when the record was collected. |
| `exhibitorId` | string | Public exhibitor identifier. |
| `parentExhibitorId` | string | Parent exhibitor identifier on an exploded child row. |
| `companyName` | string | Exhibitor company name. |
| `profileUrl` | string | Public exhibitor profile URL. |
| `companyDescription` | string | Company description published on the profile. |
| `logoUrl` | string | Public company logo link. |
| `headerImageUrl` | string | Public profile header image link. |
| `address` | object | Published street, address line, city, region, postal code, and country details. |
| `country` | string | Exhibitor country. |
| `hall` | string | Main hall shown for the exhibitor. |
| `booth` | string | Main booth shown for the exhibitor. |
| `stands` | array of objects | Published hall and booth locations for the exhibitor. |
| `website` | string | Public company website link. |
| `email` | string | Published company email address. |
| `phone` | string | Published company phone number. |
| `socialLinks` | object | Published LinkedIn, Facebook, Instagram, Twitter, and YouTube links. |
| `contacts` | array of objects | Published contact name, role, email, and phone details. |
| `categories` | array of strings | Published category labels. |
| `categoryPaths` | array of arrays | Published category paths where provided. |
| `products` | array of objects | Published product name, link, and description details. |
| `brands` | array of strings | Published brand names. |
| `detailStatus` | string | Whether the public profile was collected, skipped, or unavailable. |
| `stand` | object | Stand data on an exploded stand row. |
| `category` | object | Category data on an exploded category row. |
| `product` | object | Product data on an exploded product row. |
| `contact` | object | Contact data on an exploded contact row. |

### 💰 Pricing

Pricing is pay per result. Empty runs cost nothing, and there are no subscriptions.

### ⭐ Enjoying The smarter E exhibitor directory scraper?

<table width="100%" style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="padding:20px 24px 14px;background:#FFF4E8;border:1px solid #F2C99A;border-left:5px solid #C65D00;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px;color:#8B4300">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Help more solar and energy teams find the right exhibitors before the event.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes seconds and helps other event planners and partnership teams find this Actor. Your feedback guides what we improve next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#C65D00;border:1px solid #F2C99A;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/the-smarter-e-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

##### Can I filter The smarter E exhibitors before collecting them?

Yes. Use a company search, exhibition, product group, country, or hall. Every filter you provide is applied together.

##### Does this collect private contact information?

No. The Actor returns only business contacts that an exhibitor publishes on its public profile. It does not infer or unlock private details.

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

By default, the directory card is still returned and `detailStatus` shows that the profile was unavailable. Turn off partial results when you need a run to stop instead.

##### Can I use one The smarter E run for both exhibitors and their products?

Yes. Use exploded output to receive the parent exhibitor plus its published stands, categories, products, and contacts as related rows.

### 🔗 Other actors

- [Deutsche Messe exhibitor directory scraper](https://apify.com/getascraper/deutsche-messe-exhibitor-directory-scraper) ↗: Collect public exhibitor lists from Deutsche Messe events.
- [Messe München exhibitor directory scraper: contacts, stands & socials](https://apify.com/getascraper/messe-muenchen-exhibitor-directory-scraper) ↗: Find exhibitors, stands, public contacts, and social links for Messe München events.
- [Messe Düsseldorf exhibitor directory scraper: 5 fairs, full contacts](https://apify.com/getascraper/messe-duesseldorf-exhibitor-directory-scraper) ↗: Build directory lists for supported Messe Düsseldorf fairs.
- [Koelnmesse exhibitor directory scraper: contacts, stands & brands](https://apify.com/getascraper/koelnmesse-exhibitor-directory-scraper) ↗: Gather public Koelnmesse exhibitors, locations, brands, and contacts.
- [Messe Frankfurt exhibitor directory scraper: supported event codes](https://apify.com/getascraper/messe-frankfurt-exhibitor-directory-scraper) ↗: Collect public exhibitor records from Messe Frankfurt event directories.

# Actor input Schema

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

One official The smarter E exhibitor directory URL.

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

Match the public directory search. This combines with every selected filter.

## `exhibitions` (type: `array`):

Official exhibition labels or their current source IDs, for example Intersolar Europe.

## `productGroups` (type: `array`):

Official product group labels or their current source IDs.

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

Official country labels or their current source IDs.

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

Official hall labels or their current source IDs.

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

Keep directory cards when an individual public profile page is unavailable.

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

Visit public exhibitor profiles for addresses, links, categories, products, and publicly exposed contacts.

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

Flat emits one row per exhibitor. Exploded adds stand, category, product, and contact rows after each parent.

## `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 as an explicit unlimited opt-in.

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

Number of public profile requests made in parallel.

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

Optional Apify Proxy configuration for direct public HTTP requests.

## Actor input object example

```json
{
  "startUrl": "https://www.thesmartere.de/exhibitorlist",
  "searchQuery": "",
  "exhibitions": [],
  "productGroups": [],
  "countries": [],
  "halls": [],
  "allowPartialResults": true,
  "fetchDetails": true,
  "outputFormat": "flat",
  "maxItems": 10,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}
```

# Actor output Schema

## `dataset` (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.thesmartere.de/exhibitorlist",
    "searchQuery": "",
    "exhibitions": [],
    "productGroups": [],
    "countries": [],
    "halls": [],
    "allowPartialResults": true,
    "fetchDetails": true,
    "outputFormat": "flat",
    "maxItems": 10,
    "maxConcurrency": 5,
    "proxyConfiguration": {
        "useApifyProxy": true
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/the-smarter-e-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.thesmartere.de/exhibitorlist",
    "searchQuery": "",
    "exhibitions": [],
    "productGroups": [],
    "countries": [],
    "halls": [],
    "allowPartialResults": True,
    "fetchDetails": True,
    "outputFormat": "flat",
    "maxItems": 10,
    "maxConcurrency": 5,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/the-smarter-e-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.thesmartere.de/exhibitorlist",
  "searchQuery": "",
  "exhibitions": [],
  "productGroups": [],
  "countries": [],
  "halls": [],
  "allowPartialResults": true,
  "fetchDetails": true,
  "outputFormat": "flat",
  "maxItems": 10,
  "maxConcurrency": 5,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/the-smarter-e-exhibitor-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/the-smarter-e-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/6SZwwWYzr5uncfeYg/builds/mQ6caxURsaI7zX4Hu/openapi.json
