Luma Event Scraper avatar

Luma Event Scraper

Pricing

$2.25 / 1,000 events

Go to Apify Store
Luma Event Scraper

Luma Event Scraper

Collect public Luma events and user profiles. Get dates, venues, ticket details, hosts, and public social links when available for event lists and organizer research.

Pricing

$2.25 / 1,000 events

Rating

0.0

(0)

Developer

Maxime Dupré

Maxime Dupré

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

3 days ago

Last modified

Share

📅 Turn public Luma events into research data

For event researchers, community teams, and developers, this Actor collects public Luma events and user profiles. Get dates, venues, ticket details, hosts, and public social links when available. Use the data to build event lists and review organizers without opening each page by hand.

📦 Event details and public user profiles

Each event row has its Luma ID, title, public link, and start time. Available details can include the description, venue, host profiles, featured guests, tickets, registration state, and public counts.

User profile rows have a Luma ID, name, and public link. They can also include a bio, images, website, social handles, joining date, and source-reported activity counts.

Optional fields may be absent when Luma does not provide them. Counts and verification flags come from Luma. The Actor does not infer missing values.

The first eligible occurrence of each source item is saved as soon as it is found. Later matches from other links, IDs, or keywords are ignored. A saved row does not collect details from later matches.

▶️ Choose a Luma source and run

  1. Choose Events or User profiles.
  2. For events, use the discover feed, a city, category, keywords, coordinates, or public source links.
  3. For user profiles, add public profile links or user IDs.
  4. Set Maximum results if you want a smaller run, then start the Actor.
  5. Open Results to review or export the dataset.

Event sources share the same filters. Fields for the other result type are ignored. No Luma login or API key is needed for public data.

⚙️ Input

Input fields

FieldTypeWhat it does
resultTypestringRequired. Choose events or userProfiles.
eventSourcesstring arrayPublic event, calendar, community, organizer, or user profile links. IDs can use event:, calendar:, or user: before the ID. Profile sources find public events.
discoverbooleanFind events in the public discover feed. City, category, and location choices narrow this feed. Can run with submitted sources and keywords. Defaults to true.
citystringSupported city name or Luma city handle. Starts city discovery. Add a category to use both.
categorystringLuma category handle or link. Starts category discovery, or narrows city or location discovery.
keywordsstring arraySearch events for each word or phrase with the same filters.
locationobjectFind events around coordinates. Both latitude and longitude are required when used.
location.latitudenumberLatitude in decimal degrees, from -90 to 90.
location.longitudenumberLongitude in decimal degrees, from -180 to 180.
calendarPeriodstringFor calendar, community, and organizer sources, choose upcoming, past, or both. Defaults to upcoming.
startDatestringInclude events starting on or after this UTC date, in YYYY-MM-DD format.
endDatestringInclude events starting on or before this UTC date, in YYYY-MM-DD format.
attendancestringChoose all, inPerson, or virtual events. Defaults to all.
pricingstringChoose all, free, or paid events. Defaults to all.
profileSourcesstring arrayPublic Luma user profile links or user IDs. Used only for User profiles.
maxItemsintegerOptional positive result limit for either result type. Leave it empty to return all available results until the source is exhausted.

There is no fixed upper bound for maxItems. Luma may provide fewer results than the limit you set.

Example input

This public input is copied from a successful default-input run.

{
"resultType": "events",
"discover": true,
"calendarPeriod": "upcoming",
"attendance": "all",
"pricing": "all",
"maxItems": 10
}

🧾 Output

Dataset link

FieldTypeWhat it does
resultsstringOpens the events or user profiles saved to the default dataset.

The dataset has two row shapes. Nested paths below describe fields inside objects or array entries. Optional details appear only when they are available.

Event row

