# Luma & Meetup Events Scraper: Hosts, Guests & New-Event Monitor (`getascraper/luma-meetup-events-scraper`) Actor

Scrape public events from Luma and Meetup in one run, by city, keyword, topic, radius or organizer link. One unified row per event: date, venue, ticket price, guest counts, hosts with LinkedIn, X and Instagram links, plus group stats. Monitor mode returns only new events on each scheduled run.

- **URL**: https://apify.com/getascraper/luma-meetup-events-scraper.md
- **Developed by:** [GetAScraper](https://apify.com/getascraper) (community)
- **Categories:** Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $1.50 / 1,000 event records

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

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

## What's an Apify Actor?

An Actor is a serverless cloud program that runs on the Apify platform. It has two run modes.
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.

Apify vocabulary and the platform model are defined once, in the agent quickstart at https://apify.com/agents.md.

## 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.

Do not guess an integration path. Every one of them is in the agent quickstart at https://apify.com/agents.md: the Apify MCP server, Agent Skills with the Apify CLI, the JavaScript and Python clients, the REST API, and the account-free path for an agent with no human to sign in. It also carries the rule on stating cost before the first paid run.

For examples already wired to this Actor's own input schema, see the [API](#api) section below.

Each client library has reference documentation the quickstart does not restate: [JavaScript/TypeScript](https://docs.apify.com/api/client/js/docs.md) (`npm install apify-client`) and [Python](https://docs.apify.com/api/client/python/docs.md) (`pip install apify-client`).

# README

## 📅 Luma & Meetup Events Scraper: Hosts, Guests & New-Event Monitor

<table width="100%" style="margin-bottom:0">
<tr>
<td style="padding:24px 28px;background:#EEF0FD;border:1px solid #CDD2F7;border-top:4px solid #4F46E5;border-radius:12px 12px 0 0">
<span style="font-size:23px;font-weight:800;color:#1C1917;line-height:1.3">Every event in town, with the people who host it</span><br>
<span style="font-size:15px;color:#57534E;line-height:1.6">Search Luma and Meetup by city, keyword and topic in one run. Get dates, venues, prices, guest counts and the hosts with their public LinkedIn and X links. Schedule it and only new events come back.</span>
</td>
</tr>
</table>
<table width="100%" style="margin-top:0">
<tr>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CDD2F7;border-radius:0 0 0 10px;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">🌍 Two sites, one table</span><br>
<span style="font-size:12px;color:#57534E">Luma and Meetup events share the same columns, so you filter and sort them together.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CDD2F7;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">👥 Hosts you can contact</span><br>
<span style="font-size:12px;color:#57534E">Host names, bios and public LinkedIn, X and Instagram links, plus the organizer page.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CDD2F7;border-left:none;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">🎟️ Size and price</span><br>
<span style="font-size:12px;color:#57534E">Ticket price, sold-out state, guest count, capacity and spots left where published.</span>
</td>
<td style="padding:14px 12px;width:25%;background:#FFFFFF;border:1px solid #CDD2F7;border-left:none;border-radius:0 0 10px 0;vertical-align:top">
<span style="font-size:15px;font-weight:800;color:#3730A3">🔔 Only what is new</span><br>
<span style="font-size:12px;color:#57534E">Run it weekly and receive just the events you have not seen, plus changes to ones you have.</span>
</td>
</tr>
</table>

**Scrape public events from Luma (lu.ma) and Meetup and download them as JSON, CSV or Excel.** Search by city, keyword, topic and date, or paste a host's calendar or group link. Each row gives the title, start and end time, venue with coordinates, ticket price, guest count, the organizer and the hosts. No login, no account and no key.

***

### 🔍 What can you do with it?

- **I sell to founders, startups or communities** and want to know who hosts the events in my city this month, with a LinkedIn or X link for each host.
- **I run sponsorship or partnerships** and need the biggest recurring events and organizers in a topic, ranked by guest count.
- **I am a recruiter or community builder** and want a fresh list of meetups and mixers every Monday without checking two sites.
- **I do market research** and need free versus paid, in-person versus online, by city and by topic.
- **I run an events newsletter or app** and want a clean feed of new events, with coordinates, ready to import.

***

### 🚀 How to use it

<table width="100%">
<tr>
<td style="padding:16px 14px;width:33%;background:#EEF0FD;border:1px solid #CDD2F7;border-radius:10px 0 0 10px;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#4F46E5;letter-spacing:1px">STEP 1</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Pick sites, places and words</span><br>
<span style="font-size:12px;color:#57534E">Choose Luma, Meetup or both, then add cities, keywords and topics. Or paste a calendar, group or event link.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF0FD;border:1px solid #CDD2F7;border-left:none;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#4F46E5;letter-spacing:1px">STEP 2</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Filter</span><br>
<span style="font-size:12px;color:#57534E">Set a date window, free or paid, in person or online, and a minimum guest count.</span>
</td>
<td style="padding:16px 14px;width:33%;background:#EEF0FD;border:1px solid #CDD2F7;border-left:none;border-radius:0 10px 10px 0;vertical-align:top">
<span style="font-size:12px;font-weight:800;color:#4F46E5;letter-spacing:1px">STEP 3</span><br>
<span style="font-size:14px;font-weight:700;color:#1C1917">Download or schedule</span><br>
<span style="font-size:12px;color:#57534E">Export the table, or turn on monitor mode and schedule the run to get a feed of new events.</span>
</td>
</tr>
</table>

**Good to know before you start**

- The pre-filled example (AI events in San Francisco, 10 per site) works as is. Raise the two limits when you are happy with the filters.
- Luma covers 87 cities by name. Any other town works too: type the city name or enter coordinates and a radius.
- Meetup needs at least one word to search. If you leave Keywords empty, the Actor browses with a set of common interest words and removes duplicates.
- Some Luma events hide the street address from people who are not guests. Those rows show the city and the note `guests-only` instead of an address, and the coordinates are approximate.
- To follow one host, paste their Luma calendar link or Meetup group link. You get that host's events directly.

***

### ⚙️ Input

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| Platforms | array of enum | No | Luma, Meetup, or both. Both are selected by default. |
| Cities or places | array of text | No | For example `San Francisco`, `London`, `Austin`. Add a country for small towns. |
| Keywords | array of text | No | Words to find in titles and descriptions. Leave empty to browse everything. |
| Direct links | array of URLs | No | A Luma event, calendar or city page, or a Meetup event, group or search link. |
| Luma topics | array of enum | No | AI, Tech, Crypto, Food and Drink, Arts, Climate, Fitness, Wellness, Books, Games, Running, Family. |
| Meetup topics | array of enum | No | The 20 Meetup categories, such as Technology, Career and Business, or Sports and Fitness. |
| Custom area latitude / longitude | number | No | Search around exact coordinates. Fill both. |
| Search radius | integer | No | Kilometers around each place, for Meetup and custom areas. The default is 30. |
| Starts on or after / before | date | No | Date window. Searching stops early once the listing passes the end date. |
| Event format | enum | No | Any, in person only, or online only. |
| Ticket price | enum | No | Any, free only, or paid only. |
| Minimum attendees | integer | No | Keep events with at least this many registered guests. |
| Skip sold-out events | boolean | No | Leave out events that are sold out. |
| What to return | enum | No | Events, or communities (Meetup groups and Luma calendars). |
| Read full event pages (Luma) | boolean | No | Adds the full description, ticket tiers and registration questions. Off by default. |
| Include public attendee names (Meetup) | boolean | No | Adds public attendee names and profile links. Off by default. |
| Attendees per event | integer | No | How many attendees to list when attendee names are on. |
| Calendar links: which events | enum | No | Upcoming or past events for Luma calendar links. |
| Only new events (monitor mode) | boolean | No | Return only events not delivered before under the same monitor name. |
| Also report changed events | boolean | No | In monitor mode, also return events whose title, time, place, price or sold-out state changed. |
| Monitor name | text | No | Name of the saved list of seen events. Use one per saved search. |
| Maximum rows in total | integer | No | Upper limit for the run. The default is 20. |
| Maximum rows per search | integer | No | Upper limit for each place, keyword, topic or link. The default is 10. |
| Proxy | object | No | Connection settings. The default works for most runs. |

***

### 📦 Output

Each event is one row. Fields with no data are left out, never filled with placeholders.

```json
{
  "recordType": "event",
  "platform": "luma",
  "title": "Pancake AI x Corgi",
  "url": "https://luma.com/usecorgi-fda6",
  "startAt": "2026-10-30T00:00:00.000Z",
  "endAt": "2026-10-30T05:00:00.000Z",
  "timezone": "America/Los_Angeles",
  "format": "in-person",
  "address": "Corgi Cafe, 9 Claude Ln, San Francisco, CA 94108, USA",
  "city": "San Francisco",
  "country": "US",
  "latitude": 37.7905114,
  "longitude": -122.4044602,
  "isFree": true,
  "requiresApproval": true,
  "attendeeCount": 101,
  "organizerName": "Corgi",
  "organizerUrl": "https://luma.com/usecorgi",
  "hosts": [
    {
      "name": "Jeanette Li",
      "linkedin": "https://www.linkedin.com/in/jeanette-li-00353b218",
      "twitter": "https://x.com/jean_ette_li"
    }
  ]
}
```

#### 📋 Data table

| Field | Type | Description |
| --- | --- | --- |
| platform | string | `luma` or `meetup`. |
| recordType | string | `event`, or `group` in communities mode. |
| title, url, description | string | Event name, link and text. Luma descriptions need Read full event pages. |
| startAt, endAt, timezone | string | Start and end time and the event time zone. Luma times are UTC, Meetup times keep the local offset. |
| durationMinutes | number | Length of the event. |
| format, isOnline | string, boolean | In person, online or hybrid. |
| venueName, address, neighborhood, city, region, country, postalCode | string | Where it takes place. Country is a two-letter code. |
| latitude, longitude | number | Venue coordinates. Approximate when the host hides the address. |
| addressVisibility | string | `public` or `guests-only` (Luma). |
| isFree, price, maxPrice, currency | boolean, number, string | Ticket price in normal currency units. |
| requiresApproval, isSoldOut, registrationStatus, waitlistActive | boolean, string | Whether guests need approval, and whether registration is open, waitlisted or closed. |
| attendeeCount, capacity, spotsRemaining | number | Registered guests, capacity and spots left, where published. |
| organizerName, organizerUrl, organizerMembers, organizerRating | string, number | The hosting calendar or group, with member count and rating for Meetup. |
| organizer | object | Organizer details: description, website, social links, location, topics, founding date and lead organizer. |
| hosts | array | Hosts with name, bio, profile link and public LinkedIn, X, Instagram, website links. |
| featuredGuests | array | Up to 10 public guests that Luma shows on the event page. |
| attendees | array | Public attendee names for Meetup events, when switched on. |
| topics | array | Group topics or event categories. |
| ticketTypes, registrationQuestions | array | Ticket tiers and sign-up questions, with Read full event pages. |
| imageUrl | string | Event picture. |
| searchQuery, searchLocation, source, scrapedAt | string | Which search found the row and when. |
| changeType, changes | string, array | In monitor mode: `new` or `updated`, with a list of what changed. |

Communities mode returns one row per group or calendar with name, description, location, member count, rating, topics, founding date, lead organizer, website and social links.

**What is not included:** full guest lists on Luma and member profiles on Meetup need a login, so they are not collected. Events that hide their street address, or their guest count, show less. Private groups are not listed.

***

### 💰 Pricing

Pay per result. An empty run costs nothing and there are no subscriptions. See the pricing box at the top of this page for the current rates.

**Free plan:** up to 25 rows per run, 3 runs per day, with a 30 minute pause between runs.

***

### ⭐ Enjoying Luma & Meetup Events Scraper?

<table width="100%" style="display:table;width:100%">
<tr>
<td style="padding:20px 24px 14px;background:#EEF0FD;border:1px solid #CDD2F7;border-left:5px solid #4F46E5;border-radius:10px 10px 0 0">
<span style="font-size:20px;letter-spacing:4px">⭐ ⭐ ⭐ ⭐ ⭐</span><br>
<span style="font-size:17px;font-weight:800;color:#1C1917">Stop checking two event sites by hand and get a weekly list of new events with their hosts.</span><br>
<span style="font-size:14px;color:#57534E">A 5-star rating takes 10 seconds and helps other sales, partnership and community teams find it. Your feedback also tells us what to build next.</span>
</td>
</tr>
<tr>
<td style="padding:0;background:#4F46E5;border:1px solid #CDD2F7;border-top:none;border-radius:0 0 10px 10px;text-align:center">
<a href="https://apify.com/getascraper/luma-meetup-events-scraper/reviews" style="display:block;padding:13px 16px;color:#FFFFFF;text-decoration:none;font-weight:800;font-size:15px;letter-spacing:0.3px">★&nbsp;&nbsp;Rate this Actor on Apify</a>
</td>
</tr>
</table>

***

### ✨ Tips and best practices

- Start with the pre-filled 20 rows to see the shape of the data, then raise the limits.
- Use one keyword per row in Keywords. Each keyword is its own search, so related words widen the list.
- Combine a topic with a city to find, for example, every Crypto event in London next month.
- Turn on Read full event pages only when you need descriptions or ticket tiers. It makes the run slower.
- For a weekly feed, keep the same Monitor name and the same searches on every scheduled run. The first run sets the baseline and returns everything it finds.
- Sort by Guests, or set a minimum attendee count, to find the events worth sponsoring or attending.

***

### ❓ FAQ

##### Does it need a Luma or Meetup account or API key?

No. It reads only public pages, so there is nothing to log in to and no key to enter.

##### Can I get the full guest list of an event?

Only what the sites show publicly. On Luma that is the guest count and up to 10 featured guests. On Meetup you can switch on public attendee names. Full guest lists and member profiles need a login and are not collected.

##### How do I get only new events every week?

Turn on Only new events, give the search a Monitor name and schedule the run. Each run delivers events you have not received before. Add Also report changed events to hear about moved dates, new venues, price changes and sold-out events.

##### Can I search Luma and Meetup events in the same run?

Yes. Leave both platforms selected. Rows from both sites use the same columns and carry a `platform` field, so you can filter or group by site.

##### How do I find Meetup groups or Luma organizers instead of events?

Set What to return to Communities. You get one row per Meetup group (members, rating, topics, lead organizer, links) or per Luma calendar (website and social links).

***

### 🛡️ Disclaimers and support

This Actor is an independent tool and is not affiliated with Luma or Meetup. It collects publicly available event information. You are responsible for using the data in line with the law and each site's terms, including data protection rules for the names and profile links of hosts and attendees. Questions or feature ideas are welcome in the Issues tab of this Actor.

***

### 🔗 Other actors

- [Posh.vip Scraper: Events, Ticket Tiers, Venues & Sold-Out Data](https://apify.com/getascraper/posh-vip-scraper) ↗ - Nightlife and party events from Posh with ticket tiers and sold-out data.
- [District Event Scraper: Venue, Dates & Ticket Pricing](https://apify.com/getascraper/district-event-scraper) ↗ - Events from District with venues, dates and ticket prices.
- [Dealroom Scraper: Startup, Unicorn and Investor Data (No Login)](https://apify.com/getascraper/dealroom-scraper) ↗ - Startup and investor data for the founders behind the events.
- [Startup Fast Scraper: Launches, Websites, Tech Stacks & Pricing](https://apify.com/getascraper/startupfast-scraper) ↗ - New startup launches with websites and tech stacks.
- [Startup Investor Contact Database](https://apify.com/getascraper/startup-investor-contact-database) ↗ - Investor contacts for startup outreach.

# Changelog

This Actor's version history is a separate document: https://apify.com/getascraper/luma-meetup-events-scraper/changelog.md

# Actor input Schema

## `platforms` (type: `array`):

Which event sites to search. Leave both selected to get Luma and Meetup events in one run with the same output fields, tagged with a platform column.

## `locations` (type: `array`):

Cities to search, such as San Francisco, London or Austin. Luma city feeds are used when the city has one, otherwise the area around the place is searched. Add a country for small towns, for example Leeds, UK.

## `searchQueries` (type: `array`):

Words to look for in event titles and descriptions, one per row, for example AI, founders or yoga. Leave empty to browse everything in the place (Meetup is then browsed with a set of common interest words, because it does not list events without a keyword).

## `startUrls` (type: `array`):

Optional links to read directly: a Luma event, a Luma calendar (organizer) page, a Luma city page, a Meetup event, a Meetup group page or a Meetup search link. Calendar and group links list that organizer's events, which is the quickest way to follow one host.

## `lumaTopics` (type: `array`):

Only Luma events in these topics, searched in each place above. Leave empty for all topics.

## `meetupTopics` (type: `array`):

Only Meetup events whose group sits in these categories. Leave empty for all categories.

## `latitude` (type: `number`):

Search around exact coordinates instead of, or in addition to, the named places. Enter latitude and longitude together. Useful for suburbs and towns that have no city feed.

## `longitude` (type: `number`):

Longitude of the custom area. Must be filled together with the latitude.

## `radiusKm` (type: `integer`):

Distance around each place, in kilometers, for Meetup searches and custom areas.

## `dateFrom` (type: `string`):

Keep only events that start on or after this date. Leave empty to start from today. Dates are compared in UTC.

## `dateTo` (type: `string`):

Keep only events that start on or before this date. Searching stops early once the listing passes this date, so a short window is fast.

## `eventFormat` (type: `string`):

Restrict to events held in person or online only.

## `priceFilter` (type: `string`):

Restrict to free events or to paid events. Events whose price is not published are kept out of the paid filter.

## `minAttendees` (type: `integer`):

Keep only events with at least this many registered guests. Events that hide their guest count are dropped when this is above zero. Good for finding well-attended events.

## `hideSoldOut` (type: `boolean`):

Leave out events that are sold out. Events with a waitlist count as sold out.

## `resultType` (type: `string`):

Events returns one row per event with its host and organizer. Communities returns one row per organizer: Meetup groups with member counts, ratings and topics, or Luma calendars with their social links, found through the matching events.

## `fetchEventDetails` (type: `boolean`):

Adds the full description, ticket tiers with prices and capacity, topics and registration questions to Luma events. Costs one extra request per event, so runs take longer. Meetup events already include the description.

## `includeAttendees` (type: `boolean`):

Adds the first attendees Meetup shows publicly on the event page (name and profile link). Luma guest lists need a login, so for Luma only the featured guests the page itself shows are returned. Off by default.

## `maxAttendeesPerEvent` (type: `integer`):

How many public attendees to list per Meetup event when attendee names are on.

## `calendarPeriod` (type: `string`):

For Luma calendar links: upcoming events or past events of that organizer.

## `onlyNewEvents` (type: `boolean`):

Return only events not delivered by an earlier run with the same monitor name. Schedule the run weekly to get a feed of fresh events. The first run returns everything it finds and sets the baseline.

## `reportChanges` (type: `boolean`):

In monitor mode, also return events already seen whose title, start time, location, price or sold-out state changed, marked changeType updated with a list of changes.

## `monitorScope` (type: `string`):

Name of the saved list of seen events. Use a different name for each saved search or schedule so their feeds stay separate.

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

Stops the run once this many rows are delivered, across all searches. Free plan runs are limited to 25.

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

Cap for each place, keyword, topic or link, so one big city cannot use the whole budget. With several searches the total cap above still applies.

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

Runs connect directly by default and switch to the Apify proxy by themselves if a site refuses the connection. Set a proxy here only if you want to force one.

## Actor input object example

```json
{
  "platforms": [
    "luma",
    "meetup"
  ],
  "locations": [
    "San Francisco"
  ],
  "searchQueries": [
    "AI"
  ],
  "startUrls": [],
  "lumaTopics": [],
  "meetupTopics": [],
  "radiusKm": 30,
  "eventFormat": "any",
  "priceFilter": "any",
  "minAttendees": 0,
  "hideSoldOut": false,
  "resultType": "events",
  "fetchEventDetails": false,
  "includeAttendees": false,
  "maxAttendeesPerEvent": 20,
  "calendarPeriod": "upcoming",
  "onlyNewEvents": false,
  "reportChanges": false,
  "monitorScope": "default",
  "maxResults": 20,
  "maxResultsPerSearch": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}
```

# Actor output Schema

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

No description

# 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 = {
    "platforms": [
        "luma",
        "meetup"
    ],
    "locations": [
        "San Francisco"
    ],
    "searchQueries": [
        "AI"
    ],
    "startUrls": [],
    "lumaTopics": [],
    "meetupTopics": [],
    "radiusKm": 30,
    "eventFormat": "any",
    "priceFilter": "any",
    "minAttendees": 0,
    "hideSoldOut": false,
    "resultType": "events",
    "fetchEventDetails": false,
    "includeAttendees": false,
    "maxAttendeesPerEvent": 20,
    "calendarPeriod": "upcoming",
    "onlyNewEvents": false,
    "reportChanges": false,
    "monitorScope": "default",
    "maxResults": 20,
    "maxResultsPerSearch": 10,
    "proxyConfiguration": {
        "useApifyProxy": false
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("getascraper/luma-meetup-events-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 = {
    "platforms": [
        "luma",
        "meetup",
    ],
    "locations": ["San Francisco"],
    "searchQueries": ["AI"],
    "startUrls": [],
    "lumaTopics": [],
    "meetupTopics": [],
    "radiusKm": 30,
    "eventFormat": "any",
    "priceFilter": "any",
    "minAttendees": 0,
    "hideSoldOut": False,
    "resultType": "events",
    "fetchEventDetails": False,
    "includeAttendees": False,
    "maxAttendeesPerEvent": 20,
    "calendarPeriod": "upcoming",
    "onlyNewEvents": False,
    "reportChanges": False,
    "monitorScope": "default",
    "maxResults": 20,
    "maxResultsPerSearch": 10,
    "proxyConfiguration": { "useApifyProxy": False },
}

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

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

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

```

## CLI example

```bash
echo '{
  "platforms": [
    "luma",
    "meetup"
  ],
  "locations": [
    "San Francisco"
  ],
  "searchQueries": [
    "AI"
  ],
  "startUrls": [],
  "lumaTopics": [],
  "meetupTopics": [],
  "radiusKm": 30,
  "eventFormat": "any",
  "priceFilter": "any",
  "minAttendees": 0,
  "hideSoldOut": false,
  "resultType": "events",
  "fetchEventDetails": false,
  "includeAttendees": false,
  "maxAttendeesPerEvent": 20,
  "calendarPeriod": "upcoming",
  "onlyNewEvents": false,
  "reportChanges": false,
  "monitorScope": "default",
  "maxResults": 20,
  "maxResultsPerSearch": 10,
  "proxyConfiguration": {
    "useApifyProxy": false
  }
}' |
apify call getascraper/luma-meetup-events-scraper --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,getascraper/luma-meetup-events-scraper"
        }
    }
}
```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

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