Luma Events Scraper API (lu.ma)
Pricing
Pay per event
Luma Events Scraper API (lu.ma)
Scrape lu.ma events by city, community calendar, category or event URL. Returns name, start and end time with timezone, venue or online link, host, cover image, ticket price or free flag, sold-out status and guest count. Clean JSON, no login and no API key.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Dami's Studio
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 hours ago
Last modified
Categories
Share
Pulls public events off lu.ma and hands them back as flat JSON rows: what the event is called, when it starts and ends (in its own timezone), where it is, who is hosting, what a ticket costs and how many people have signed up.
Point it at a city, a community calendar, a category, or a single event link.
$2.125 per 1,000 events ($0.002125 each), plus $0.001 each time a run starts. Flat rate — no volume tiers, no plan gates, and you pay only for events actually returned. See Pricing for the honest full picture, including a cheaper competitor.
What you get
One row per event. From a real 300-event run across 10 cities (29 seconds, 33 different towns, 5 countries):
{"eventId": "evt-zmiNTm0S1Vw0tYU","slug": "beta-fdnw","url": "https://lu.ma/beta-fdnw","name": "Snowflake X Beta Fund X Evermind Agent & Token Economy Hackathon","startAt": "2026-08-07T16:00:00.000Z","endAt": "2026-08-08T01:00:00.000Z","timezone": "America/Los_Angeles","startAtLocal": "2026-08-07 09:00","endAtLocal": "2026-08-07 18:00","durationMinutes": 540,"locationType": "offline","isOnline": false,"venueName": null,"addressFull": null,"city": "Menlo Park","cityState": "Menlo Park, CA","region": "California","country": "United States","countryCode": "US","latitude": 37.4867899,"longitude": -122.1764731,"addressIsHidden": true,"hostName": "Beta University","hostCount": 5,"hosts": [{ "name": "Beta University", "username": "betauniversity", "twitter": "UofBeta", "linkedin": "/school/university-of-beta", "website": "https://www.betauniversity.org/" }],"calendarName": "Beta University Events","calendarUrl": "https://lu.ma/Beta-events","coverImageUrl": "https://images.lumacdn.com/uploads/ag/7b2256b3-...png","isFree": true,"price": null,"priceCurrency": null,"isSoldOut": false,"spotsRemaining": null,"requiresApproval": true,"registrationStatus": "open","guestCount": 676,"ticketCount": 676,"visibility": "public","scrapedAt": "2026-08-07T22:07:14.001Z"}
Paid events fill in the price. Three real rows from the same run:
| Event | Price | Starts |
|---|---|---|
| How to Build a Regenerative Future for Humanity & Nature | $15 USD | 2026-08-12 17:30 |
| Does America Have a Housing Crisis? Looking Beyond the Headlines | $27 USD | 2026-08-12 19:00 |
| Matrescence: How Motherhood Rewires the Brain | $27 USD | 2026-08-12 19:00 |
Turn on Fetch the full description and ticket tiers and each row also gets description (the
event write-up as plain text), categories (Luma's own tags, e.g. ["AI","Crypto"]) and
ticketTypes (every tier with its price and how many are registered).
Input
| Field | What it does |
|---|---|
startUrls | Any lu.ma links. Event pages (https://lu.ma/beta-fdnw), city pages (https://lu.ma/sf), community calendars (https://lu.ma/Beta-events), category pages (https://lu.ma/ai). Bare slugs work too. |
cities | Discover cities by slug (sf, nyc, london, berlin, tokyo, bengaluru) or plain name (San Francisco). Luma runs discover pages for 87 cities. |
searchQuery | Keyword filter applied to every city and calendar feed, e.g. hackathon. |
category | tech, ai, crypto, climate, food, arts, fitness, wellness. Global feed only. |
period | future (default) or past. Only affects community calendars. |
includeDetails | Adds description, category tags and ticket tiers. One extra request per event. |
maxItems | Hard cap on rows. You pay per row returned. |
Two ways to start:
{ "cities": ["sf", "nyc"], "maxItems": 100 }
{ "startUrls": ["https://lu.ma/Beta-events"], "period": "past", "maxItems": 50 }
What this does NOT do
Read this part before you buy.
- A city feed is not an archive. Luma's discover page only serves upcoming events, and it runs
out. San Francisco returned 82, New York 70, London 52, Berlin 16 on the day we tested. If you
want thousands of rows, list more cities — not a bigger
maxItems. - Past events only work on community calendars. Set
period: "past"and pass a calendar URL. There is no past-events feed for a city. - About a third of street addresses are hidden by the organiser. Luma lets hosts reveal the
exact venue only to approved guests. 194 of 300 rows in our test run had a venue name; the other 106 had
addressIsHidden: truewith only the city and an approximate coordinate. We report the flag rather than guessing. - No guest lists.
guestCountis the number Luma shows publicly. Individual attendee names, emails and profiles are not scraped. - No private, unlisted or password-gated events. If you cannot see it logged out, neither can this actor.
- The category filter is global, not per-city. Luma ignores a category when a city is also set,
so
categoryworks on its own and the results skew to whatever region the request exits from. - Online-only events are rare here. Every one of our 300 test rows was
offline. Luma's city feeds are, by definition, geographic.
Pricing
$2.125 per 1,000 events — $0.002125 per event returned — plus $0.001 each time a run starts. Flat rate: no volume tiers, no plan gates, no minimum.
Sample rows, diagnostic rows, blocked requests and empty runs are never charged. A run with no
input returns one clearly labelled _sample row and costs you the start fee only. includeDetails
adds one request per event but does not change the price, so descriptions, category tags and full
ticket tiers cost the same $0.002125 per row.
Where that sits on this store. This is not the cheapest Luma scraper listed:
matyascimbulka/luma-event-scraper (50 monthly users) charges $0.03 per 1,000 on its lowest tier.
What you get for the difference is the row shown above — UTC and event-local start/end times with
the IANA timezone, geocoded coordinates plus an explicit addressIsHidden flag, every host with
their social links, ticket tiers with currency handled correctly for zero-decimal currencies, and
public guest counts. If raw price per row is your only criterion, go and read every listing's
pricing tab. We would rather tell you that than pretend.
FAQ
What is the Luma API and can I use it for free? Lu.ma has an official API, but it is scoped to calendars you own and needs a Luma Plus plan and an API key. There is no public endpoint for browsing other people's events. This actor reads the same public data the website shows a logged-out visitor.
How do I scrape all events in a city from lu.ma?
Put the city slug in cities — sf, nyc, london, berlin, tokyo, singapore, bengaluru,
la and 79 others. You will get everything Luma currently lists as upcoming there, typically
50–90 events.
Can I get Luma event attendee or guest data?
You get the public guestCount and ticketCount per event. You do not get individual attendees.
Names and emails of registrants are private to the organiser and this actor does not touch them.
Does it return ticket prices?
Yes. isFree is always set. Paid events carry price, priceCurrency, priceMax (when tiers
vary), isSoldOut and spotsRemaining. With includeDetails on you also get every ticket tier by
name. price is in whole currency units and the conversion respects zero-decimal currencies, so a
2,500 yen ticket comes back as 2500 JPY, not 25. Our last run returned USD, GBP, EUR, JPY and
SGD prices side by side.
Why is price null when isFree is true but priceMax has a number?
That is Luma's "Free – £15" pattern: the entry tier is free and there are optional paid tiers. The
row is telling you the cheapest ticket costs nothing and the dearest costs priceMax.
Can I monitor a specific community's calendar?
Yes — paste the calendar page, e.g. https://lu.ma/Beta-events. Schedule the run daily and diff on
eventId. Calendars are the only source that also exposes past events.
What timezone are the dates in?
startAt and endAt are UTC ISO-8601. timezone is the event's IANA zone, and startAtLocal /
endAtLocal are already converted to it, so you do not have to do the maths.
Does it need a proxy or a login? No. No Luma account, no cookies, no API key. The actor brings its own egress.
How fast is it? 300 events across 10 cities finished in 29 seconds. A single event URL takes about 3 seconds.
Which fields are empty and why?
venueName / addressFull are null when the organiser hides the address (35% of our test run) —
addressIsHidden tells you which. description, categories and ticketTypes are null unless you
switch on includeDetails.
Notes
Built and maintained by Dami Studio. If Luma changes something and rows stop coming back, the actor returns a diagnostic row explaining what broke instead of silently charging you for nothing.