Trade Show Exhibitors Scraper - Exhibitor List, Booth, Website avatar

Trade Show Exhibitors Scraper - Exhibitor List, Booth, Website

Pricing

Pay per event

Go to Apify Store
Trade Show Exhibitors Scraper - Exhibitor List, Booth, Website

Trade Show Exhibitors Scraper - Exhibitor List, Booth, Website

Exhibitor lists from trade show and expo directories: company, booth, hall, categories, country, website, description, logo. a2z (Personify) and ExpoFP natively; other sites via AI. Company data only.

Pricing

Pay per event

Rating

0.0

(0)

Developer

Yukai Lin

Yukai Lin

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

a day ago

Last modified

Share

What does Trade Show Exhibitor List Scraper do?

It turns trade show exhibitor directories into a clean company list: one row per exhibiting company with name, booth, hall, categories, country, city, website, description, logo and profile link, plus the event name and dates. Paste the directory URL, or just the event's own website: the Actor finds the directory platform behind it and reads the public data the directory page itself loads. No login, no browser for the supported platforms, and company-level data only.

  • 🏛️ Two directory platforms read natively: a2z / Personify (FABTECH, KBIS, CEDIA, HD Expo, RAPID + TCT…, i.e. *.a2zinc.net directories) and ExpoFP floor plans (SLAS, POWERGEN, Wine Paris…)
  • 🔎 Platform auto-detection: give it the event's own website and it follows the organiser's link or embed to the a2z or ExpoFP directory (checked one level deep)
  • 🤖 AI extraction for everything else: exhibitor lists on organiser websites and other platforms are read with AI into the same columns (source: "ai"). Company names are checked against the page text, so the AI cannot invent exhibitors
  • 🧾 One schema for every event: name, booth (+ booths when a company has several), hall, categories, website, description, country, city, state, postalCode, address, logoUrl, profileUrl, eventName, eventStartDate, eventEndDate, platform
  • 🎯 Filters: keywords (name, description, categories), category and country (US / USA / United States are the same). Filtered-out exhibitors are free
  • 🔗 Ready for enrichment: the website column feeds straight into Company Website Enrichment (industry, description, contacts per company) — see Integrations
  • 🧩 Maps back to your input: every row has input and inputIndex; directories that cannot be read get an error row saying why (not charged)
  • 💵 $3 per 1,000 exhibitors with details, $0.50 per 1,000 for name-and-booth-only rows. No start fee

Supported directories

PlatformPaste any of theseWhat is readFields you get
ExpoFPhttps://<event>.expofp.com, or an event site that embeds itthe floor plan's own data file (/data/data.js)name, booth(s), categories, website, description, country, city, state, postal code, address, company phone, generic company e-mail, social links, logo, event name and dates
a2z / Personify…/Public/Exhibitors.aspx?Index=All (a category view like ?SubCatID=… is kept as given), any other a2z page of the event, or an event site linking itthe exhibitor list page, then each exhibitor's public profile page (eBooth.aspx)name, booth, website, country, city, state, postal code, address, company phone, categories, social links from the company block
Other sites (AI)any exhibitor list page, e.g. …/exhibitor_list.cfm, an organiser's "Exhibitors" pagethe page (plain HTTP, a real browser for JavaScript pages), then AI extractionwhatever the page shows: name, booth, hall, country, city, website, description, categories, profile link

