NEW AI Studio is now available Try it now
Events & Tickets

Luma Scraper

Extract community event listings, host profiles, RSVP data, and calendar details from Luma event hosting platform. Powered by spider-browser .

Get Started Documentation
lu.ma target
99.5% success rate
~4ms latency
Quick Start

Extract data in minutes

luma-scraper.ts
import { SpiderBrowser } from "spider-browser";

const spider = new SpiderBrowser({
  apiKey: process.env.SPIDER_API_KEY!,
});

await spider.connect();
const page = spider.page!;
await page.goto("https://lu.ma/sf");
await page.content(10000);

const data = await page.evaluate(`(() => {
  const events = [];
  document.querySelectorAll("[data-testid='event-card'], .event-card").forEach(el => {
    const name = el.querySelector("h3, .event-card__title")?.textContent?.trim();
    const host = el.querySelector(".event-card__host, [data-testid='host-name']")?.textContent?.trim();
    const date = el.querySelector("time, .event-card__date")?.textContent?.trim();
    const location = el.querySelector(".event-card__location, [data-testid='location']")?.textContent?.trim();
    const rsvp = el.querySelector(".event-card__rsvp, [data-testid='rsvp-count']")?.textContent?.trim();
    if (name) events.push({ name, host, date, location, rsvp });
  });
  return JSON.stringify({ total: events.length, events: events.slice(0, 15) });
})()`);

console.log(JSON.parse(data));
await spider.close();
✓ ready to run | spider-browser | TypeScript
Fetch API

Structured data endpoint

Extract structured JSON from lu.ma with a single POST request. AI-configured selectors, cached for fast repeat calls.

POST /fetch/lu.ma/
Event nameHostDate & timeLocationRSVP countDescription
curl
curl -X POST https://api.spider.cloud/fetch/lu.ma/ \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"return_format": "json"}'
Python
import requests

resp = requests.post(
    "https://api.spider.cloud/fetch/lu.ma/",
    headers={
        "Authorization": "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
    },
    json={"return_format": "json"},
)
print(resp.json())
Node.js
const resp = await fetch("https://api.spider.cloud/fetch/lu.ma/", {
  method: "POST",
  headers: {
    "Authorization": "Bearer YOUR_API_KEY",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ return_format: "json" }),
});
const data = await resp.json();
console.log(data);
Extraction

Data you can extract

Event nameHostDate & timeLocationRSVP countDescriptionTypeRegistration status
Listings

Event discovery

Extract event details, dates, venues, and ticket prices from lu.ma.

Rendering

Dynamic calendars

Handle interactive calendars, date pickers, and map-based event search.

Freshness

Availability tracking

Monitor ticket availability and price changes in real time.

Related

More Events & Tickets scrapers

Start scraping lu.ma

Get your API key and start extracting data in minutes.