# Luma Event Scraper - lu.ma Events & Host Leads (`logiover/luma-event-scraper`) Actor

Luma (lu.ma) event scraper and unofficial API alternative. Export events and host leads to CSV/JSON with no login or API key.

- **URL**: https://apify.com/logiover/luma-event-scraper.md
- **Developed by:** [Logiover](https://apify.com/logiover) (community)
- **Categories:** Lead generation, Social media
- **Stats:** 2 total users, 0 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $2.50 / 1,000 results

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

## Luma Event Scraper — Scrape lu.ma Events, Dates, Venues & Host Leads (No API)

![Apify Actor](https://img.shields.io/badge/Apify-Actor-00A67E?logo=apify\&logoColor=white) ![No API key](https://img.shields.io/badge/No%20API%20key-required-2ea44f) ![No login](https://img.shields.io/badge/No%20login-required-2ea44f) ![Pay per result](https://img.shields.io/badge/Pricing-Pay%20per%20result-1C7ED6) ![Events](https://img.shields.io/badge/Category-Events%20%26%20Leads-8B5CF6) ![Export](https://img.shields.io/badge/Export-JSON%20%7C%20CSV%20%7C%20Excel-F59E0B)

Scrape events from **Luma (lu.ma)**, the events platform behind the AI, crypto, startup and design scenes, by **city, category or community page**. Get the **event name, date/time, timezone, venue + GPS coordinates (or online flag), price/free status, guest count** — plus every host's **name, website and social handles** — in clean structured JSON, read straight from the site's own public data. **Fast, no login, no API key, no token.**

> ### 🏆 Why this Luma scraper?
>
> **50+ fields per event** · **thousands of events per run** · full venue + latitude/longitude · organizer website + Twitter/X, Instagram, LinkedIn, YouTube & TikTok · export to JSON / CSV / Excel. Two tools in one — an **event dataset** for trend tracking and calendars, and an **event-host lead engine** where every row becomes a targeted outreach contact. The unofficial **lu.ma API alternative** for event intelligence and organizer lead generation.

***

### ✨ What this Actor does / Key features

- 🗓️ **Full event data** — name, URL, start/end time, timezone, event type, cover image, guest count, ticket count, spots remaining, sold-out and approval flags.
- 📍 **Venue & geo** — venue name, full street address, city, region, country, country code and **latitude/longitude**, or a clean `isOnline` flag for virtual events.
- 💰 **Pricing** — `isFree`, `priceValue` and `priceCurrency` for paid events.
- 🎯 **Host lead engine** — organizer name, username, profile URL, website, bio, verified flag, plus Twitter/X, Instagram, LinkedIn, YouTube and TikTok handles, and an `allHosts` list for multi-host events.
- 🏘️ **Calendar / community context** — calendar name, slug, URL and its own social handles, so you can cluster recurring meetups and communities.
- 🌆 **Scrape by city, category or community** — paste any public Luma page (`lu.ma/sf`, `lu.ma/nyc`, `lu.ma/london`, discover categories, community calendars); city & place pages paginate the full upcoming set automatically.
- ⚡ **Reads public site data** — no headless browser gymnastics, no GraphQL token; every upcoming event comes through structured.
- 🛡️ **Proxy support** — Apify Proxy integration with residential recommended (and default) for the highest success rate.

### 🚀 Quick start (3 steps)

1. **Configure** — open a Luma city or discover page (e.g. [lu.ma/sf](https://lu.ma/sf)), copy the URL, and paste it into `searchUrls`. Add more cities if you like.
2. **Run** — click **Start**. The Actor paginates every upcoming event and streams rows into your dataset.
3. **Get your data** — open the **Output / Dataset** tab and export to **JSON, CSV, Excel or HTML**, or pull it via the Apify API.

### 📥 Input

Give the Actor at least one Luma page URL in `searchUrls`. Everything else is optional.

#### Example — single city (San Francisco)

```json
{
  "searchUrls": ["https://lu.ma/sf"],
  "maxResults": 200
}
```

#### Example — multiple cities in one run (event map)

```json
{
  "searchUrls": [
    "https://lu.ma/sf",
    "https://lu.ma/nyc",
    "https://lu.ma/london"
  ],
  "maxResults": 2000,
  "maxConcurrency": 3
}
```

#### Example — host lead generation (organizer + socials)

```json
{
  "searchUrls": ["https://lu.ma/sf", "https://lu.ma/nyc"],
  "maxResults": 1000,
  "proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }
}
```

| Field | Type | Description |
|-------|------|-------------|
| `searchUrls` | array | Luma page URLs copied from the site — city pages (`lu.ma/sf`, `lu.ma/nyc`, `lu.ma/london`, `lu.ma/paris`…), discover category pages, or any public calendar/community page. City & place pages paginate the full upcoming set. **Required.** |
| `maxResults` | integer | Global cap across all URLs. `0` = no limit (a busy city can have hundreds of upcoming events). |
| `maxResultsPerSearch` | integer | Per-URL cap. `0` = no per-URL cap. |
| `useProxy` | boolean | Route requests through Apify Proxy. Residential recommended (default). |
| `proxyConfiguration` | object | Apify Proxy settings. Residential gives the highest success rate. |
| `maxConcurrency` | integer | How many Luma URLs to process in parallel (1–10). |

> **Finding a page URL:** browse [lu.ma](https://lu.ma), open a city like `lu.ma/sf` or a discover category, or any public community calendar, and copy the URL from the address bar into `searchUrls`. City and place pages paginate through every upcoming event automatically.

### 📤 Output

One clean row per Luma event — **50+ fields**, exportable to JSON, CSV, Excel or HTML. Here is a trimmed sample record:

```json
{
  "id": "evt-8DRVhINH9LTM7T4",
  "name": "Where Design Begins: An Open Exhibition",
  "url": "https://lu.ma/nqkyxczb",
  "startAt": "2026-07-04T18:00:00.000Z",
  "endAt": "2026-07-11T21:00:00.000Z",
  "timezone": "America/Los_Angeles",
  "eventType": "in-person",
  "locationType": "offline",
  "isOnline": false,
  "venueName": "SPUR Urban Center",
  "venueAddress": "488 Bryant St, San Francisco, CA 94107, USA",
  "city": "San Francisco",
  "region": "California",
  "country": "United States",
  "countryCode": "US",
  "latitude": 37.7817006,
  "longitude": -122.3956533,
  "isFree": true,
  "priceValue": null,
  "priceCurrency": null,
  "requiresApproval": false,
  "isSoldOut": false,
  "spotsRemaining": 34,
  "guestCount": 266,
  "ticketCount": 300,
  "coverImage": "https://images.lumacdn.com/uploads/v3/…/cover.jpg",
  "hostName": "Vizcom",
  "hostUsername": "vizcom",
  "hostUrl": "https://lu.ma/user/vizcom",
  "hostWebsite": "https://vizcom.com/",
  "hostIsVerified": true,
  "hostTwitter": "Vizcom_ai",
  "hostInstagram": "vizcom_",
  "hostLinkedin": "/company/vizcomhq",
  "hostYoutube": "vizcom_ai",
  "hostTiktok": null,
  "allHosts": ["Vizcom"],
  "calendarName": "Vizcom",
  "calendarSlug": "vizcom",
  "calendarUrl": "https://lu.ma/vizcom",
  "sourceUrl": "https://lu.ma/sf",
  "scrapedAt": "2026-07-06T16:20:00.000Z"
}
```

<details>
<summary><b>📋 Full field reference (click to expand)</b></summary>

| Field | Description |
|-------|-------------|
| `id` | Luma event ID |
| `name` / `url` | Event name and event URL |
| `startAt` / `endAt` / `timezone` | Start time, end time and timezone |
| `eventType` / `locationType` / `isOnline` | Event type, offline/online location type, online flag |
| `venueName` / `venueAddress` | Venue name and full street address (in-person events) |
| `city` / `region` / `country` / `countryCode` | Location breakdown |
| `latitude` / `longitude` | GPS coordinates (in-person events) |
| `isFree` / `priceValue` / `priceCurrency` | Free flag, price and currency |
| `requiresApproval` / `isSoldOut` / `spotsRemaining` | Registration flags and remaining capacity |
| `guestCount` / `ticketCount` | Number of guests and tickets |
| `coverImage` | Event cover image URL |
| `hostName` / `hostUsername` / `hostUrl` | Host name, username and profile URL |
| `hostWebsite` / `hostBio` / `hostIsVerified` | Host website, bio and verified flag |
| `hostTwitter` / `hostInstagram` / `hostLinkedin` / `hostYoutube` / `hostTiktok` | Host social handles |
| `allHosts` | List of all hosts on the event |
| `calendarName` / `calendarSlug` / `calendarUrl` | Calendar/community name, slug and URL |
| `calendarTwitter` / `calendarInstagram` / `calendarLinkedin` | Calendar/community social handles |
| `sourceUrl` | The Luma page the event was scraped from |
| `scrapedAt` | Scrape timestamp (ISO 8601) |

Fields the host or calendar leaves blank are returned as `null`.

</details>

### 💡 Use cases

- **Event-host lead gen** — build outreach lists of organizers and communities (website + socials) by city or niche, for sponsors, venues and sponsorship sales.
- **Event & market intelligence** — track which cities, communities and topics (AI, crypto, startups) are heating up week over week using guest counts and dates.
- **Aggregators & calendars** — power a curated city or topic event calendar or newsletter from a scheduled run.
- **Community & BD prospecting** — find active hosts and recurring meetups (via `calendarName`/`calendarSlug`) to partner, sponsor or speak at.
- **Sponsorship targeting** — filter by `guestCount`, `isFree` and location to find high-value events worth sponsoring.
- **Research & ML** — feed dates, geo, guest counts and pricing into trend models and dashboards.

### 👥 Who uses it

Sponsorship & BD teams building organizer outreach lists · event marketers & community managers · venues and co-working spaces · newsletter and calendar builders · AI/crypto/startup ecosystem researchers · data teams tracking event trends and geo demand.

### 💰 Pricing

This Actor runs on a simple **pay-per-result** model — you pay for the events you extract, with no separate Apify platform fees to calculate. Try it on the **free tier** first, then scale up. See the **Pricing** tab on this page for the current rate.

### ❓ Frequently Asked Questions

**Do I need a Luma account or API key?**
No. The Actor reads public lu.ma event data — no login, no token, no API key required, only an Apify account.

**Is this a lu.ma unofficial API or Luma API alternative?**
Effectively, yes. Luma has no open public events API, so this Actor works as an unofficial **lu.ma API / Luma API alternative** — it reads the site's own public event data and returns it as clean, structured rows.

**Can I scrape Luma events without login?**
Yes. The Actor scrapes lu.ma without login and without an API key, reading only public event and organizer data.

**Which pages can I scrape?**
Any public Luma page that lists events: city pages (`lu.ma/sf`, `lu.ma/nyc`, `lu.ma/london`, `lu.ma/paris`…), discover category pages, and public calendar/community pages. City and place pages paginate through the full set of upcoming events.

**Does it get online (virtual) events too?**
Yes. Each event has a `locationType` and an `isOnline` flag; in-person events also include the full venue address plus latitude and longitude.

**Will every event have the host's website and socials?**
Whenever the host exposes them publicly on Luma, yes — website, Twitter/X, Instagram, LinkedIn, YouTube and TikTok come through. Fields the host left blank are returned as `null`.

**How much data can I get?**
You can scrape thousands of events per run. City and place pages paginate the full upcoming set; use `maxResults` to cap large runs and pass several cities in one run to build a wide event map.

**How do I get event host contact details from Luma?**
Each event row carries the organizer name, website and social handles, so a single city run becomes a targeted event-host outreach list for sponsors and venues.

**How do I export Luma events to CSV or JSON?**
Run the Actor on any public lu.ma page, then open the **Output / Dataset** tab and export your Luma event data to CSV, JSON or Excel — ready for your spreadsheet, CRM or BI tool.

**Do I need a proxy?**
Residential Apify Proxy is recommended and enabled by default for the highest success rate; you can adjust `proxyConfiguration` to use your own provider.

### 🔗 More social, event & community scrapers by logiover

Pair the Luma scraper with the rest of the social, event and community suite to build richer event intelligence and lead pipelines:

| Actor | What it does |
|---|---|
| [Luma Scraper](https://apify.com/logiover/luma-scraper) | Alternative lu.ma event & calendar extractor |
| [Meetup Scraper](https://apify.com/logiover/meetup-scraper) | Meetup.com events, groups & member counts |
| [Resident Advisor Scraper](https://apify.com/logiover/resident-advisor-scraper) | RA electronic-music events, clubs & promoters |
| [Product Hunt Daily Launches Scraper](https://apify.com/logiover/product-hunt-daily-launches-scraper) | Daily product launches, makers & votes |
| [Skool Scraper](https://apify.com/logiover/skool-scraper) | Skool communities, members & activity |
| [LinkedIn Company Scraper](https://apify.com/logiover/linkedin-company-scraper) | Company profiles for enriching host leads |
| [LinkedIn Profile Scraper](https://apify.com/logiover/linkedin-profile-scraper) | Public profiles for organizer research |
| [TikTok Creator Lead Finder](https://apify.com/logiover/tiktok-creator-lead-finder) | Creator + contact discovery for outreach |
| [YouTube Influencer Discovery Scraper](https://apify.com/logiover/youtube-influencer-discovery-scraper) | Find creators and channels by niche |
| [Reddit Subreddit Scraper](https://apify.com/logiover/reddit-subreddit-scraper) | Community posts for niche & trend research |
| [Substack Newsletter Scraper](https://apify.com/logiover/substack-newsletter-scraper) | Newsletters & authors for community mapping |

👉 Browse all **[logiover scrapers on Apify Store](https://apify.com/logiover)** — 180+ actors across real estate, jobs, crypto, social media & B2B data.

### ⏰ Scheduling & integration

Schedule this Actor on Apify to refresh your event map and host lead list daily or weekly. Export results to JSON, CSV or Excel, sync to Google Sheets, or push to your CRM, database, BI tools and webhooks through the Apify API. Connect it to **Make, n8n or Zapier** to build automated event-tracking and outreach pipelines.

### ⭐ Support & feedback

Found a bug or need an extra field? Open an issue on the **Issues** tab — response is usually fast. If this Actor saves you time, a **★★★★★ review** on the Store page genuinely helps and is hugely appreciated. 🙏

### ⚖️ Legal

This Actor extracts only publicly available event and organizer data and is intended for legitimate research, analytics and lead-generation use. You are responsible for complying with Luma's terms of service, GDPR and any applicable local laws. Not affiliated with or endorsed by Luma.

***

### 📝 Changelog

#### 2026-08-01

- Completed the August 2026 full health check: verified empty/programmatic default, Console UI default, and two source-informed alternative inputs on Apify.
- Confirmed successful live execution, non-empty structured output, dataset-field/type integrity, and logical sample quality within the 5-minute quality window.

#### 2026-07-06

- ✨ README overhaul: richer 50+ field output sample, named example scenarios, full field reference, and a social/event/community cross-promo suite.

#### 2026-07-01

- Maintenance pass: re-verified end-to-end on live data and confirmed successful runs within the 5-minute quality window on the default input.
- Sharpened Store metadata (SEO title & description) and expanded the FAQ with high-intent, long-tail questions for easier discovery in Google and Apify Store search.
- Added ready-to-run example tasks that cover common real-world use cases.

#### 2026-06-28

- Health check passed — Actor verified working end-to-end on the Apify platform.
- Changelog refreshed for Store quality compliance.

#### 2026-06-20

- Maintenance & reliability pass: re-verified end-to-end against live data and confirmed the Actor completes successfully within the 5-minute quality window on the default input.
- Refreshed the prefilled example input and tuned run defaults for faster, lower-cost runs.

#### 2026-06-07

- Docs: added coverage for lu.ma unofficial API / Luma API alternative use, exporting Luma events to CSV/JSON, and scraping Luma without login.

# Actor input Schema

## `city` (type: `string`):

Pick a city to scrape its upcoming Luma events — no URL needed. Leave the default for San Francisco, or add your own links under "Luma URLs" below for any other city, category or calendar. Ignored if you supply Luma URLs.

## `searchUrls` (type: `array`):

Optional. Luma page URLs copied straight from the site — a city page (e.g. https://lu.ma/london), a discover category, or any public calendar/community page. When provided, these override the "City" quick-pick. City & place pages paginate through every upcoming event. Leave empty to just use the City dropdown above.

## `maxResults` (type: `integer`):

Stop after this many events across all URLs. Keep a sensible cap for fast, cheap runs; raise it to pull everything. A busy city can have hundreds of upcoming events.

## `maxResultsPerSearch` (type: `integer`):

Cap events collected per individual Luma URL. 0 = no per-URL cap.

## `useProxy` (type: `boolean`):

Route requests through Apify Proxy (automatic IP rotation). Recommended ON. The Actor also falls back to a direct connection on its final retry, so runs still succeed if proxy IPs get blocked. Turn OFF to always connect directly.

## `proxyConfiguration` (type: `object`):

Apify Proxy settings. The default (automatic) group works well against Luma. You can select RESIDENTIAL here if you hit persistent blocks.

## `maxConcurrency` (type: `integer`):

How many Luma URLs to process in parallel.

## Actor input object example

```json
{
  "city": "sf",
  "searchUrls": [],
  "maxResults": 200,
  "maxResultsPerSearch": 0,
  "useProxy": true,
  "proxyConfiguration": {
    "useApifyProxy": true
  },
  "maxConcurrency": 3
}
```

# Actor output Schema

## `results` (type: `string`):

All records extracted by this run. Open the Dataset tab to browse, filter, and export as CSV, JSON, or Excel.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {};

// Run the Actor and wait for it to finish
const run = await client.actor("logiover/luma-event-scraper").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {}

# Run the Actor and wait for it to finish
run = client.actor("logiover/luma-event-scraper").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{}' |
apify call logiover/luma-event-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=logiover/luma-event-scraper",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/lyLZ58EnNPG28THWe/builds/m5wAkwhNE9KFqPOZj/openapi.json
