# IEG Expo Exhibitor Scraper: Catalogo Espositori (`getascraper/ieg-expo-exhibitor-directory-scraper`) Actor

Scrape public IEG Expo catalogues and catalogo espositori listings. Filter by category, subcategory, country, pavilion, or province, then export source-linked exhibitor records as flat or exploded JSON.

- **URL**: https://apify.com/getascraper/ieg-expo-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

## 🏢 IEG Expo Exhibitor Scraper: Catalogo Espositori

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:24px 28px;background:#FFF4E8;border:1px solid #F6C892;border-top:4px solid #C96A13;border-radius:12px">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Turn an IEG Expo catalogue into a filterable exhibitor list.</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Collect published company, stand, category, and profile details from a public IEG Expo exhibitor directory for research, outreach planning, or event operations.</span>
</td>
</tr>
</table>

<table width="100%" style="display:table;width:100%">
<tbody style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F6C892;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#8A4308">🏢 Exhibitor records</span><br><span style="font-size:12px;color:#57534E">Keep company, country, hall, booth, and profile links together.</span></td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F6C892;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#8A4308">🔎 Catalogue filters</span><br><span style="font-size:12px;color:#57534E">Focus on published search, category, country, pavilion, or province labels.</span></td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F6C892;border-left:none;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#8A4308">☎️ Published details</span><br><span style="font-size:12px;color:#57534E">Add website, email, phone, and social links when profiles display them.</span></td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #F6C892;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:15px;font-weight:800;color:#8A4308">🧩 Flexible rows</span><br><span style="font-size:12px;color:#57534E">Choose complete exhibitor rows or linked stand, category, and contact rows.</span></td>
</tr>
</tbody>
</table>

This Actor collects the public IEG Expo **catalogo espositori** for a compatible directory URL. It keeps each result connected to the event and official profile where the information appears.

### 🔍 What it does

Provide one public IEG Expo exhibitors-catalogue URL. The Actor reads its current event context and published filters, then saves the matching exhibitor records.

Enable profile details to add public address, website, email, phone, social links, categories, and brands when the profile displays them. Fields that the directory does not publish are omitted.

Choose **flat** output for one exhibitor row. Choose **exploded** output when a database needs linked rows for published stands, categories, and contacts.

### 💡 Who uses it

- **I am an event sales researcher** looking to map exhibitors by category, country, and stand before planning outreach.
- **I am a partnership manager** looking to compare the companies present at an IEG Expo event before booking meetings.
- **I am a procurement analyst** looking to find specialist suppliers from the catalogue categories they publish.
- **I am an event operations lead** looking to turn a public directory into a working exhibitor list without copying profiles one by one.

### 🚀 How to use it

<table width="100%" style="display:table;width:100%">
<tbody style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="padding:16px 14px;width:33%;background:#FFF4E8;border:1px solid #F6C892;border-radius:10px 0 0 10px;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#C96A13;letter-spacing:1px">STEP 1</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Choose a catalogue</span><br><span style="font-size:12px;color:#57534E">Enter a public IEG Expo exhibitors-catalogue URL.</span></td>
<td style="padding:16px 14px;width:33%;background:#FFF4E8;border:1px solid #F6C892;border-left:none;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#C96A13;letter-spacing:1px">STEP 2</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Set your scope</span><br><span style="font-size:12px;color:#57534E">Apply published filters and choose profile details or row shape.</span></td>
<td style="padding:16px 14px;width:33%;background:#FFF4E8;border:1px solid #F6C892;border-left:none;border-radius:0 10px 10px 0;vertical-align:top"><span style="font-size:12px;font-weight:800;color:#C96A13;letter-spacing:1px">STEP 3</span><br><span style="font-size:14px;font-weight:700;color:#1C1917">Review exhibitors</span><br><span style="font-size:12px;color:#57534E">Use source-backed records in your event workflow.</span></td>
</tr>
</tbody>
</table>

Start with a small limit to confirm the selected catalogue and data shape. Increase the limit only when you are ready for a wider export.

