Swapcard Event Scraper — Exhibitors, Speakers & Contacts
Pricing
from $5.00 / 1,000 exhibitor scrapeds
Swapcard Event Scraper — Exhibitors, Speakers & Contacts
Scrape any public Swapcard event into structured data: every exhibitor with real company description, email, website, full address, product categories and booth, plus all speakers and sessions. Optional speaker enrichment adds bios, socials, job titles and custom fields.
Pricing
from $5.00 / 1,000 exhibitor scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
Extract every public exhibitor and speaker from any Swapcard event — straight from Swapcard's own GraphQL API. No browser, no rendering overhead: a full ~1,300-record event scrapes in under 4 minutes, structured and deduplicated.
Built for lead generation, market research, and event intelligence — turn a public event into a clean exhibitor database with company emails, websites, addresses, and product categories, plus the full speaker lineup.
What you get
Per exhibitor — full company profile (default)
| Field | Notes |
|---|---|
| Name, type, featured flag, booth(s) | |
| Company description | The real profile copy, not the floor-plan placeholder |
| Email, website | |
| Social links | LinkedIn, X, Facebook, Instagram, YouTube |
| Full split address | line 1, line 2, city, state, postal code, country |
| Product categories & track | |
| Phone numbers, documents, logo | |
customFields | Every custom field the event defines — nothing dropped |
| Booth contact persons | Name, title, organization, photo — included free when listed |
Per speaker — agenda lineup (default)
Name, organization, photo, profile URL, and the session title(s) they present.
Per speaker — full profile enrichment (optional, paid add-on)
Enable includeSpeakerDetails to add, per speaker:
- Biography, job title, website
- Social links (LinkedIn / X / Instagram / Facebook / YouTube)
- All custom profile fields — job level, member type, country, time zone, and whatever else the event defines
- Detailed sessions — start/end times, room, and format
- A booth cross-reference when the speaker is also exhibitor staff
Privacy: personal contact details (personal email, phone, home address) are never collected. Public professional data only.
Input
| Field | Type | Default | Description |
|---|---|---|---|
startUrls | array | — | Required. Public Swapcard event URLs, e.g. https://app.swapcard.com/event/<slug>/exhibitors/<viewId>. Subdomain and /widget/ variants are supported. |
includeDetails | boolean | true | Full exhibitor enrichment (description, email, address, categories, socials…). |
includeContacts | boolean | true | Booth contact persons (name / title / org / photo) — free, part of the exhibitor record. |
includeSpeakers | boolean | true | Scrape the speaker / agenda views (fast base fields). |
includeSpeakerDetails | boolean | false | Paid add-on. Full speaker profiles (bio, socials, job title, website, custom fields, detailed sessions). Adds time; billed only per speaker actually enriched. |
maxItems | integer | 3000 | Record cap (exhibitors + speakers share it). |
proxyConfiguration | object | Datacenter | Apify Proxy. Rotates IPs per request; auto-escalates to residential only if a tier starts failing. |
minRequestDelayMs | integer | 250 | Politeness delay before each request (plus jitter). |
maxConcurrency | integer | 20 | Parallelism for detail fetches (1–30). |
Minimal input (this exact input runs — it's a public demo event):
{"startUrls": [{ "url": "https://app.swapcard.com/event/evolve-the-virtual-event-for-planners/exhibitors/RXZlbnRWaWV3XzMwNTk4" }]}
How to get your event URL
The input is the exhibitor-list view URL — not the event's marketing page and not a single company's profile. To get it:
- Open the event in the Swapcard web app (
app.swapcard.com/event/...). - Click the Exhibitors (sometimes Partners & Exhibitors) tab so the full list is on screen.
- Copy the URL from your browser's address bar. It looks like:
https://app.swapcard.com/event/<event-slug>/exhibitors/<viewId>
That /exhibitors/<viewId> path (plural, with a view ID) is what the Actor needs. A single company page (/exhibitor/<id>, singular) or the public swapcard.com marketing site are not valid inputs. Speaker/agenda views on the same event are picked up automatically — you only need the one exhibitor-list URL.
Working example (a public event you can open right now to see the format):
https://app.swapcard.com/event/evolve-the-virtual-event-for-planners/exhibitors/RXZlbnRWaWV3XzMwNTk4
Output
Every record is pushed to the dataset with a stable schema — the same keys on every row, missing values as explicit null, so it drops cleanly into a CRM, spreadsheet, or pipeline. Each record carries a recordType of exhibitor or speaker.
In the dataset, switch to the Exhibitors or Speakers view for a clean per-type table, or All fields for everything.
Example exhibitor record (abbreviated):
{"recordType": "exhibitor","exhibitorName": "Acme Analytics","exhibitorType": "Featured Exhibitor","boothNumber": "1224","description": "Acme builds lab-grade analytics instruments…","email": "sales@acme.example","website": "https://acme.example","socialLinks": { "linkedin": "https://www.linkedin.com/company/acme" },"city": "Raleigh", "state": "NC", "country": "United States","categories": ["Instrumentation", "Data & AI"],"track": "Instrumentation & Nanoscience","contactPersons": [{ "name": "Jane Doe", "jobTitle": "Sales Director", "organization": "Acme Analytics" }],"profileUrl": "https://app.swapcard.com/event/.../exhibitor/...","eventName": "Your Event","scrapedAt": "2026-06-02T00:00:00.000Z"}
Pricing — pay per result
| Event | When it's charged |
|---|---|
exhibitor-scraped | Per exhibitor returned. Includes the full profile and booth contacts at no extra charge. |
speaker-detail | Per speaker actually enriched (only with includeSpeakerDetails on). Speakers that return no extra data cost nothing — you pay only for results that worked. |
Platform usage (compute and proxies) is included free — you pay only the per-result prices above, capped by the max cost per run you set. No surprise compute bills.
How it works
This Actor talks to Swapcard's GraphQL API directly — the same API the Swapcard web app uses — rather than rendering pages in a browser. That's why it's fast and cheap, and why the output is already structured rather than parsed out of HTML.
- Resilient by design. If Swapcard rotates an API hash, the core exhibitor scrape keeps working and any affected add-on surfaces a clear warning instead of failing the run.
- Complete by default. Pagination is followed to the end, and the run validates exhibitor coverage against the event's reported total — it warns loudly rather than silently shipping a partial dataset.
- Honest run status. If an event has no public exhibitors or speakers (e.g. a finished event), the run succeeds with a plain-English explanation and charges nothing — it never reports a false error.
Common uses
- Lead generation — exhibitor companies with emails, websites, and booth contacts.
- Competitive & market research — who exhibits in a category, with product tags and tracks.
- Event & sponsorship intelligence — full exhibitor and speaker lineups, enriched on demand.
Support & requests
Found a bug, need an extra field, or want a different field exposed? Open an issue on the Issues tab — it's monitored and fixes ship fast.