Fetch structured event data from Luma (lu.ma) without authentication. Luma is a popular platform for tech meetups, startup events, conferences, and community gatherings.
Luma is a Next.js SSR app. All event data is embedded in the HTML as JSON inside a tag. The Python script extracts this data - no API key needed.
python3 scripts/fetch_events.py bengaluru mumbai --days 14
python3 scripts/fetch_events.py <city> [cities...] [--days N] [--max N] [--json]
city: City slug (bengaluru, mumbai, delhi, san-francisco, new-york, london, etc.)--days N: Only show events within N days (default: 30)--max N: Maximum events per city (default: 20)--json: Output raw JSON instead of formatted text============================================================
📍 BENGALURU — 5 events
============================================================
🎯 AI Engineers Day with OpenAI
📍 Whitefield, Bengaluru
📅 Jan 31, 2026 10:30 AM IST
👥 OpenAI, Google AI
👤 1411 going
🎫 Available (150 spots)
🔗 https://lu.ma/57tarlkp
🎯 Startup Fundraising Masterclass
📍 Koramangala, Bengaluru
📅 Feb 02, 2026 06:00 PM IST
🟢 Free (50 spots)
🔗 https://lu.ma/startup-funding
--json)[
{
"city": "bengaluru",
"count": 5,
"events": [
{
"event": {
"name": "AI Engineers Day",
"start_at": "2026-01-31T05:00:00.000Z",
"end_at": "2026-01-31T12:30:00.000Z",
"url": "57tarlkp",
"geo_address_info": {
"city": "Bengaluru",
"address": "Whitefield",
"full_address": "..."
}
},
"hosts": [{"name": "OpenAI", "linkedin_handle": "/company/openai"}],
"guest_count": 1411,
"ticket_info": {
"is_free": false,
"is_sold_out": false,
"spots_remaining": 150
}
}
]
}
]
Always save fetched events to ~/clawd/memory/luma-events.json for future reference.
This allows you to:
When to save:
lastFetched timestampFormat:
[
{
"city": "bengaluru",
"name": "AI Engineers Day",
"start": "2026-01-31T05:00:00.000Z",
"end": "2026-01-31T12:30:00.000Z",
"url": "https://lu.ma/57tarlkp",
"venue": "Whitefield, Bengaluru",
"hosts": ["OpenAI", "Google AI"],
"guestCount": 1411,
"ticketStatus": "available",
"spotsRemaining": 150,
"isFree": false,
"lastFetched": "2026-01-29T12:54:00Z"
}
]
python3 scripts/fetch_events.py bengaluru --days 7
python3 scripts/fetch_events.py bengaluru mumbai san-francisco --days 14 --json | jq '.[] | .events[] | select(.event.name | contains("AI"))'
python3 scripts/fetch_events.py new-york --max 5
User: "What tech events are happening in Bangalore this weekend?"
→ Fetch Bengaluru events for next 7 days, save to memory
User: "Any AI meetups in Mumbai next month?"
→ Fetch Mumbai events for next 30 days, filter for AI-related, save to memory
User: "Compare startup events in SF vs NYC"
→ Fetch both cities, compare, save both to memory
"Could not find __NEXT_DATA__" → Luma changed their HTML structure, script needs updating
"Unexpected data structure" → The JSON path changed, check the latest HTML
No events returned → City slug might be wrong, or no upcoming events for that city
Timeout errors → Network issue, retry or check internet connection
urllib, json, re, argparse, datetime (all built-in)共 1 个版本