FieldTypeWhat it does
recordTypestringevent for an event row.
idstringLuma source ID for joining records.
namestringPublic event title.
urlstringPublic source page link supplied by Luma.
startAtstringEvent start time with its UTC offset.
endAtstringEvent end time with its UTC offset.
timezonestringEvent time zone reported by Luma.
descriptionstringReadable public event description.
locationobjectPublic event venue and geographic details.
location.namestringVenue name.
location.addressstringPublic street address.
location.neighborhoodstringNeighborhood reported by Luma.
location.citystringCity reported by Luma.
location.regionstringRegion or state reported by Luma.
location.countrystringCountry reported by Luma.
location.latitudenumberVenue latitude in decimal degrees.
location.longitudenumberVenue longitude in decimal degrees.
attendanceModestringAttendance mode reported by Luma.
meetingUrlstringPublic virtual meeting link.
meetingDetailsstringPublic virtual meeting instructions.
coverImageUrlstringPublic event cover image link.
socialImageUrlstringPublic event social-share image link.
organizerobjectPublic calendar, community, or organizer profile.
organizer.idstringLuma organizer ID for joining source records.
organizer.namestringPublic name.
organizer.urlstringPublic profile link supplied by Luma.
organizer.biostringPublic biography.
organizer.avatarUrlstringPublic profile image link.
organizer.websiteUrlstringPublic website link.
organizer.socialobjectPublic social handles and links.
organizer.social.instagramstringPublic Instagram handle.
organizer.social.twitterstringPublic X or Twitter handle.
organizer.social.linkedinstringPublic LinkedIn handle or link.
organizer.social.youtubestringPublic YouTube handle or link.
organizer.social.tiktokstringPublic TikTok handle.
organizer.verifiedbooleanWhether Luma reports this profile as verified.
organizer.coverImageUrlstringPublic cover image link.
hostsobject arrayPublic event hosts.
hosts[].idstringLuma user ID for joining source records.
hosts[].namestringPublic name.
hosts[].urlstringPublic profile link supplied by Luma.
hosts[].biostringPublic biography.
hosts[].avatarUrlstringPublic profile image link.
hosts[].websiteUrlstringPublic website link.
hosts[].socialobjectPublic social handles and links.
hosts[].social.instagramstringPublic Instagram handle.
hosts[].social.twitterstringPublic X or Twitter handle.
hosts[].social.linkedinstringPublic LinkedIn handle or link.
hosts[].social.youtubestringPublic YouTube handle or link.
hosts[].social.tiktokstringPublic TikTok handle.
hosts[].verifiedbooleanWhether Luma reports this profile as verified.
featuredGuestsobject arrayGuests publicly featured on the event page.
featuredGuests[].idstringLuma user ID for joining source records.
featuredGuests[].namestringPublic name.
featuredGuests[].urlstringPublic profile link supplied by Luma.
featuredGuests[].biostringPublic biography.
featuredGuests[].avatarUrlstringPublic profile image link.
featuredGuests[].websiteUrlstringPublic website link.
featuredGuests[].socialobjectPublic social handles and links.
featuredGuests[].social.instagramstringPublic Instagram handle.
featuredGuests[].social.twitterstringPublic X or Twitter handle.
featuredGuests[].social.linkedinstringPublic LinkedIn handle or link.
featuredGuests[].social.youtubestringPublic YouTube handle or link.
featuredGuests[].social.tiktokstringPublic TikTok handle.
featuredGuests[].verifiedbooleanWhether Luma reports this profile as verified.
categoriesobject arrayCategories assigned to the event.
categories[].idstringCategory ID for joining source records.
categories[].namestringCategory name.
categories[].descriptionstringPublic category description.
categories[].subscriberCountintegerCategory audience total reported by Luma.
languagestringEvent language reported by Luma.
ticketsobject arrayPublic ticket tiers.
tickets[].idstringTicket tier ID for joining source records.
tickets[].namestringTicket tier name.
tickets[].pricenumberTicket price in the original currency units.
tickets[].currencystringOriginal ticket currency code.
tickets[].capacityintegerTier capacity reported by Luma.
tickets[].registrationCountintegerTier registration total reported by Luma.
tickets[].salesStartAtstringStart of the public ticket sales window.
tickets[].salesEndAtstringEnd of the public ticket sales window.
registrationobjectPublic registration state reported by Luma.
registration.statusstringRegistration availability reported by Luma.
registration.approvalRequiredbooleanWhether registration needs host approval.
registration.waitlistEnabledbooleanWhether Luma offers a waitlist.
registration.capacityintegerEvent capacity reported by Luma.
registration.soldOutbooleanWhether Luma reports the event as sold out.
registration.questionsobject arrayPublic registration questions.
registration.questions[].idstringQuestion ID for matching source questions.
registration.questions[].labelstringQuestion text shown to visitors.
registration.questions[].typestringQuestion type reported by Luma.
registration.questions[].requiredbooleanWhether an answer is required.
registration.questions[].optionsstring arrayChoices shown for this question.
guestCountintegerPublic guest total reported by Luma.
ticketRegistrationCountintegerPublic ticket registration total reported by Luma.

This complete event row came from a successful current-beta run. Public source values are kept as returned.

{
"recordType": "event",
"id": "evt-PnyZfgnXsJ8nCtt",
"name": "Virtual: USC-SOM Greenville Admissions Zoom Call",
"url": "https://luma.com/0m0zsex8",
"startAt": "2026-11-02T21:00:00.000Z",
"endAt": "2026-11-02T22:00:00.000Z",
"timezone": "America/New_York",
"description": "All PreMed students are invited to the Virtual Admissions Zoom Call with USC School of Medicine Greenville.\nDetails:\nDate: Monday, November 2\n\nTime: 4:00-5:00pm\n\nLocation: ZOOM\n\nPoint Value: 1 Professional point\n\nDress Code: Business Casual\n\nATTENTION: You will only receive a point for this event if you are dressed in business casual and have your camera turned on for the entire duration of the event!\nTake Away:\nThis virtual session will give students an inside look at the USC School of Medicine Greenville admissions process. Attendees will learn about the application timeline, admissions requirements, interview process, and qualities the school looks for in applicants. Students will also have the opportunity to ask questions directly to USC-SOM Greenville admissions representatives.\n\nWhy Attend?\nWhether you are considering USC-SOM Greenville for medical school or are still exploring your options, this event provides an opportunity to learn directly from the admissions team, better understand the application process, and ask questions about what it takes to prepare for a successful application.\n\nQuestions? Contact:\nName: Shivangi Nayak\n\nEmail: snayak@email.sc.edu\n\nPhone Number: 864-434-3142",
"language": "en",
"location": {
"name": "Russell House",
"address": "Russell House, 1400 Greene St, Columbia, SC 29208, USA",
"neighborhood": "Midtown - Downtown",
"city": "Columbia",
"region": "South Carolina",
"country": "United States",
"latitude": 33.996455499999996,
"longitude": -81.0270291
},
"attendanceMode": "offline",
"meetingDetails": "ATTENTION: You will only receive a point for this event if you are dressed in business casual and have your camera turned on for the entire duration of the event!",
"organizer": {
"id": "cal-JxQhUyKnCH20vv3",
"name": "USC Alpha Epsilon Delta",
"url": "https://luma.com/uscaed",
"avatarUrl": "https://images.lumacdn.com/calendars/bi/42ab6c0c-8c3e-44d4-87c7-7139263ac5e9.png",
"verified": false,
"social": {},
"coverImageUrl": "https://images.lumacdn.com/calendar-cover-images/ef/6e3d8a14-ffab-4398-a0ff-8b44f08ce9eb.jpg"
},
"hosts": [
{
"id": "usr-y21zvlax5wZ45QZ",
"name": "USC AED",
"url": "https://luma.com/user/USCAED",
"avatarUrl": "https://images.lumacdn.com/avatars/23/c727299e-5b7c-4998-bb95-52e35bfcfdd3.png",
"websiteUrl": "https://www.uofscaed.com/",
"verified": false,
"social": {
"instagram": "uofscaed",
"linkedin": "/company/uofscaed"
}
}
],
"featuredGuests": [
{
"id": "usr-1LnGSNtPm7yX4oW",
"name": "Alexia George",
"url": "https://luma.com/user/usr-1LnGSNtPm7yX4oW",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_17.png",
"verified": false,
"social": {}
},
{
"id": "usr-1pPea4Zoh4PoIFP",
"name": "Layla Foster",
"url": "https://luma.com/user/usr-1pPea4Zoh4PoIFP",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_42.png",
"verified": false,
"social": {}
},
{
"id": "usr-3XCC9HovLZ3jmWv",
"name": "TYREN",
"url": "https://luma.com/user/usr-3XCC9HovLZ3jmWv",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_11.png",
"verified": false,
"social": {}
},
{
"id": "usr-4SxDoGTyzMtUHMH",
"name": "Savanna Jones",
"url": "https://luma.com/user/usr-4SxDoGTyzMtUHMH",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_20.png",
"verified": false,
"social": {}
},
{
"id": "usr-aZwifUI34ROmkBo",
"name": "Brooke Bouchard",
"url": "https://luma.com/user/usr-aZwifUI34ROmkBo",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_10.png",
"verified": false,
"social": {}
},
{
"id": "usr-DxGJ16Lgh76uRyJ",
"name": "Roshni Ismail",
"url": "https://luma.com/user/usr-DxGJ16Lgh76uRyJ",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_29.png",
"verified": false,
"social": {}
},
{
"id": "usr-ka2CIzY1D1g3Twx",
"name": "Eleanor Cantrell",
"url": "https://luma.com/user/usr-ka2CIzY1D1g3Twx",
"avatarUrl": "https://cdn.lu.ma/avatars-default/avatar_43.png",
"verified": false,
"social": {}
}
],
"tickets": [
{
"id": "ttype-J1KVEc5SrHVsrHR",
"name": "Standard",
"price": 0,
"registrationCount": 7
}
],
"coverImageUrl": "https://images.lumacdn.com/uploads/1m/ce75912a-ea91-4e5b-b9dd-6f669b45a592.png",
"socialImageUrl": "https://images.lumacdn.com/event-social/zs/7cfb2635-f287-4761-86cb-f32246242cd3.png",
"guestCount": 7,
"ticketRegistrationCount": 7,
"registration": {
"status": "open",
"approvalRequired": false,
"waitlistEnabled": false,
"soldOut": false,
"questions": []
},
"categories": []
}

User profile row

FieldTypeWhat it does
recordTypestringuserProfile for a user profile row.
idstringLuma source ID for joining records.
namestringPublic user name.
urlstringPublic source page link supplied by Luma.
biostringPublic biography.
avatarUrlstringPublic profile image link.
websiteUrlstringPublic website link.
socialobjectPublic social handles and links.
social.instagramstringPublic Instagram handle.
social.twitterstringPublic X or Twitter handle.
social.linkedinstringPublic LinkedIn handle or link.
social.youtubestringPublic YouTube handle or link.
social.tiktokstringPublic TikTok handle.
verifiedbooleanWhether Luma reports this profile as verified.
joinedAtstringProfile joining date reported by Luma.
hostedEventCountintegerHosted event total reported by Luma.
attendedEventCountintegerAttended event total reported by Luma.

This complete profile row came from a successful current-beta run.

{
"recordType": "userProfile",
"id": "usr-Kwp5gJrd14BIlGC",
"name": "AI LA",
"url": "https://luma.com/user/AILA",
"avatarUrl": "https://cdn.lu.ma/avatars/sh/29b01259-5626-4ff6-be03-4b59294cd5f4",
"websiteUrl": "https://joinai.la",
"verified": false,
"social": {
"instagram": "AILA_Community",
"twitter": "AILA_community",
"linkedin": "/company/ai-la",
"youtube": "AILAcommunity"
},
"joinedAt": "2022-01-07T18:52:53.954Z",
"hostedEventCount": 261,
"attendedEventCount": 140
}

💳 Pricing

This Actor uses pay-per-event pricing. One public event read and saved to your dataset is one charged event. See the Actor's pricing panel for the current rate.

🔌 Integrations

Start runs and read the dataset with the Apify API. You can also export the dataset from Apify for use in your own tools.

❓ FAQ

Can I collect private attendees or registration answers?

No. The Actor collects public event and profile data. It does not access private events, organizer dashboards, restricted attendee lists, or registration answers.

What happens when two sources find the same event?

The first eligible occurrence is saved. Later matches are ignored and do not update the saved row.

Can I get past calendar events?

Yes. Set calendarPeriod to past or both for calendar, community, or organizer sources.

Can I filter events by date, format, or ticket price?

Yes. Use startDate and endDate for UTC start dates, attendance for in-person or virtual events, and pricing for free or paid events.

Why are some fields missing?

Luma does not publish every detail for every event or user. Optional fields can be absent. The Actor does not guess ticket prices, attendance figures, or other missing values.

Can I collect all available results?

Yes. Leave maxItems empty to return all available results until the source is exhausted. Set a positive limit for a smaller run.

Is this for the Luma AI video tool?

No. This Actor reads public event and user data from Luma's event platform at luma.com.

Does this Actor register me for events?

No. It collects public data. It does not register guests, buy tickets, or manage events.

📝 Changelog

v0.0 (05-10-2026)

  • Initial release.

🆘 Support

For issues, questions, or feature requests, file a ticket and I'll fix or implement it in less than 24h 🫡

Made with ❤️ by Maxime Dupré