Luma Event Scraper - Hosts, Ticket Prices & Guest Counts
Pricing
from $1.20 / 1,000 event scrapeds
Luma Event Scraper - Hosts, Ticket Prices & Guest Counts
Scrape upcoming events from Luma (lu.ma) across 60 cities, with the host's social handles, ticket price, guest and ticket counts, venue, the community running it and the full description. No login, no API key.
Pricing
from $1.20 / 1,000 event scrapeds
Rating
0.0
(0)
Developer
WebData Labs
Maintained by CommunityActor stats
1
Bookmarked
2
Total users
1
Monthly active users
8 hours ago
Last modified
Categories
Share
Luma Event Scraper - hosts, ticket prices and guest counts
Scrape upcoming events from Luma (lu.ma) across 60 cities and get back a clean row per event with the host's social handles, the ticket price, how many people are going, the venue, and the community running it.
No login. No API key. No browser. Pure HTTP, runs on 256 MB.
$1.50 per 1,000 events. No Actor start fee.
✅ What you get / ❌ what this isn't
✅ Host social handles: hostTwitter, hostInstagram, hostLinkedin. Measured on a 195-event run across San Francisco and New York: 179 of 195 events carried at least one
✅ Ticket price in cents with currency, plus isFree and isSoldOut
✅ guestCount and ticketCount, so you can see which events have traction
✅ Venue, city, region, country, and whether the event is in person, online or hybrid
✅ The community behind each event (calendarName, calendarUrl), not just the event
✅ Optional full description and Luma's own category tags
✅ Monitoring mode that returns only events you have not already been given
❌ No past events. Luma's discover endpoint serves upcoming events only, and refuses every other time period outright ❌ Not an attendee scraper. Public event listings and their public hosts only ❌ Not a ticket-buying bot
🔎 Why use this Actor
An events feed on its own is a list of names and dates. What makes it worth having is who is behind each event and how to reach them.
Luma publishes the host's X, Instagram and LinkedIn handles on the event, and this Actor returns them as their own columns. That is the difference between "there are 40 AI events in Berlin next month" and a working list of 40 organisers you can contact, each with the size of their audience attached.
For sponsors, community teams, recruiters and developer-relations people, that is the whole job.
🗂️ Coverage
Luma curates its own city list, so the Actor offers exactly the 60 cities Luma actually serves:
Americas: San Francisco, New York, Los Angeles, Austin, Chicago, Boston, Seattle, Miami, Denver, Philadelphia, Houston, Atlanta, Dallas, Phoenix, Toronto, Vancouver, Montreal, Calgary, Mexico City, Buenos Aires
Europe: London, Berlin, Paris, Amsterdam, Lisbon, Barcelona, Madrid, Warsaw, Stockholm, Zurich, Helsinki, Copenhagen, Oslo, Munich, Milan, Prague, Brussels, Vienna, Dublin, Budapest, Rome, Istanbul
Asia Pacific: Singapore, Tokyo, Seoul, Taipei, Bangkok, Jakarta, Manila, Kuala Lumpur, Ho Chi Minh City, Bengaluru, Mumbai, Sydney, Melbourne, Auckland
Middle East and Africa: Dubai, Tel Aviv, Lagos, Nairobi
👥 Who it's for
- Event sponsors and BD teams building a list of organisers worth sponsoring, with audience size and contact handles attached.
- Community and DevRel teams tracking which communities are active in which city, and how big their events get.
- Recruiters who use technical meetups as a sourcing channel.
- Market researchers measuring where startup and AI activity is concentrating, by counting events per city over time.
- Event aggregators that want a clean upcoming-events feed with prices and venues.
📚 Example tasks
| What you want | Input |
|---|---|
| Events in San Francisco | {"cities": ["sf"]} |
| Events in New York | {"cities": ["nyc"]} |
| Everything in London | {"cities": ["london"], "maxResults": 200} |
| Free events in Berlin | {"cities": ["berlin"], "onlyFreeEvents": true} |
| Full descriptions and categories | {"cities": ["sf"], "includeDescription": true} |
| The whole US tech corridor | {"cities": ["sf", "nyc", "austin", "seattle", "boston"], "maxResults": 500} |
| Europe in one run | {"cities": ["london", "berlin", "paris", "amsterdam", "lisbon", "barcelona"], "maxResults": 400} |
| Asia Pacific | {"cities": ["singapore", "tokyo", "seoul", "bengaluru", "sydney"], "maxResults": 400} |
| Only what is new since the last run | {"cities": ["sf", "nyc"], "onlyNewEvents": true} |
⚙️ How it works
Pick your cities. Every request carries an explicit city, because Luma personalises its discover feed by visitor location and a run that leaves that to chance is not reproducible.
Each city is paged until Luma says it has no more upcoming events. Every row is pushed the moment it is parsed, so a run you stop early keeps everything it found.
🔁 Monitoring: only events you have not seen before
Set onlyNewEvents to true and schedule it. The Actor remembers the event ids it has delivered and returns only what is new, so a daily monitor never re-delivers, and never re-bills, the same event.
Run it as a saved task and keep using that task: the memory belongs to the task, not to one-off runs from the Actor page.
📥 Input
| Field | Type | Default | What it does |
|---|---|---|---|
cities | array | ["sf", "nyc"] | Which Luma cities to scrape, from the fixed list of 60. |
maxResults | integer | 200 | Total events across all cities. |
onlyFreeEvents | boolean | false | Keep only events with no ticket price. |
includeDescription | boolean | false | Also fetch each event's full description and categories. Free, but one extra request per event. |
onlyNewEvents | boolean | false | Return only events not delivered by a previous run of the same task. |
Accepted input aliases
slugs, city and queries are accepted for cities, and maxItems and maxEvents for maxResults, so input pasted from another Actor's docs runs without editing.
There is nothing to configure about proxies, concurrency, retries or pacing. Those are handled internally and included in the price.
📤 Output
One row per event.
{"eventId": "evt-ILBNJlfial3ou6k","name": "Spatial Intelligence + Generative 3D Hackathon","eventUrl": "https://lu.ma/b101ml40","startAt": "2026-09-05T17:00:00.000Z","endAt": "2026-09-06T03:00:00.000Z","timezone": "America/Los_Angeles","locationType": "offline","venue": "Founders Inc","city": "San Francisco","region": "California","country": "United States","isFree": true,"priceCents": null,"priceCurrency": null,"isSoldOut": true,"guestCount": 240,"ticketCount": 300,"registrationAvailability": "waitlist","hostNames": ["Alex Carrabre", "Wayne Sutton"],"hostTwitter": "carrabre","hostInstagram": "waynesutton","hostLinkedin": "alexcarrabre","calendarName": "Founders, Inc. Events","calendarUrl": "https://lu.ma/fdotinc","coverUrl": "https://images.lumacdn.com/uploads/wi/908a9351.png","categories": ["cat-ai"],"descriptionText": null,"citySlug": "sf","scrapedAt": "2026-09-05T22:59:37Z"}
Output fields
| Field | Type | Description |
|---|---|---|
eventId | string | Luma's own event id. Stable, and what monitoring mode remembers. |
name | string | Event title. |
eventUrl | string | The public Luma page. |
startAt | string | Start time, UTC. |
endAt | string | End time, UTC. |
timezone | string | The event's own timezone, for converting the times back. |
locationType | string | offline, online or hybrid. |
venue | string | Street address or venue name. Empty when the host reveals it only on registration. |
city | string | City the event is actually in, which may be a neighbour of the city you searched. |
region | string | State or region. |
country | string | Country. |
isFree | boolean | Whether the event is free. |
priceCents | number | Ticket price in minor units. Null on free events. |
priceCurrency | string | Currency of priceCents. |
isSoldOut | boolean | Whether registration is closed for capacity. |
guestCount | number | How many people are going. |
ticketCount | number | How many tickets exist. |
registrationAvailability | string | open, waitlist or closed. |
hostNames | array | Every host's display name. |
hostTwitter | string | The first host's X handle. |
hostInstagram | string | The first host's Instagram handle. |
hostLinkedin | string | The first host's LinkedIn handle, normalised from Luma's /in/name path. |
calendarName | string | The community running the event. |
calendarUrl | string | That community's Luma page, where its other events live. |
coverUrl | string | Cover image. |
categories | array | Luma's own tags, for example cat-ai. Needs includeDescription. |
descriptionText | string | Full description as plain text. Needs includeDescription. |
citySlug | string | Which city search produced this row. |
scrapedAt | string | UTC timestamp of the row. |
💵 How much does it cost to scrape Luma?
| Events | Cost |
|---|---|
| 100 | $0.15 |
| 1,000 | $1.50 |
| 10,000 | $15.00 |
$0.0015 per event and nothing else. No Actor start fee, so a run that returns nothing costs nothing. Host handles, prices, guest counts and descriptions are all included at the base rate.
⚠️ Limits and caveats
Measured 5 September 2026, so you do not spend a run finding them out.
- Upcoming events only. Luma's discover endpoint rejects every time period except the future outright, so past events cannot be scraped at all. If you need historical events, this is the wrong source.
- The catalogue is genuinely small. New York, the largest city, carried 110 upcoming events in total, and San Francisco 85. Most cities return 10 to 40. Scrape several cities per run; there is no depth to page into and a bigger
maxResultswill not find more. - Cities are a fixed list, not free text, because Luma only serves the cities it curates. A city outside the list is skipped with a warning rather than silently returning the wrong place. Note that
bengaluruworks andbangaloredoes not. - A city search includes its neighbours. Searching San Francisco returned San Jose, Oakland and Palo Alto events too. Filter on
cityafterwards if you need the city proper. - About half of events hide their venue. 42 of 80 San Francisco events had an address; the rest reveal it only to registered guests, so
venueis empty by design rather than missing. - Some events hide their counts.
guestCountandticketCountcome back as zero when the host has turned off the guest list, even on an event that is sold out. - Handles are the first host's. Events with several hosts list them all in
hostNames, but the social columns take the first host that has each handle, so the columns stay scalar and sortable. - Descriptions cost an extra request each, which is why they are off by default.
🔁 Run it on the Apify platform
Schedule it, use monitoring mode, and pull results with the Apify API or the JavaScript and Python clients. The dataset exports as JSON, CSV, Excel and XML.
🤖 Use with AI agents via MCP
Claude Code
$claude mcp add apify --transport http https://mcp.apify.com --header "Authorization: Bearer <YOUR_APIFY_TOKEN>"
Cursor or Claude Desktop
{"mcpServers": {"apify": {"url": "https://mcp.apify.com","headers": { "Authorization": "Bearer <YOUR_APIFY_TOKEN>" }}}}
Then ask in words: "find free AI events in Berlin next month on Luma and give me the organisers' X handles". The agent fills cities and onlyFreeEvents itself.
🔗 Use this Actor in n8n
Add the Apify node, choose Run Actor, pick webdata_labs/luma-event-scraper and paste your input JSON. Chain Get Dataset Items after it. A common pattern is a weekly schedule with onlyNewEvents: true feeding new events into a CRM or a Slack channel.
⚖️ Is it legal to scrape Luma?
This Actor reads only the public discover feed and public event pages that Luma serves to logged-out visitors. It does not log in, does not touch guest lists, and does not collect attendee data. Host social handles are the ones each host chose to publish on their own public event page.
You remain responsible for what you do with the output, including any outreach. If you contact organisers, the usual marketing and privacy rules where you operate still apply.
🧩 Related Actors
- Booking.com Scraper - hotel prices and availability across dates.
- Google Hotels Scraper - the full OTA price ladder for a property, in one request.
- Airbnb Market Intelligence - short-let listings, pricing and occupancy signals for a market.
- Contractor Leads Scraper - HVAC, plumbing and roofing firms scored on how much room they have to grow.
- Google Maps New Business Monitor - only places that appeared since your last run, for a standing prospect feed.
❓ FAQ
Can I scrape past events?
No. Luma's discover endpoint accepts only upcoming events and returns an error for anything else, so no Actor can offer past events from this source.
Why did my run return only 30 events?
Because that city has 30 upcoming events. Luma's catalogue is small per city: New York, the biggest, holds around 110. Add more cities rather than raising maxResults.
Why is the venue empty on some events?
The host chose to reveal the address only to registered guests. About half of San Francisco events do this. The city, region and country are still there.
Can I search by keyword or category?
Not on this endpoint. Luma's discover feed is organised by city, and category tags only appear on the event's own page, which is why categories needs includeDescription. Filter your dataset on categories or name afterwards.
Which host do the social columns belong to?
The first host that has each handle. All host names are in hostNames if you need the full list.
Why is my city not in the list?
Because Luma does not curate it. The Actor offers exactly the 60 cities Luma serves; anything else is rejected by Luma itself rather than quietly returning the wrong place.
Are guest counts always accurate?
They are what Luma publishes. Hosts who turn off the public guest list show zero, even on a sold-out event, so treat zero as "not disclosed" rather than "nobody is going".
Am I charged for a run that finds nothing?
No. The only charge is per event returned, and there is no start fee.
📝 Changelog
0.1 - 5 September 2026. First release. 60 cities, host social handles, ticket prices, guest counts, community pages, optional descriptions and categories, free-events filter, and monitoring mode.
🛠️ Support
Found a bug or need a field? Open an issue on the Actor's Issues tab. Reports with a run id get fixed fastest.
⭐ Rate this Actor
If it saved you time, a rating helps other people find it.