### 🎛️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `startUrl` | string | No | Public IEG Expo exhibitors-catalogue URL to collect. Defaults to the KEY Expo catalogue. |
| `searchQuery` | string | No | Keep exhibitors matching this published catalogue search text. Leave it blank for no text filter. |
| `categories` | array of strings | No | Keep exhibitors in the published category labels or IDs you provide. Leave it empty for all categories. |
| `subcategories` | array of strings | No | Keep exhibitors in the published subcategory labels or IDs you provide. Leave it empty for all subcategories. |
| `countries` | array of strings | No | Keep exhibitors matching published country labels or codes. Leave it empty for all countries. |
| `pavilions` | array of strings | No | Keep exhibitors matching published pavilion labels or IDs. Leave it empty for all pavilions. |
| `provinces` | array of strings | No | Keep exhibitors matching published province labels or IDs. Leave it empty for all provinces. |
| `allowPartialResults` | boolean | No | Keep a genuine catalogue result when its public profile cannot be retrieved. Defaults to on. |
| `fetchDetails` | boolean | No | Add public profile details such as address, contacts, categories, brands, and website when published. Defaults to on. |
| `outputFormat` | enum | No | Choose one parent exhibitor row or linked stand, category, and contact rows. Defaults to one parent exhibitor row. |
| `maxItems` | integer | No | Cap parent exhibitors after source filtering. Defaults to 10. Set 0 only for a deliberate full catalogue export. |
| `maxConcurrency` | integer | No | Set how many public profiles are retrieved at once. Defaults to 4 and accepts values from 1 to 10. |
| `proxyConfiguration` | object | No | Optional connection settings for your run. The default setting is suitable for most exports. |

### 📋 Data table

Empty values are omitted. Every saved value comes from the selected public catalogue or profile.

| Field | Type | Description |
| --- | --- | --- |
| `recordType` | string | Row type: exhibitor, stand, category, or contact. |
| `platform` | string | Source platform identifier: IEG Expo. |
| `eventId` / `eventName` / `eventEdition` | string | Published identifiers and labels for the selected event. |
| `eventUrl` / `sourceUrl` / `profileUrl` | URL | Selected catalogue, source listing, and official exhibitor profile links. |
| `scrapedAt` | date-time | Time when the Actor collected the record. |
| `exhibitorId` / `parentExhibitorId` | string | Exhibitor identifier and parent link for exploded rows. |
| `companyName` / `companyDescription` | string | Published exhibitor name and profile description. |
| `logoUrl` / `headerImageUrl` | URL | Published exhibitor logo and profile image links. |
| `address` | object | Published street, city, region, and country values when available. |
| `country` | string | Published exhibitor country. |
| `hall` / `booth` | string | Published main hall and booth location. |
| `stands` / `stand` | array / object | Published stand locations, or the linked stand on an exploded row. |
| `website` / `email` / `phone` | string | Public company contact details when the profile publishes them. |
| `socialLinks` | object | Public Facebook, Instagram, LinkedIn, X, or YouTube links when shown. |
| `contacts` / `contact` | array / object | Public email and phone contact entries, or the linked contact on an exploded row. |
| `categories` / `categoryPaths` / `category` | array / array / object | Published categories, category paths, or the linked category on an exploded row. |
| `brands` | array of strings | Published exhibitor brands when shown. |
| `detailStatus` | string | Whether profile details were fetched, skipped, or unavailable for the row. |

### 💰 Pricing

This Actor uses pay per result pricing. You pay only for records saved to your dataset. Empty runs cost nothing, and there are no subscriptions.

### ⭐ Enjoying IEG Expo exhibitor directory scraper?

<table width="100%" style="display:table;width:100%">
<tbody style="display:table;width:100%;border-collapse:collapse">
<tr>
<td style="padding:20px 24px 14px;background:#FFF4E8;border:1px solid #F6C892;border-left:5px solid #C96A13;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px;color:#C96A13">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Saved time preparing your IEG Expo exhibitor list?</span><br>
<span style="font-size:14px;color:#57534E">A rating helps other event, partnership, and research teams find a useful catalogue export.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#C96A13;border:1px solid #F6C892;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/ieg-expo-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>
</tbody>
</table>

### ❓ FAQ

##### Posso estrarre un catalogo espositori IEG Expo?

Yes. Provide a public IEG Expo exhibitors-catalogue URL. The Actor supports compatible catalogue URLs from IEG Expo and KEY Expo domains.

##### Quali filtri del catalogo espositori sono disponibili?

Use the published search, category, subcategory, country, pavilion, and province labels or IDs from the selected catalogue. Filters are combined to narrow the result set.

##### Which public details can it return?

