Trade Show Exhibitor Lists Scraper avatar

Trade Show Exhibitor Lists Scraper

Pricing

Pay per event

Go to Apify Store
Trade Show Exhibitor Lists Scraper

Trade Show Exhibitor Lists Scraper

Extract normalized exhibitor companies, booths, categories, websites, and displayed contacts from supplied public trade-show directory URLs.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Stas Persiianenko

Stas Persiianenko

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Export normalized trade show exhibitor lists from public directory URLs you supply. The Actor turns supported event directories into one dataset of company names, booth locations, event context, categories, websites, and publicly displayed contact details.

Use the result for event prospecting, supplier research, show planning, CRM imports, and repeatable cross-event analysis.

What does Trade Show Exhibitor Lists Scraper do?

The Actor detects and extracts several common public exhibitor-directory formats:

  • Messe Frankfurt event directories through their public structured data route
  • Map Your Show and A2Z public exhibitor lists and eBooth profiles
  • the public IFA Berlin exhibitor directory
  • conservative JSON-LD or semantic HTML fallback records on other supplied public pages

Every accepted exhibitor becomes the same normalized record shape. Source and profile URLs remain attached for verification. The Actor does not guess missing contact details or invent companies.

Who is this exhibitor list scraper for?

  • Sales teams building pre-show company and booth prospect lists
  • Event sponsors mapping participating vendors and categories
  • Procurement teams identifying suppliers represented at industry events
  • Market researchers comparing exhibitor mixes across public events
  • Agencies preparing show-specific outreach or account assignments
  • Event operations teams exporting public booth context into planning sheets

Why use a multi-source exhibitor extractor?

Trade show directories use different page layouts and field names. A company may appear as an exhibitor, brand, vendor, or booth record. Hall and stand data can live on the list page while websites and contacts live on a profile.

This Actor provides:

  • one input for multiple supported public directory URLs;
  • normalized fields across supported source platforms;
  • an optional public-profile enrichment step for Map Your Show/A2Z;
  • a global output cap for predictable tests and integrations;
  • optional case-insensitive filtering after normalization;
  • explicit failure when no recognizable exhibitor data is found.

Supported public exhibitor directories

Validated adapters currently cover:

PlatformSupported public surfaceMain extraction route
Messe FrankfurtEvent exhibitor-search URLsPublic event configuration and paginated JSON
Map Your Show / A2ZExhibitors.aspx and linked eBooth.aspx pagesServer-rendered HTML
IFA BerlinPublic /exhibitors directoryServer-rendered cards
Other sitesPages with exhibitor Organization JSON-LD or clear semantic profile linksConservative HTML fallback

A public URL is not automatically compatible. Login-only pages, challenge pages, expired directories, PDF-only lists, and JavaScript applications without useful public HTML may fail. The generic fallback is intentionally strict to avoid false records.

What exhibitor data can you extract?

FieldMeaning
sourcePlatformDetected adapter: Messe Frankfurt, Map Your Show, IFA Berlin, or generic HTML
eventNameDisplayed event or directory name when available
eventUrlSupplied public event directory URL
companyNameDisplayed exhibitor or company name
exhibitorIdPublic source identifier when exposed
profileUrlPublic exhibitor detail page
boothLocationsNormalized hall and stand pairs
categoriesDisplayed products, services, or show areas
descriptionPublic exhibitor description
websiteDisplayed company website
emailDisplayed public email, when present
phoneDisplayed public phone, when present
address, city, postalCode, countryDisplayed location fields
socialLinksDisplayed public social profile links
logoUrlPublic exhibitor logo URL
sourceUrlExact source page for verification
scrapedAtISO timestamp for the extraction

Unavailable fields are returned as null or empty arrays.

How to extract a trade show exhibitor list

  1. Open a current public exhibitor directory.
  2. Copy its exhibitor-list URL.
  3. Add the URL to startUrls.
  4. Set maxItems to a small test value such as 10 or 25.
  5. Keep includeDetails on if you want Map Your Show/A2Z profile enrichment.
  6. Optionally enter a query such as a category, country, or company term.
  7. Run the Actor.
  8. Inspect and export the default dataset as JSON, CSV, Excel, or XML.

