Luma Calendar Events Scraper avatar

Luma Calendar Events Scraper

Pricing

Pay per usage

Go to Apify Store
Luma Calendar Events Scraper

Luma Calendar Events Scraper

Extracts upcoming events from Luma calendars with full event page text. Supports multiple calendars, date range and city filters, and chronological sorting. Outputs event name, date, location, URL, and page content — ideal for event monitoring, discovery, and AI pipelines.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Matej Hamas

Matej Hamas

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

1

Monthly active users

7 days ago

Last modified

Share

Extracts upcoming events from one or more Luma calendars, enriched with the full text content of each event page. Events are sorted chronologically and output as a structured dataset — ready for monitoring, analysis, or AI pipelines.

What is Luma?

Luma is a popular event platform used by tech communities, startups, and developer groups to organize and promote meetups, conferences, and hackathons. Each organizer has a calendar identified by a slug (e.g. apify), which lists their upcoming featured events.

Use cases

  • Event monitoring — Track upcoming events across multiple communities or organizations from a single run.
  • Conference discovery — Find tech events in a specific city or date range by combining calendar slugs with filters.
  • Content extraction — Get the full text of each event page for summarization, search indexing, or RAG pipelines.
  • Competitive intelligence — Monitor what events competitor companies or communities are hosting or attending.
  • Community analytics — Aggregate event data across calendars to spot trends in topics, locations, or timing.

Input

FieldTypeRequiredDescription
slugsstring[]YesOne or more Luma calendar slugs. You can find the slug in the calendar URL: https://lu.ma/apify.
dateFromstringNoOnly include events on or after this date (inclusive). Format: YYYY-MM-DD.
dateTostringNoOnly include events on or before this date (inclusive). Format: YYYY-MM-DD.
citystringNoFilter events by city. Case-insensitive substring match — "Francisco" matches "San Francisco".
maxEventsintegerNoLimit to the first N upcoming events across all calendars. Fewer events = faster and cheaper runs. 0 or empty = no limit.

All filters are applied in this order: date rangecitymax events. This means you can combine them freely — for example, get the next 5 events in San Francisco happening in April 2026.

Example input — simple

{
"slugs": ["apify"],
"maxEvents": 5
}

Example input — with all filters

{
"slugs": ["apify"],
"dateFrom": "2026-04-01",
"dateTo": "2026-06-30",
"city": "San Francisco",
"maxEvents": 10
}

Output

Each event in the output dataset contains:

FieldTypeDescription
slugstringThe calendar slug this event belongs to.
namestringEvent name.
datestringEvent date in YYYY-MM-DD format (in the event's local timezone).
timeUTCstringStart time as ISO 8601 string in UTC (e.g. "2026-03-26T09:00:00.000Z").
timeLocalstringStart time formatted in the event's local timezone (e.g. "10:00").
citystringEvent location (city/region).
urlstringDirect link to the event page.
textstringFull text content extracted from the event page.

Example output

Here are the first 5 upcoming events from the apify calendar:

[
{
"slug": "apify",
"name": "COFIT Career Fair",
"date": "2026-03-26",
"timeUTC": "2026-03-26T09:00:00.000Z",
"timeLocal": "10:00",
"city": "Hlavní město Praha, Hlavní město Praha",
"url": "https://fit.cvut.cz/en/cooperation/for-students/cofit-career-fair",
"text": "COFIT Career Fair - FIT CTU The COFIT Career Fair connects leading companies with talented students..."
},
{
"slug": "apify",
"name": "OpenClawPrague #1",
"date": "2026-03-26",
"timeUTC": "2026-03-26T16:30:00.000Z",
"timeLocal": "17:30",
"city": "Hlavní město Praha, Hlavní město Praha",
"url": "https://lu.ma/l5boronk",
"text": "Share your best stories! We're building always-on open-source AI agents..."
},
{
"slug": "apify",
"name": "Cursor Hackathon Kashmir",
"date": "2026-03-28",
"timeUTC": "2026-03-28T04:30:00.000Z",
"timeLocal": "10:00",
"city": "Srinagar",
"url": "https://lu.ma/za5937hy",
"text": "Cursor Hackathon Kashmir 2026 Build with the best way to code with AI. Build with Cursor..."
},
{
"slug": "apify",
"name": "GenAI Zürich 2026 — The European Summit on Applied Generative AI",
"date": "2026-04-01",
"timeUTC": "2026-04-01T06:00:00.000Z",
"timeLocal": "08:00",
"city": "Zürich, Zürich",
"url": "https://www.genaizurich.ch/",
"text": "GenAI Zürich 2026 | The European Summit on Applied Generative AI..."
},
{
"slug": "apify",
"name": "MCP Dev Summit North America",
"date": "2026-04-02",
"timeUTC": "2026-04-02T13:00:00.000Z",
"timeLocal": "09:00",
"city": "New York, New York",
"url": "https://events.linuxfoundation.org/mcp-dev-summit-north-america/",
"text": "MCP Dev Summit North America April 2-3, 2026 New York, NY #MCPDevSummit..."
}
]

The text field contains the full event page content (truncated above for readability). In the actual dataset, text can be up to 15,000 characters per event.

Tips

  • Start small — Use maxEvents to limit your first runs. Fewer events means faster and cheaper runs.
  • Combine calendars — Pass multiple slugs to aggregate events from different communities into a single chronological feed.
  • Narrow by date — Use dateFrom and dateTo to focus on a specific time window, e.g. just the next month or a conference season.
  • Graceful errors — If a slug doesn't exist or a calendar is temporarily unavailable, the Actor logs a warning and continues with the rest. You'll never lose an entire run because of one bad slug.

How much will it cost?

The Actor uses minimal compute for most events. For events hosted on external websites (outside lu.ma), Website Content Crawler is used to extract page text, which consumes additional platform credits. A typical run with 10-20 events costs a few cents.

Use maxEvents to control costs — if you only need the next 5 events, set it to 5.