When profile details are enabled, it can return public address, website, email, phone, social links, categories, and brands. Availability depends on each exhibitor profile.

##### Why are some fields missing?

Not every public profile displays every field. The Actor omits unavailable values instead of filling them with guesses.

### 🔗 Other actors

- [🏢 GSMA MWC exhibitor directory scraper: Barcelona and Kigali](https://apify.com/getascraper/gsma-mwc-exhibitor-directory-scraper) ↗: Collect public exhibitor records from MWC Barcelona and Kigali.
- [🏢 AFAG Messe exhibitor directory scraper: interlift, Consumenta & more](https://apify.com/getascraper/afag-messe-exhibitor-directory-scraper) ↗: Collect public exhibitor listings from verified AFAG fairs.
- [🏢 Messe Düsseldorf exhibitor directory scraper: 5 fairs, full contacts](https://apify.com/getascraper/messe-duesseldorf-exhibitor-directory-scraper) ↗: Collect public exhibitor records from verified Messe Düsseldorf fairs.
- [🏢 Reed Expo exhibitor directory scraper: compatible RX Global fairs](https://apify.com/getascraper/reed-expo-exhibitor-directory-scraper) ↗: Collect public exhibitor directories from compatible RX Global fairs.
- [🏢 Map Your Show exhibitor directory scraper: all US expos](https://apify.com/getascraper/map-your-show-exhibitor-directory-scraper) ↗: Collect public exhibitor directories from compatible US event pages.

# Actor input Schema

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

One public IEG Expo exhibitors-catalogue page. The actor discovers its current folder, edition, page size, and published filters.

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

Keep exhibitors matching this official catalogue search text.

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

Source-published category labels or IDs. Leave empty for all.

## `subcategories` (type: `array`):

Source-published subcategory labels or IDs. Leave empty for all.

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

Source-published country labels or codes, for example IT. Leave empty for all.

## `pavilions` (type: `array`):

Source-published pavilion labels or IDs, for example A1. Leave empty for all.

## `provinces` (type: `array`):

Source-published province labels or IDs. Leave empty for all.

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

When enabled, emit the genuine list result with detailStatus=failed if an official detail page cannot be retrieved.

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

Fetch public profile pages for address, contacts, website, categories, brands, and other available fields.

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

Flat emits one row per exhibitor. Exploded emits parent exhibitors plus typed stand, category, and contact rows.

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

Maximum unique parent exhibitors after source filtering and before detail enrichment or exploded child rows. Flat output has at most this many rows; exploded output can have more child rows. Set 0 only for a deliberate unlimited run.

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

Bounded number of official profile requests in parallel.

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

Optional Apify Proxy configuration for direct HTTP requests.

## Actor input object example

```json
{
  "startUrl": "https://www.key-expo.com/en/visit/exhibitors-catalogue",
  "searchQuery": "",
  "categories": [],
  "subcategories": [],
  "countries": [],
  "pavilions": [],
  "provinces": [],
  "allowPartialResults": true,
  "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.key-expo.com/en/visit/exhibitors-catalogue",
    "searchQuery": "",
    "categories": [],
    "subcategories": [],
    "countries": [],
    "pavilions": [],
    "provinces": [],
    "allowPartialResults": true,
    "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/ieg-expo-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.key-expo.com/en/visit/exhibitors-catalogue",
    "searchQuery": "",
    "categories": [],
    "subcategories": [],
    "countries": [],
    "pavilions": [],
    "provinces": [],
    "allowPartialResults": True,
    "fetchDetails": True,
    "outputFormat": "flat",
    "maxItems": 10,
    "maxConcurrency": 4,
    "proxyConfiguration": { "useApifyProxy": True },
}

# Run the Actor and wait for it to finish
run = client.actor("getascraper/ieg-expo-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.key-expo.com/en/visit/exhibitors-catalogue",
  "searchQuery": "",
  "categories": [],
  "subcategories": [],
  "countries": [],
  "pavilions": [],
  "provinces": [],
  "allowPartialResults": true,
  "fetchDetails": true,
  "outputFormat": "flat",
  "maxItems": 10,
  "maxConcurrency": 4,
  "proxyConfiguration": {
    "useApifyProxy": true
  }
}' |
apify call getascraper/ieg-expo-exhibitor-directory-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/ieg-expo-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/0gtB3A7867bFy6XqL/builds/KbI4Q78cYCuHIt2j8/openapi.json
