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
Actor stats
0
Bookmarked
5
Total users
3
Monthly active users
5 days ago
Last modified
Categories
Share
Swapcard Exhibitor & Speaker Scraper
Extract every public exhibitor and speaker from any Swapcard event β company descriptions, emails, websites, social links, full split addresses, product categories, booths, documents, and free booth contacts, plus the full speaker lineup with optional profile enrichment.
No login / no cookies β public exhibitor and speaker data only, pulled straight from Swapcard's own GraphQL API.
Why this event scraper?
| Typical scrapers | This actor |
|---|---|
| Render pages in a browser β slow and costly | Talks to Swapcard's GraphQL API directly β fast, structured JSON out of the box |
| Return only names and booth numbers | Full exhibitor profile: real description, email, website, socials, split address, categories, track, phones, documents |
| Charge extra for contact people | Booth contact persons (name, title, organization, photo) included free in the exhibitor record |
| Ship partial datasets silently | Follows pagination to the end and validates coverage against the event's reported total, warning instead of shipping a partial set |
| Fail when a query hash rotates | Core exhibitor scrape keeps working; affected add-ons degrade gracefully with a clear warning rather than failing the run |
| Pay for empty or failed results | Empty events succeed and charge nothing; speaker enrichment bills only per speaker actually enriched |
Use cases
- Lead generation β turn an event into a clean exhibitor database with company emails, websites, full addresses, and booth contact people.
- Competitive & market research β see who exhibits in a category using product categories and track, with featured-exhibitor flags.
- Event & sponsorship intelligence β capture the complete exhibitor and speaker lineup, enriched on demand with bios, job titles, and detailed sessions.
- Speaker sourcing β pull the public agenda lineup (name, organization, photo, session titles) and optionally enrich with biographies, socials, and websites.
- CRM & pipeline enrichment β every record ships with a stable schema and explicit nulls, dropping cleanly into a spreadsheet, CRM, or data pipeline.
How to use
- Sign up for Apify β the free plan is enough to try this actor.
- Open the Swapcard Exhibitor & Speaker Scraper, fill in the inputs you need, and click Start.
- Watch results stream into the dataset table as each record is parsed.
- Export as JSON, CSV, Excel, XML, or RSS β or pull results programmatically via the Apify API.
Input
{"startUrls":[{"url":"https://app.swapcard.com/event/evolve-the-virtual-event-for-planners/exhibitors/RXZlbnRWaWV3XzMwNTk4"}],"includeDetails":true,"includeContacts":true,"includeSpeakers":true,"includeSpeakerDetails":false,"maxItems":3000}
startUrls(array, required) β public Swapcard event / exhibitor-list URLs, e.g.https://app.swapcard.com/event/<slug>/exhibitors/<viewId>. Subdomain and/widget/variants are supported; non-Swapcard URLs are skipped with a warning.includeDetails(boolean, defaulttrue) β enrich every exhibitor with its full public profile: real description, email, website, social links, full split address (line1/line2/city/state/postal/country), product categories, track, phone numbers, booths, and documents. Turn off for a faster, name/booth-only pass.includeContacts(boolean, defaulttrue) β include each exhibitor's booth team / contact persons (name, job title, organization, photo), free as part of the exhibitor record. Personal contact details (email, phone) are never collected.includeSpeakers(boolean, defaulttrue) β also scrape the public speaker/agenda (Planning) views: speaker name, organization, photo, profile URL, and the session title(s) they appear on.includeSpeakerDetails(boolean, defaultfalse) β paid add-on. Adds each speaker's full public profile: biography, social links, job title, website, all custom profile fields, and detailed sessions with times and rooms. You are charged only for speakers that actually return extra data.maxItems(integer, default3000) β hard cap on records; exhibitors and speakers share this budget.proxyConfiguration(object, default DATACENTER) β Apify Proxy. Draws a fresh IP per request and auto-escalates to residential on repeated failures.minRequestDelayMs(integer, default250) β politeness delay before each GraphQL request, plus random jitter.maxConcurrency(integer, default20, max30) β parallelism for per-exhibitor and per-session detail fetches.
Output
Every record carries a recordType of exhibitor or speaker, with a stable schema β the same keys on every row and missing values as explicit null. 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):
{"platform":"swapcard","recordType":"exhibitor","eventName":"Your Event","eventUrl":"https://app.swapcard.com/event/your-event/exhibitors/RXZlbnRWaWV3XzMwNTk4","profileUrl":"https://app.swapcard.com/event/.../exhibitor/...","exhibitorId":"Exhibitor_460340","exhibitorName":"Acme Analytics","exhibitorType":"Featured Exhibitor","isFeatured":true,"boothNumber":"1224","categories":["Instrumentation","Data & AI"],"track":"Instrumentation & Nanoscience","website":"https://acme.example","email":"sales@acme.example","socialLinks":{"linkedin":"https://www.linkedin.com/company/acme"},"description":"Acme builds lab-grade analytics instrumentsβ¦","logoUrl":"https://...","addressLine1":"3301 N. Thanksgiving Way","addressLine2":"Suite 175","city":"Lehi","state":"UT","postalCode":"84043","country":"United States","phoneNumbers":["+1 555 0100"],"documents":[],"contactPersons":[{"name":"Jane Doe","jobTitle":"Sales Director","organization":"Acme Analytics","photoUrl":"https://..."}],"contactPersonsTotalCount":1,"customFields":{},"scrapedAt":"2026-06-02T00:00:00.000Z"}
Notes:
- Optional / null fields. Detail fields (
website,email,socialLinks, address parts,phoneNumbers,documents,contactPersons) are populated only whenincludeDetails/includeContactsare on;boothNumberisnullon virtual events. Speaker fields (speakerName,biography,sessions, etc.) appear onspeakerrecords. - Empty results are reported as success. If an event has no public exhibitors or speakers, the run succeeds with a plain-English explanation and charges nothing β it never reports a false error.
- No personal contact data. Personal email, phone, and home addresses are never collected β public professional data only.
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API β start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python β official SDKs.
- Schedules β run it on a cron to keep your data fresh.
- Webhooks β trigger downstream actions the moment a run finishes.
import{ ApifyClient }from'apify-client';const client =newApifyClient({token:'MY_APIFY_TOKEN'});const run =await client.actor('scrapesage/swapcard-exhibitor-scraper').call({startUrls:[{url:'https://app.swapcard.com/event/evolve-the-virtual-event-for-planners/exhibitors/RXZlbnRWaWV3XzMwNTk4'},],includeDetails:true,includeContacts:true,includeSpeakers:true,includeSpeakerDetails:false,});const{ items }=await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} records`);
Integrate with any app
Connect the dataset to 5,000+ apps β no code required:
- Make β multi-step automation scenarios.
- Zapier β push new records straight into your CRM or sheet.
- Slack β get notified when a run finds something new.
- Google Drive / Sheets β auto-export every run to a spreadsheet.
- Airbyte β pipe results into your data warehouse.
- GitHub β trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT, or any agent framework through the Apify MCP server β ask your assistant to "pull every exhibitor and speaker from this Swapcard event, with company emails, websites, and booth contacts" and let it run this scraper for you.
More scrapers from scrapesage
Need data from another source? Try these:
- Eventbrite Scraper β events plus organizer leads with contacts.
- Sched Conference Scraper β conference speakers, sessions, sponsors & leads.
- Whova Event Scraper β event sessions, speakers, sponsors & exhibitors.
- LinkedIn Jobs Scraper β filter-based LinkedIn job postings, no login.
- SAM.gov Scraper β US federal contract opportunities & contacts.
- Facebook Ad Library Scraper β Meta/Instagram competitor ad intelligence.
- Google Ads Transparency Scraper β who's advertising what on Google.
Tips
- Use the exhibitor-list view URL. The input is the
/exhibitors/<viewId>(plural, with a view ID) URL β not the marketing page and not a single company's/exhibitor/<id>profile. Speaker/agenda views on the same event are picked up automatically. - Keep datacenter proxy for most events. The default is fast, cheap, and verified clean on Swapcard's GraphQL; the actor auto-escalates to residential on repeated failures, so a transient block self-heals. Pick residential only if a specific event proves to need it.
- Control your spend with
maxItems. The default (3000) is generous so a full event isn't truncated; lower it only if you want a hard record cap. Your real spend guard is the max cost per run set in monetization settings. - Turn
includeSpeakerDetailson only when you need bios. It's a paid add-on that makes runs slower (one profile call per speaker) β but you're billed only for speakers that actually return extra data. - Switch dataset views for clean exports. Use the Exhibitors or Speakers view for per-type columns, or All fields for the complete record on download.
FAQ
Which events can it scrape? Any public Swapcard event reachable at an app.swapcard.com/event/<slug>/exhibitors/<viewId> URL (subdomain and /widget/ variants included). It scopes itself to public exhibitor and speaker data only.
Do I need to log in? No. The actor reads public data through Swapcard's GraphQL API with no login, cookies, or tokens.
Is this legal? It collects only public, professional event data β and never personal contact details such as personal email, phone, or home address.
What happens if an event has no exhibitors or speakers? The run succeeds with a plain explanation and charges nothing. Empty results are reported as success, not as an error.
Why are some fields null? Detail fields populate only when includeDetails/includeContacts are enabled, and boothNumber is null on virtual events. Every record keeps a stable schema with explicit nulls for missing values.
How do I export the data? From the dataset, export as JSON, CSV, Excel, XML, or RSS, or pull it via the Apify API. Use the Exhibitors/Speakers views for clean per-type tables.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome β this actor is actively maintained.
