Luma Cli Lightweight
Pricing
from $10.00 / 1,000 results
Luma Cli Lightweight
Lightweight playwright based on Luma Scrapper. Optimized for agents and project modularity on Local and VPS environments.
Pricing
from $10.00 / 1,000 results
Rating
0.0
(0)
Developer
New Fish
Actor stats
0
Bookmarked
2
Total users
1
Monthly active users
10 days ago
Last modified
Categories
Share
luma-cli
A lightweight CLI tool for scraping event data and guest profiles from lu.ma.
Setup
Requires Node.js >= 18.3 and a cloned copy of this repo.
git clone git@github.com:profishional/luma-cli.gitcd luma-clinpm installnpx playwright install chromiumnpm link
npm link makes the luma command available globally. Do not move the directory after linking — the global command symlinks to this location.
Authentication
Some commands require a saved login session. Run this once per machine:
$luma auth
A browser window opens. Log in to lu.ma, then close the window. Your session is saved to auth.json (gitignored, never committed).
Re-run luma auth if you see Auth session expired.
Commands
luma event <url> # Scrape event info (no auth required)luma guests <url> # Scrape guest listluma scrape <url> # Scrape event info + guests in one sessionluma profile <url> # Scrape user profile (stats + socials)luma hosted-events <profile-url> # Scrape hosted events from a profileluma past-events [--status going|all] # Scrape your past attended events (default: going)luma guests-hosted <url> # Download CSV from event and unify (SOON)
All commands output JSON to stdout. Progress is printed to stderr.
Examples
luma event https://lu.ma/[slug]luma guests https://lu.ma/[slug]luma scrape https://lu.ma/[slug]luma profile https://luma.com/user/[name]luma hosted-events https://luma.com/user/[name]luma past-eventsluma past-events --status all
Pipe to jq for filtering:
luma guests https://lu.ma/bf01c9oe | jq '.guests[].name'luma scrape https://lu.ma/bf01c9oe | jq '.event.title'luma past-events | jq '.events[] | select(.attendees > 100)'
Output Shapes
// luma event <url>{ title, location, datetime, description }// datetime: "2026-03-21T10:00"// luma guests <url>{stats: { count, with_socials, url, fetchedAt },guests: [{name, url,socials: { instagram, twitter, tiktok, linkedin, website }}]}// luma scrape <url>{event: { title, location, datetime, description },stats: { count, with_socials, url, fetchedAt },guests: [{ name, url, socials: { ... } }]}// luma profile <url>{name,stats: { hosted, attended, together },socials: { instagram, twitter, tiktok, linkedin, website }}// luma hosted-events <profile-url>{stats: { count, scrolls, url, fetchedAt },events: [{ title, url, datetime, location }]}// luma past-events [--status going|all]{stats: { count, scrolls, statusFilter, url, fetchedAt },events: [{ title, url, datetime, location, attendees, status }]}// datetime: "2026-03-21-10-00", attendees: estimated from visible heads + remaining count
On a New Machine
git clone git@github.com:profishional/luma-cli.gitcd luma-clinpm installnpx playwright install chromiumnpm linkluma auth
Notes
auth.jsonstores your login session — treat it like a password, never commit it- Selectors are hardcoded to lu.ma's current DOM structure and may break if they redesign the site
- A 1.5s delay is added before each request to avoid hammering their servers
- Large events (1000+ guests) and long event histories use infinite scroll — expect a few minutes for these