Not supported on purpose: Map Your Show, Swapcard and Cvent. Their terms or bot protection do not allow automated collection: Map Your Show's terms of use prohibit robots, Swapcard protects event content against automated collection, and Cvent's website terms forbid robots and page scraping. These platforms are not read at all, not even with AI extraction. Their URLs (including Map Your Show directories on a show's own domain) and event websites that only link them get a free unsupported row. Many large US shows run their exhibitor directory on Map Your Show (for example SEMA, CES and CONEXPO-CON/AGG), so this Actor cannot list their exhibitors.

Ready-to-use exhibitor list URLs

Checked on 1 October 2026 (exhibitor counts as the directories listed them that day). Paste any of these as they are; the a2z events exhibitor list pages use Exhibitors.aspx?Index=All.

Trade showPlatformExhibitor list URLExhibitors
FABTECH 2026a2zhttps://s36.a2zinc.net/clients/SME/FABTECH2026/Public/Exhibitors.aspx?Index=All1,452
KBIS 2026a2zhttps://kbis.a2zinc.net/kbis2026/Public/Exhibitors.aspx?Index=All609
HD Expo 2026a2zhttps://hd.a2zinc.net/HDExpo2026/Public/Exhibitors.aspx?Index=All556
CEDIA Expo 2026a2zhttps://cedia.a2zinc.net/CEDIA2026/Public/Exhibitors.aspx?Index=All327
Wine Paris 2026ExpoFPhttps://wineparis2026.expofp.com/6,390
POWERGEN 2026ExpoFPhttps://powergen2026.expofp.com/555
SLAS 2026ExpoFPhttps://slas2026.expofp.com/423

For a show that is not in this table, paste the event's own website: the Actor looks for its a2z or ExpoFP directory, and otherwise reads the exhibitor list page with AI.

Who is it for?

  • Sales and business development teams building a prospect list before a show: who exhibits, where the booth is, what they sell
  • Exhibitors checking competitors and neighbours on the floor plan
  • Event organisers and marketers benchmarking other shows in their industry
  • Market researchers mapping an industry through its trade shows (countries, categories)

How much does it cost?

Price per 1,000 rows by Apify plan:

EventFreeStarterScaleBusiness and higher
Exhibitor (with details: website, description, location or categories)$3.00$3.00$2.70$2.40
Exhibitor, name and booth only$0.50$0.50$0.45$0.40
Exhibitor read with AI (other sites)$3.00$3.00$2.70$2.40

No start fee. Not charged: exhibitors removed by your filters, directories that cannot be read, unsupported platforms, pages where the AI finds no exhibitor, invalid input lines.

Which price applies is decided per row: an ExpoFP or a2z row with a website, description, location or categories is a detailed row ($0.003); a row with only name and booth (for example an a2z list read with Read exhibitor profiles off) is a name-and-booth row ($0.0005). The row's chargedEvent tells you which.

For comparison (checked September 2026, Apify Store prices on the Free plan): skython's exhibitor list scrapers charge $0.005 per exhibitor plus a $0.01 start fee; mochiboo/trade-show-directory-scraper $0.004. Those tools also return contact persons, which this Actor deliberately does not (see Responsible use).

Control your cost

  • What is charged: each exhibitor row returned, at the price of its type (details, name-and-booth only, or AI).
  • Max exhibitors per directory and Max exhibitors (whole run) cap the run (API default 10,000 rows: at most $30 on the Free plan).
  • Filters are applied before charging: keywords, category and country reduce what you pay.
  • At the start, the run logs its worst case (e.g. Plan: 125 exhibitors × $0.003 = at most $0.375) and warns when that is more than your maximum charge per run.
  • When the maximum charge per run is reached, the run stops, keeps everything found so far, and says so. The SUMMARY record then has status: "LIMIT_REACHED" and notProcessed (up to 100 directories not processed or not finished).

Worked example (real runs, 30 September 2026, Free plan prices):

RunDirectoriesRowsCost
a2z + ExpoFP, max 5 per directorysemashow.com (links Map Your Show: free unsupported row), FABTECH 2026 (a2z, profiles read), SLAS 2026 (ExpoFP)10 with details + 1 free unsupported row$0.03 (7.1 s)
a2z + AI, max 25 per directoryFABTECH 2026 and HD Expo 2026 (a2z, profiles read), IMX 2026 (goeshow.com list) and NACUBO 2026 (AI), one Swapcard URL (free error row)50 with details + 50 AI$0.30 (43 s)

A whole directory costs about what its size says: FABTECH 2026 has 1,451 exhibitors with profiles (about $4.35); the IMX 2026 list read with AI has 253 exhibitors (about $0.76).

How to use it

  1. Paste one or more exhibitor directories or event websites, one per line.
  2. Optional: set Keywords, Category or Country filters and Max exhibitors per directory.
  3. Click Start. Export as CSV, Excel or JSON, or call it from the API. The Exhibitors (overview) table has the columns most people need; Exhibitors (all fields) has everything.

Input example

{
"urls": [
"https://slas2026.expofp.com/",
"https://kbis.a2zinc.net/kbis2026/Public/Exhibitors.aspx?Index=All",
"https://s4.goeshow.com/ime/annual/2026/exhibitor_list.cfm"
],
"countries": ["Italy", "Germany"],
"maxExhibitorsPerDirectory": 200
}

Output example (a2z, profile read)

{
"input": "https://s36.a2zinc.net/clients/SME/FABTECH2026/Public/Exhibitors.aspx?Index=All",
"success": true,
"source": "platform",
"platform": "a2z (Personify)",
"eventName": "FABTECH 2026",
"name": "1960 SERAVESI",
"booth": "C8119",
"categories": ["Bending/Forming", "Flanging Machines", "Plate & Structural Fabricating", "Angle Bending Rolls"],
"website": "https://www.1960seravesi.com/",
"country": "Italy",
"city": "Calcinato",
"postalCode": "25011",
"address": "Via Statale 10T",
"companyPhone": "+39030-6091301",
"profileUrl": "https://s36.a2zinc.net/clients/SME/FABTECH2026/Public/eBooth.aspx?BoothID=539883&EventID=128",
"detailLevel": "full",
"charged": true,
"chargedEvent": "exhibitor"
}

Output example (ExpoFP)

{
"platform": "ExpoFP",
"eventName": "SLAS 2026",
"eventStartDate": "2026-02-07",
"eventEndDate": "2026-02-11",
"name": "10x Genomics",
"booth": "849",
"categories": ["Genomics", "Fluorescence Assays", "Drug Development", "Reagents"],
"website": "http://www.10xgenomics.com/",
"country": "United States",
"city": "Pleasanton",
"companyEmail": "support@10xgenomics.com",
"companyPhone": "(925) 401-7300",
"logoUrl": "https://slas2026.expofp.com/data/exhibitors/13691468/media/10x-genomics.webp?v=16444565",
"chargedEvent": "exhibitor"
}

A directory that cannot be read

{
"input": "https://app.swapcard.com/event/example",
"success": false,
"errorType": "unsupported",
"error": "Swapcard is not supported: Swapcard protects event content against automated collection (bot management, terms of use) (not charged)",
"charged": false
}

An event website that links Map Your Show gets the same free row, e.g. for https://www.semashow.com/: "error": "this event uses Map Your Show, which is not supported (its terms or bot protection do not allow automated collection) (not charged)".

Other errorType values: invalid_input, not_found (no directory at that address or the domain does not exist, e.g. an old show code), no_results (the directory was read but none of its exhibitors matches your filters), no_items (the directory or page lists no exhibitors), blocked (the site refused the request), blocked_by_robots (robots.txt does not allow the page), timeout.

Integrations

  • Company enrichment: run Google Maps Lead Enrichment (tidytools/company-website-enrichment) on this run's dataset with datasetId = the dataset ID and datasetField = website, and datasetKeepFields = ["name", "booth", "eventName"] to keep the booth next to each company's industry, description and public contact channels.
  • API and webhooks: start runs and read the dataset from any language; use a webhook when a run finishes.
  • Exports: CSV, Excel, JSON, XML and HTML from the dataset (the overview view gives a flat table).
  • Apify integrations: send results to Google Sheets, HubSpot, Slack, Zapier, Make, n8n and others from the Integrations tab.

Use with AI agents (MCP)

Connect Apify's MCP server (https://mcp.apify.com?tools=tidytools/trade-show-exhibitor-list-scraper) to Claude, Cursor or any MCP client, then ask e.g. "Which German and Italian companies exhibit at FABTECH 2026, and at which booth?"

{ "urls": ["https://s36.a2zinc.net/clients/SME/FABTECH2026/Public/Exhibitors.aspx?Index=All"], "countries": ["Germany", "Italy"] }

Failed directories are not charged and carry an errorType; the SUMMARY record has status (SUCCESS, PARTIAL_RESULTS, LIMIT_REACHED, FAILED, NO_RESULTS) and one line per directory in perDirectory. Each line reconciles the directory with what you got: declaredTotal (the exhibitors the directory itself lists: the lines of an a2z list page, the entries of an ExpoFP floor plan; null for AI-read pages), exhibitorsFound, matched (after filters), returned, and complete (true when every listed exhibitor was read and every matching one returned) with incompleteReason when it is false.

Tips and limitations

  • Map Your Show, Swapcard and Cvent are not read (see Supported directories). An event website or exhibitor page that links or embeds one of them, and no a2z or ExpoFP directory, gets a free unsupported row instead of AI extraction.
  • Filters need the field: a directory that publishes no country or category (some AI-read lists) matches nothing on those filters; the SUMMARY says so in filterWarning. Keyword filters work on names, descriptions and categories.
  • a2z profiles cost one extra request per exhibitor (three at a time, with a pause between requests): a 1,500-exhibitor show takes a few minutes. Turn Read exhibitor profiles off for a quick name-and-booth list ($0.50 per 1,000). Country and category filters need the profiles.
  • ExpoFP returns the richest rows in one request. A few events keep their floor plan private (HTTP 403): those get a blocked row. An event name that does not exist (typo.expofp.com) gets a free not_found row.
  • One directory per address: an a2z address of any page of an event (including a single eBooth.aspx profile link) returns that event's whole exhibitor list, not just that one booth. The vendors' own websites (www.expofp.com, www.a2zinc.net) are not events and get a free invalid_input row; the vendors' demo floor plans linked from event sites are ignored.
  • Private and local addresses (localhost, 10.x.x.x, 192.168.x.x, [::1] ...) are never requested: a free invalid_input row. An event website that is down or refuses us gets a row with the real reason (HTTP 500, blocked, timeout) when AI extraction is off.
  • AI extraction on a page that is not an exhibitor list (an article, a Wikipedia entry, a news page): the Actor checks the page before charging (encyclopedia/social hosts and pages of running text without a table or exhibitor wording are rejected, and so is a page the AI itself labels "not an exhibitor list"). You get one free no_items row saying the page does not look like an exhibitor list; paste the event's exhibitor directory page instead. A page whose address or title says "exhibitors" or that has a company/booth table is never rejected by this check.
  • AI extraction reads one page. Paginated lists need one URL per page, and lists that only load while you scroll may be incomplete. Booths and websites are returned only when the page shows them.
  • German trade fairs (tested 3 October 2026): of seven German organiser pages we tried with AI extraction, one returned exhibitors (Spielwarenmesse: 25 company names, no booth or website), three returned nothing because the list is loaded by search forms (Messe Frankfurt, Messe Stuttgart, Hinte Messe), two URLs we guessed do not exist (Anuga, Hannover Messe), and one was skipped because the organiser's robots.txt disallows its search path (Medica). All failed directories are free. For German shows, check first whether the event's exhibitor list is an a2z or ExpoFP page; the Actor cannot read search forms that need clicks.
  • Past shows: directories are usually kept online for a while after the event; old show codes return not_found.
  • Directory platforms change from time to time; if one stops working, open an issue with the URL.

Responsible use

This Actor collects company-level exhibitor information that organisers publish so visitors can find exhibitors: company name, booth, hall, categories, website, description, location and logo.

  • No personal data is collected. Contact persons, staff names, personal e-mail addresses and personal phone numbers are never extracted. A company e-mail is kept only when it is a generic company mailbox shown on the public profile (info@, sales@, support@…); any other address is dropped. The company phone is the number shown in the company's own profile block. The AI is instructed not to return people, and e-mail addresses and phone numbers are removed from AI descriptions.
  • Public directories only. No login, no bypassing of bot checks or paywalls. Platforms whose terms or bot protection do not allow automated collection (Map Your Show, Swapcard, Cvent) are not read, and robots.txt is respected for every request (a disallowed page gets a free blocked_by_robots row).
  • Gentle by default. One request per directory for ExpoFP; a2z profiles at most three at a time with a pause between requests to the same site.
  • Some directory providers' terms restrict automated access to their websites. You are responsible for how you use the data: check the event's and platform's terms, and follow anti-spam and data-protection laws (GDPR, CAN-SPAM, CASL) when you contact companies.

FAQ

Does the Actor collect usage data? The Actor sends one anonymous usage counter per run (input type, item count range, outcome) to improve the tool; no URLs, content or account data.

Can I paste just the event's website? Yes. The Actor looks for a link or embed to a2z or ExpoFP on the page (and on its "Exhibitors" page). If there is none, the exhibitor list page is read with AI; if the page links Map Your Show, Swapcard or Cvent instead, you get a free unsupported row.

Why is my Map Your Show event (SEMA, CES…) not supported? Map Your Show's terms of use prohibit robots, so this Actor does not read it in any way, including with AI extraction. The row says so and is not charged.

Why did I get fewer exhibitors than the show claims? Check your filters, Max exhibitors per directory and Max exhibitors, and SUMMARY.perDirectory[]: declaredTotal against returned, and incompleteReason when complete is false. Exhibitors listed under several booths are one row with all booths in booths. A show's marketing number ("1,000+ exhibitors") often counts co-exhibitors and pavilion members that its directory does not list.

Why are there no contact persons? On purpose: see Responsible use. Use the website column with a company enrichment tool for generic company contact channels.

My event's platform is not supported. Turn on AI extraction for other sites (default) and paste the exhibitor list page. If you need a platform read natively, open an issue with an example URL.

Which trade shows and expos are supported? Events whose exhibitor directory runs on a2z / Personify (e.g. FABTECH, KBIS, CEDIA) or ExpoFP (e.g. SLAS, POWERGEN, Wine Paris) are read natively; exhibitor lists on other sites are read with AI extraction (results vary: static lists work well, search forms that need clicks do not). Map Your Show, Swapcard and Cvent are not supported.

What if I give no URL, or only invalid lines? The run ends normally (it does not fail): every bad line (not a web address, a private or local address, or a platform vendor's own website) gets a free invalid_input row (or one row if the input is empty), SUMMARY.status is NO_RESULTS and nothing is charged. If a directory is read but your filters match none of its exhibitors, you get one free no_results row for it.

Found this useful? A short review on the Store helps other trade show researchers find it.

More tools by TidyTools that work well with this one: