Luma Events Scraper (lu.ma) – All Events in a City avatar

Luma Events Scraper (lu.ma) – All Events in a City

Pricing

from $2.00 / 1,000 events

Go to Apify Store
Luma Events Scraper (lu.ma) – All Events in a City

Luma Events Scraper (lu.ma) – All Events in a City

All public Luma (lu.ma) events in a city, not just the featured list (SF: ~450 a week instead of ~30). By city, category, keyword or calendar: time zone, venue, prices incl. JPY/KRW, tickets, organizer. No duplicates, no personal data.

Pricing

from $2.00 / 1,000 events

Rating

0.0

(0)

Developer

lokalapi Data

lokalapi Data

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Share

Luma Events Scraper (lu.ma) – All Events in a City, Not Just Luma's Featured List

Get all public events in a city from Luma (lu.ma / luma.com) – not just the short featured list on Luma's city page. In San Francisco that is about 450 events a week instead of about 30. Search by city, category (AI, tech, crypto, arts, climate, wellness …), keyword or Luma calendar, filter by date, price and format, and export to JSON, CSV or Excel. Fast HTTP requests (no browser), no login, and no personal data: no attendees, no host profiles, no contact details.

Typical uses: event calendars and newsletters, city or industry event aggregators, market and competitor research ("which AI events happen in Singapore next month?"), sponsorship and venue scouting, and AI agents that need up-to-date event data.

Why this Actor

  • All events in a city, not just the featured list. Luma's city page shows a short curated list. This Actor returns every public event in the area around the city (default ±50 km, adjustable), plus the featured list. Want only the curated list? Set City events to Featured only.
  • No duplicates, and duplicates are never charged. An event found by several inputs (two cities, a city and a category, several keywords) is saved and charged once.
  • No personal data, built for GDPR-conscious teams. No host or speaker names, no profiles or social links, no guest lists, no user IDs. Organizers appear only as organizations. Contact details inside descriptions are removed. An automated test checks every output field.
  • Correct prices. Amounts in currency units for every currency, including currencies without cents such as JPY and KRW (¥2,000 is 2000, not 20). The price range covers tickets on sale now, so an expired early bird does not show up as the lowest price.
  • Pay only for saved events: $0.003 per event with details, $0.002 without (see Pricing).

Compared with other Luma scrapers

Measured on Apify on 17 October 2026: the same week of events (18–24 October), all Actors started at the same time.

