
Congress Stock Trades Scraper
scrape.ly/store/querystone/congress-trades-scraperNewsBusiness
3 monthly users

Scrape trade show exhibitor lists from Map Your Show, Messe Frankfurt, Koelnmesse and A2Z Events: company, country, address, phone, email, website, booth, product categories and social links. No login needed.
Turn any supported trade show exhibitor list into a clean lead list: company name, country, full address, phone, email, website, hall and booth, product categories and social profiles. Paste the exhibitor list URL, set a limit and get JSON, CSV or Excel in minutes. No login, no browser, no setup.
Works with the directories behind hundreds of trade shows: Map Your Show (CES, IMTS, PACK EXPO, SEMA and many other US shows), Messe Frankfurt (Ambiente, Heimtextil, Light + Building, Techtextil, Automechanika, ...), Koelnmesse (Anuga, ISM, imm cologne, IDS, Eisenwarenmesse, ...) and A2Z Events (*.a2zinc.net exhibitor lists).
| Field | What it does |
|---|---|
startUrls | Exhibitor list URLs (Map Your Show, Messe Frankfurt, Koelnmesse, A2Z Events). |
maxItemsPerList | Exhibitors to save per list URL. 0 = all. |
includeProfileDetails | Open each profile for address, phone, website, description, categories and social links (on by default). |
countries | Keep only exhibitors from these countries. |
onlyWithEmail / onlyWithPhone / onlyWithWebsite | Keep only exhibitors with that contact detail. |
proxyConfiguration | Proxy settings (datacenter by default). |
{
"startUrls": [
"https://exhibitors.ces.tech/8_0/explore/exhibitor-gallery.cfm",
"https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.html"
],
"maxItemsPerList": 100,
"includeProfileDetails": true,
"countries": ["Germany", "United States"]
}
One row per exhibitor.
| Field | Description |
|---|---|
companyName | Exhibitor name |
country, city, state, postalCode, street, address | Company address (address is the full one-line address) |
phone, fax, email, website | Contact details the show publishes |
hallStands, booths | Hall and booth as shown by the show, and the booth list |
description | Company description |
productCategories, keywords, brands | Categories (as Group > Subgroup paths where the show has a tree), keywords and brands |
linkedin, facebook, instagram, twitter, youtube, tiktok, xing, otherSocialLinks | Social profiles |
logoUrl | Company logo |
profileUrl, exhibitorId | The exhibitor's profile page and the directory's id |
eventName, platform, listUrl | The trade show, the directory platform and the list URL it came from |
scrapedAt | When the row was scraped (UTC) |
Example row (sample data):
{
"companyName": "Example Lighting GmbH",
"country": "Germany",
"city": "Frankfurt am Main",
"address": "Musterstraße 12, Frankfurt am Main, 60311, Germany",
"street": "Musterstraße 12",
"postalCode": "60311",
"state": null,
"phone": "+49 69 1234 5678",
"fax": null,
"email": "info@example-lighting.de",
"website": "https://www.example-lighting.de",
"hallStands": "Hall 3.1 - H19",
"booths": ["Hall 3.1 - H19"],
"description": "Family-owned maker of architectural lighting since 1998.",
"productCategories": ["Interior Design > Lighting > Table lamps"],
"keywords": ["lighting", "design"],
"brands": [],
"linkedin": "https://www.linkedin.com/company/example-lighting",
"facebook": null,
"instagram": "https://www.instagram.com/examplelighting",
"twitter": null,
"youtube": null,
"tiktok": null,
"xing": null,
"otherSocialLinks": [],
"logoUrl": null,
"profileUrl": "https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.detail.html/example-lighting.html",
"exhibitorId": "mf_1_0000000000",
"eventName": "Ambiente 2027",
"platform": "Messe Frankfurt",
"listUrl": "https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.html",
"scrapedAt": "2026-10-21T10:00:00.000Z"
}
$3.50 per 1,000 exhibitors ($0.0035 per saved exhibitor), pay per result. Exhibitors removed by your filters are never charged, and there is no start fee.
Platform usage (compute and datacenter proxy traffic) is billed on top at the platform's normal rates. In our test runs it came to about $0.15 per 1,000 exhibitors with profile details on Map Your Show and Koelnmesse (mostly proxy traffic for the profile pages), and about $0.09 per 1,000 on average over a mixed 11,000-exhibitor run.
Worked example: 1,000 CES exhibitors with profile details ≈ $3.50 + $0.15 = about $3.65.
Is it legal to scrape exhibitor lists? The actor only reads data the shows publish openly for visitors. You are responsible for how you use it, including data protection rules such as GDPR when you contact people.
Do I need a login or my own proxy? No. Everything is public, and the built-in datacenter proxy is enough.
How many exhibitors can I get? Every exhibitor the show lists. Set Max exhibitors per list to 0 for all of them.
Why are some fields empty?
Shows publish different details: Map Your Show rarely shows emails, Koelnmesse shows no social links, and some exhibitors leave fields blank. Empty fields are null (or an empty list).
My show is not supported. What happens? The run tells you the URL is not a supported exhibitor list and charges nothing for it.
Can I schedule it or use the API? Yes. Save the input as a task, schedule it, or start runs and read results through the API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
startUrlsarrayOptionalExhibitor list URLs
Exhibitor list pages of the trade shows to scrape, one per line. Supported: Map Your Show (e.g. https://exhibitors.ces.tech/8_0/explore/exhibitor-gallery.cfm or any *.mapyourshow.com/8_0/... page), Messe Frankfurt exhibitor search pages (e.g. https://ambiente.messefrankfurt.com/frankfurt/en/exhibitor-search.html), Koelnmesse 'list of exhibitors' pages (e.g. https://www.anuga.com/anuga-exhibitors/list-of-exhibitors/) and A2Z Events lists (*.a2zinc.net/.../Public/Exhibitors.aspx). Use the English page when the site has one.
maxItemsPerListintegerOptionaldefault 20Max exhibitors per list
How many exhibitors to save from each list URL. Set 0 to get every exhibitor of the show.
includeProfileDetailsbooleanOptionaldefault trueInclude profile details
Open each exhibitor's profile for the full address, website, phone, email, description, product categories and social links. Turn off for a faster list with names and booths only (Messe Frankfurt lists include contact data either way).
countriesarrayOptionalExhibitor countries
Keep only exhibitors from these countries (English names or common codes, e.g. Germany, United States, US, UK). Leave empty for all countries.
onlyWithEmailbooleanOptionaldefault falseOnly exhibitors with an email address
Skip exhibitors whose profile shows no email address. Skipped exhibitors are not charged.
onlyWithPhonebooleanOptionaldefault falseOnly exhibitors with a phone number
Skip exhibitors whose profile shows no phone number. Skipped exhibitors are not charged.
onlyWithWebsitebooleanOptionaldefault falseOnly exhibitors with a website
Skip exhibitors without a website. Skipped exhibitors are not charged.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work well for these directories. Switch to residential only if your runs get blocked.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| companyName | string | null | |
| country | string | null | |
| city | string | null | |
| address | string | null | |
| street | string | null | |
| postalCode | string | null | |
| state | string | null | |
| phone | string | null | |
| fax | string | null | |
| string | null | ||
| website | string | null | |
| hallStands | string | null | |
| booths | array | null | |
| description | string | null | |
| productCategories | array | null | |
| keywords | array | null | |
| brands | array | null | |
| string | null | ||
| string | null | ||
| string | null | ||
| string | null | ||
| youtube | string | null | |
| tiktok | string | null | |
| string | null | ||
| otherSocialLinks | array | null | |
| logoUrl | string | null | |
| profileUrl | string | null | |
| exhibitorId | string | null | |
| eventName | string | null | |
| platform | string | null | |
| listUrl | string | null | |
| scrapedAt | string | null |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Exhibitor | One saved exhibitor with the profile details the show publishes. | $0.0035 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('cornerledger/exhibitor-list-scraper').call({
"startUrls": [
"https://exhibitors.ces.tech/8_0/explore/exhibitor-gallery.cfm"
],
"maxItemsPerList": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run cornerledger/exhibitor-list-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=cornerledger/exhibitor-list-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
All exhibitors of a Messe Frankfurt fair (Ambiente) with address, phone, email, website and booth.
Exhibitors of a Koelnmesse fair (ISM Cologne) with contact details and product groups.
Exhibitors of a US show on A2Z Events (RAPID + TCT) with address, phone, website and categories.
Only exhibitors from Germany that publish an email address (Heimtextil).
Names and booths from two shows at once, without opening profiles.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.