For recurring prospecting, save the working input as an Apify Task and schedule it.

Input parameters

startUrls

Required array of public exhibitor list, directory, or profile URLs. You can combine supported platforms in one run. The Actor divides the result budget across URLs so one large directory does not starve later sources.

maxItems

Maximum records saved across all URLs. The range is 1 to 10,000 and the default is 100. Use a low limit while validating a new directory.

includeDetails

When enabled, linked public Map Your Show/A2Z profiles are opened for displayed categories, website, contacts, and location context. It does not bypass a login or access restriction.

query

Optional case-insensitive text filter applied to the complete normalized record. For example, Germany, lighting, or a company name can match any populated field.

proxyConfiguration

Optional Apify Proxy or custom proxy configuration. Direct HTTP is the default and is sufficient for the validated examples. A proxy does not make an unsupported or private page supported.

Output example

A current Messe Frankfurt record is normalized like this:

{
"sourcePlatform": "messe-frankfurt",
"eventName": "Ambiente 2026",
"eventUrl": "https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.html",
"companyName": "Budapest Select",
"exhibitorId": "mf_1_0012639526~mf_1_10000001202601_0012639526_477437",
"profileUrl": "https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.detail.html/mediator-group-reklmuegynoeksg-kft",
"boothLocations": [{ "hall": "3.0", "stand": "G32" }],
"categories": ["Interior Design", "Home concepts"],
"website": null,
"email": null,
"country": "Hungary",
"sourceUrl": "https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.html",
"scrapedAt": "2026-08-11T12:30:00.000Z"
}

Displayed data changes between events and exhibitors, so treat every optional field as nullable.

How much does it cost to extract trade show exhibitor lists?

The Actor uses pay-per-event pricing: one small start event per run plus one item event for each saved exhibitor. All profile, booth, category, and displayed contact fields included in an exhibitor row are covered by that item event; there is no separate enrichment charge.

Your exact total is:

$0.005 start + (saved exhibitors × your item tier price)

Store tierPrice per saved exhibitor
Free$0.00414
Bronze$0.0036
Silver$0.002808
Gold$0.00216
Platinum$0.00144
Diamond$0.001008

At the Bronze tier, 10 saved exhibitors cost $0.041, 25 cost $0.095, and 100 cost $0.365, including the start event. The Actor page shows the applicable tier before a run. Set maxItems to control the maximum number of records and estimate the run before scaling. Proxy transfer, if you explicitly enable a paid proxy mode, is platform usage in addition to Actor events.

Multi-event prospecting workflow

A practical recurring workflow is:

  1. Add several current event directory URLs to one Task.
  2. Run a small validation sample.
  3. Schedule the Task weekly while exhibitor lists change.
  4. Export the dataset into a warehouse or spreadsheet.
  5. Match records by website, exhibitor ID, or normalized company name.
  6. Flag newly added companies or changed booth locations.
  7. Assign those changes to account owners before the event.

The Actor returns snapshots. It does not itself compare previous runs, send alerts, or modify your CRM. Use Apify schedules, integrations, or your own downstream process for those steps.

Integrations and exports

Use the default dataset with:

  • Google Sheets for event account planning;
  • HubSpot, Salesforce, or Pipedrive through Apify integrations;
  • Make or Zapier for workflow routing;
  • webhooks for post-run processing;
  • Python, JavaScript, SQL, or notebooks for category analysis;
  • CSV or Excel exports for show-floor planning.

Stable source URLs make it possible to audit each row later.

Run with the Apify API

JavaScript

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: process.env.APIFY_TOKEN });
const run = await client.actor('automation-lab/public-exhibitor-directory-scraper').call({
startUrls: [
{ url: 'https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.html' }
],
maxItems: 25,
includeDetails: false
});
console.log(run.defaultDatasetId);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_APIFY_TOKEN')
run = client.actor('automation-lab/public-exhibitor-directory-scraper').call(run_input={
'startUrls': [
{'url': 'https://www.ifa-berlin.com/exhibitors'}
],
'maxItems': 25,
'includeDetails': False,
})
print(run['defaultDatasetId'])