Events found in one weekThis ActorMost-used Luma scraper on Apify
San Francisco454 (of 455 in total)30 (Luma's featured list only)
Singapore83 (of 83)11

0 % failed or aborted runs in all our test runs, and no duplicate events.

What you get per event

FieldExample
name, url"AI Agents Builders Night", https://luma.com/abc123
startAt, endAt (UTC), startLocal, timezone2026-11-05T11:00:00.000Z, 2026-11-05T19:00, Asia/Singapore
locationTypeoffline (in person) or online
city, region, country, countryCodeSingapore, Singapore, Singapore, SG
address, latitude, longitude, locationPrecisionStreet address only if the organizer made it public; otherwise city plus approximate coordinates
isFree, priceMin, priceMax, currencyfalse, 15, 25, SGD – price range of the tickets on sale now (as shown on Luma), in currency units (¥2000 is 2000, $19.99 is 19.99)
ticketTypesName, price, currency, flexible price, approval needed, isAvailable (false for expired early birds, sold-out or not yet open tickets)
isSoldOut, spotsRemaining, requiresApproval, registrationOpenTicket availability
guestCountNumber of registered guests (a count, no names)
organizerOrganization calendar: name, Luma calendar URL, website, verified. null for events on a person's own calendar
categories, tagsLuma categories (e.g. AI, Tech), calendar tags
descriptionPlain-text excerpt (about 300 characters), see FAQ
coverImageUrlLink to the cover image on Luma
source, scrapedAtWhich input found the event, time of the run

How to use it

1. Events in a city – put one or more cities into Cities, e.g. singapore, jakarta, sf, nyc, london, berlin. You get all public Luma events within ±50 km of the city center (the map on luma.com; change it with Radius (km)), plus Luma's own featured list for the city, which also has online events. Set City events to Featured only if you want just that short list. Luma covers about 90 cities, listed on luma.com/discover.

2. A topic in a city – add Categories such as ai, tech, crypto, arts, climate, fitness, wellness, food to get only those events in the area around each city (same radius).

3. Keyword search – add Keywords such as hackathon or founders. By default an event matches only if a keyword appears in its title or description. Choose Luma search for Luma's own, broader search.

4. All events of a community or company – put its Luma calendar into Luma URLs, e.g. https://luma.com/digitalocean. With a From date in the past you also get past events. Single event URLs work as well.

Example inputs:

{ "cities": ["singapore", "jakarta"], "categories": ["ai", "tech"], "startDate": "+0 days", "endDate": "+30 days", "maxEvents": 200 }
{ "cities": ["sf"], "keywords": ["hackathon"], "onlyFree": true }
{ "urls": ["https://luma.com/digitalocean"], "startDate": "2026-01-01", "endDate": "2026-12-31" }

Example output

{
"eventId": "evt-AbCdEf123456789",
"url": "https://luma.com/abc123",
"name": "AI Agents Builders Night",
"startAt": "2026-11-05T11:00:00.000Z",
"endAt": "2026-11-05T14:00:00.000Z",
"startLocal": "2026-11-05T19:00",
"timezone": "Asia/Singapore",
"locationType": "offline",
"city": "Singapore",
"region": "Singapore",
"country": "Singapore",
"countryCode": "SG",
"address": "Example Hall, 1 Example Road, Singapore 012345",
"latitude": 1.2995,
"longitude": 103.7876,
"locationPrecision": "exact",
"isFree": false,
"priceMin": 15,
"priceMax": 25,
"currency": "SGD",
"isSoldOut": false,
"spotsRemaining": null,
"requiresApproval": false,
"registrationOpen": true,
"guestCount": 86,
"organizer": {
"name": "Example Dev Community",
"calendarUrl": "https://luma.com/exampledev",
"website": "https://exampledev.org",
"isVerified": true
},
"categories": ["AI", "Tech"],
"tags": [],
"ticketTypes": [
{ "name": "Early bird", "type": "fiat-price", "price": 15, "minPrice": null, "currency": "SGD", "isFlexiblePrice": false, "requiresApproval": false, "isAvailable": true },
{ "name": "Standard", "type": "fiat-price", "price": 25, "minPrice": null, "currency": "SGD", "isFlexiblePrice": false, "requiresApproval": false, "isAvailable": true }
],
"description": "Join builders working on AI agents for an evening of short demos, lightning talks and networking. Bring a laptop if you want to show what you are working on. Food and drinks provided…",
"descriptionIsExcerpt": true,
"coverImageUrl": "https://images.lumacdn.com/uploads/example/cover.png",
"lumaCity": "Singapore",
"source": "city:singapore category:ai",
"scrapedAt": "2026-10-13T08:00:00.000Z"
}

The run's key-value store also has an OUTPUT record: events per input source, inputs that were skipped and why (e.g. an unknown city), and the charged events.

Pricing

Pay per event, no subscription. You pay only for events that are actually saved to your dataset:

Include detailsCharged per saved eventPer 1,000 events
On (default): list data + description excerpt, all ticket types, categories$0.002 event + $0.001 details = $0.003$3
Off: list data only (date, place, price range, organizer, availability)$0.002$2
  • The details charge applies only to events saved with their details. If Luma does not return the details for an event, the event is saved with list data and costs $0.002.
  • Events outside your filters, duplicates (the same event found by several inputs) and inputs that find nothing are not charged. Apify adds its tiny Actor start fee ($0.00005) per run.
  • The run stops before it would exceed the maximum cost per run you set in Apify (default $5 ≈ 1,666 events with details).

Speed and reliability

  • Plain HTTP requests, 256 MB memory, no browser. Measured on Apify: 500 events without details in about 5 seconds; with details (one extra request per event) about 3–4 events per second, e.g. 500 events in about 2.5 minutes.
  • Requests are throttled (at most 3 in parallel, about 4 per second) and retried on temporary errors, so runs do not fail because of a single slow response.
  • An invalid input (unknown city, wrong URL) is skipped with a clear message in the run status and in OUTPUT; the other inputs still run.

FAQ

No personal data – what exactly is left out? Attendee and guest lists, host and speaker profiles, user IDs, social media handles, e-mail addresses and phone numbers. The organizer is only included when the event belongs to an organization's Luma calendar (name, calendar URL, website). Events on a person's own calendar have organizer: null. Contact details that appear inside descriptions (e-mails, phone numbers, profile links, @handles) are removed. Street addresses are only returned when the organizer made them public on Luma; "guests only" addresses are not requested. guestCount is just a number. Luma user profile URLs are rejected as input.

Data stays on Luma – why only a description excerpt? Event descriptions are the organizers' own texts. By default you get a plain-text excerpt of about 300 characters plus the event url, so readers find the full text, images and registration on Luma, the original source. Images are linked, never downloaded or re-hosted. If you need the full text (e.g. for search or classification), turn on Full description text. Make sure your use of the text is covered, for example by linking back to the event and not republishing descriptions in full.

Where does the data come from? From the public pages and the public JSON data that luma.com itself loads in the browser, without login or cookies. The Actor follows Luma's robots.txt and keeps the request rate low. It is not affiliated with or endorsed by Luma. Luma's terms of use apply to how you use the data: luma.com/terms.

Why do some cities return only a few events? The Actor returns the public events that organizers listed on Luma in the area around the city (default ±50 km). Smaller cities simply have fewer of them (Jakarta: about 25 a month, Singapore about 235, San Francisco about 1,000). For a specific community, use its calendar URL.

Can I get past events? Yes for calendars: set From date to a past date. City and category feeds only contain upcoming events.

Can I use it from an AI agent? Yes. The Actor works with the Apify MCP server and the Apify API. Typical agent prompt: "Find AI events in Singapore next week that are free" → {"cities":["singapore"],"categories":["ai"],"endDate":"+7 days","onlyFree":true}.

Something is missing or broken? Open an issue on the Issues tab and include your input.