cURL

curl -X POST \
'https://api.apify.com/v2/acts/automation-lab~public-exhibitor-directory-scraper/runs?token=YOUR_APIFY_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"startUrls": [{"url":"https://antique.a2zinc.net/OMBAS2026/Public/Exhibitors.aspx?Index=All"}],
"maxItems": 10,
"includeDetails": true
}'

Never commit an Apify token into source code.

Use through Apify MCP

Add the Actor to Claude Code:

claude mcp add --transport http apify \
"https://mcp.apify.com?tools=automation-lab/public-exhibitor-directory-scraper"

Claude Desktop

Add this MCP server in Claude Desktop's JSON configuration:

{
"mcpServers": {
"apify": {
"url": "https://mcp.apify.com?tools=automation-lab/public-exhibitor-directory-scraper"
}
}
}

Cursor

Add the same mcpServers.apify JSON entry in Cursor's MCP settings, then enable the server for your workspace.

VS Code

Add the same Apify MCP URL through your VS Code MCP extension or workspace MCP configuration and enable the public-exhibitor-directory-scraper tool.

Example prompts:

  • “Export the first 50 exhibitors and booth locations from this public trade show directory.”
  • “Combine these IFA Berlin and Map Your Show URLs into one prospect list.”
  • “Return exhibitors whose normalized record contains lighting.”

Reliability, limits, and failure behavior

The Actor validates HTTP(S) inputs and rejects malformed protocols. Requests use bounded retries for transient network failures. Challenge or empty-shell pages are treated as failures, not valid empty results. A source that fails is logged while other supplied sources can still succeed. The whole run fails if no supplied URL yields a useful record.

maxItems is a global accepted-result cap. Duplicate IDs or profile URLs are removed within the run. A successful HTTP response does not guarantee that an unfamiliar site uses a supported structure.

Troubleshooting

Why did my URL return no records?

Confirm that it is a current public exhibitor list rather than an event homepage, login page, search landing page, or downloadable PDF. Try the exact list URL shown after opening the directory. Run with maxItems: 5 first.

Why are email or website fields null?

The event may not display those fields publicly. For Map Your Show/A2Z, enable includeDetails so linked profiles can be inspected. The Actor does not infer or purchase hidden contacts.

Why did only part of a list appear?

Check maxItems. When multiple URLs are supplied, the Actor reserves a fair share of the remaining cap for each source. Raise the limit after validating each event.

Should I enable a proxy?

Use direct mode first. Enable a proxy only when the public source requires it and confirm that the result value justifies the transfer cost. A proxy cannot bypass authentication or change the supported parser.

Responsible use and legality

Only collect data you are allowed to use. Follow event-organizer terms, applicable privacy and database laws, and your outreach obligations. Do not use the Actor to access login-only or restricted pages. Treat displayed personal contact data carefully, keep only what you need, and provide appropriate opt-out handling.

The Actor extracts public page content supplied by the user; it does not grant rights to republish, resell, or contact every listed party.

FAQ

Can it scrape every trade show website?

No. It supports the named adapters and conservative structured-HTML fallback. An unsupported site fails rather than producing misleading rows.

Can I submit several event URLs?

Yes. Results are normalized into one default dataset and deduplicated within the run.

Does it scrape trade show displays or booth images?

It extracts displayed booth location context, not physical display products, floor-plan geometry, or image archives.

Does it monitor exhibitor changes automatically?

The Actor creates a current snapshot. Save it as a scheduled Task and compare datasets downstream for monitoring.

Does it scrape private contacts?

No. Only contact fields displayed on the supplied public pages are included.

For source-specific or downstream workflows, consider:

Use a source-specific Actor when you only need one supported event ecosystem. Use this Actor when you need supplied URLs and one cross-platform record format.

Changelog

See the Actor Changelog tab for customer-facing release notes.