# Luma Leads Finder (`martin.forejt/luma-leads-finder`) Actor

Scrapes a Luma event, optionally enriches attendees from LinkedIn, then uses AI to rank each person by relevance to your goals — returning a scored list with a conversation starter for each lead.

- **URL**: https://apify.com/martin.forejt/luma-leads-finder.md
- **Developed by:** [Martin Forejt](https://apify.com/martin.forejt) (community)
- **Categories:** Lead generation, AI, Automation
- **Stats:** 1 total users, 0 monthly users, 0.0% runs succeeded, 0 bookmarks
- **User rating**: 5.00 out of 5 stars

## Pricing

from $8.50 / 1,000 results

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

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.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use 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 Leads Finder

Paste a [lu.ma](https://lu.ma) event URL, describe who you are and who you want to meet, and get back a ranked list of the most relevant attendees — each with an AI-generated relevance score and a personalised conversation starter.

Built for founders, sales teams, recruiters, and investors who want to make every event count.

### How it works

1. **Scrapes the full attendee list** from the Luma event using your session cookie
2. **Optionally enriches LinkedIn profiles** — adds current company and richer job title data for better ranking accuracy
3. **Ranks every attendee with AI** (OpenRouter) using your background and goals as context, in batches of 50
4. **Returns a sorted dataset** — highest relevance first — with a score, a reason, and a conversation topic for each person

### Input

| Field | Type | Required | Description |
|---|---|---|---|
| `eventUrl` | string | Yes | The lu.ma event URL, e.g. `https://lu.ma/my-event` |
| `lumaSessionCookie` | string | Yes | Value of the `luma.auth-session-key` cookie (see below) |
| `yourBackground` | string | Yes | Brief bio — your role, industry, what you're working on |
| `whoYouWantToMeet` | string | Yes | Your ideal connection — role, company stage, goals |
| `enableLinkedInEnrichment` | boolean | No (default: `false`) | Fetch LinkedIn profile data before ranking. Improves quality but runs an additional actor. |
| `limit` | integer | No | Return only the top N leads. Omit to rank everyone. |

#### Getting your session cookie

1. Log into [lu.ma](https://lu.ma) in your browser
2. Open **DevTools** (`F12`) → **Application** → **Cookies** → `https://lu.ma`
3. Find the cookie named **`luma.auth-session-key`** and copy its value
4. Paste it into the `lumaSessionCookie` field

> You must also be **registered** (RSVP'd) for the event to access the full guest list. Without registration, only the ~10 public featured guests are returned.

### Output

One dataset row per attendee, sorted by `relevanceScore` descending:

| Field | Description |
|---|---|
| `rank` | Position in the ranked list (1 = most relevant) |
| `relevanceScore` | AI score from 1 (not relevant) to 10 (perfect match) |
| `relevanceReason` | Why this person matches your goals |
| `conversationTopic` | A personalised opening line for this person |
| `name` | Full name |
| `headline` | Job title or bio |
| `company` | Current company (from LinkedIn enrichment if enabled) |
| `linkedinUrl` | Full LinkedIn profile URL |
| `twitterUrl` | Full Twitter/X URL |
| `website` | Personal or company website |
| `lumaProfileUrl` | Their Luma profile page |
| `isOrganizer` | `true` if this person is a host of the event |

### Example output row

```json
{
  "rank": 1,
  "relevanceScore": 9,
  "relevanceReason": "Sarah leads AI investments at Sequoia and is actively looking at developer tooling, directly aligned with your goal of meeting AI investors.",
  "conversationTopic": "Ask about her thesis on AI infrastructure plays — specifically whether she sees the current wave of model-layer startups as defensible long-term.",
  "name": "Sarah Chen",
  "headline": "Partner at Sequoia Capital",
  "company": "Sequoia Capital",
  "linkedinUrl": "https://www.linkedin.com/in/sarahchen",
  "isOrganizer": false
}
````

### LinkedIn enrichment

Enabling `enableLinkedInEnrichment` runs the [LinkedIn Profile Enrichment](https://apify.com/anchor/linkedin-profile-enrichment) actor on each attendee's LinkedIn URL. This adds current company name and a richer headline before ranking, which meaningfully improves score accuracy for attendees whose Luma profiles are sparse.

It costs additional compute units and typically adds 2–5 minutes of runtime for 100–200 attendees.

### Pricing note

This actor calls three sub-actors:

- **martin.forejt/luma-attendees-scraper** — scraping Luma (included in your Apify plan)
- **anchor/linkedin-profile-enrichment** — only if `enableLinkedInEnrichment` is enabled
- **apify/openrouter** — AI ranking via OpenRouter (pay-per-token; cost scales with attendee count)

For a typical event with 200 attendees and no LinkedIn enrichment, the AI ranking costs roughly $0.01–0.05 in OpenRouter tokens.

# Actor input Schema

## `eventUrl` (type: `string`):

URL of the lu.ma event to scrape, e.g. https://lu.ma/my-event.

## `lumaSessionCookie` (type: `string`):

Value of the luma.auth-session-key cookie from a logged-in lu.ma session. Required to access the full guest list. Get it: log into lu.ma → DevTools (F12) → Application → Cookies → https://lu.ma → copy the value of luma.auth-session-key. You must also be registered (RSVP'd) for the event.

## `yourBackground` (type: `string`):

Brief description of who you are — your role, industry, and what you're working on. Used by the AI to judge relevance.

## `whoYouWantToMeet` (type: `string`):

Description of your ideal connection at this event — role, industry, company stage, or specific goals.

## `enableLinkedInEnrichment` (type: `boolean`):

Fetch full LinkedIn profile data (company, job title, work history) for each attendee before ranking. Significantly improves AI ranking quality but runs an additional actor — anchor/linkedin-profile-enrichment — which uses extra compute units.

## `limit` (type: `integer`):

Return only the top N ranked leads. Leave empty to return all attendees ranked.

## Actor input object example

```json
{
  "eventUrl": "https://lu.ma/",
  "yourBackground": "e.g. I'm a founder building a B2B SaaS tool for recruiting teams. Previously at Google.",
  "whoYouWantToMeet": "e.g. HR tech investors, heads of talent at Series B+ startups, or other founders in the recruiting space.",
  "enableLinkedInEnrichment": false
}
```

# Actor output Schema

## `leads` (type: `string`):

Dataset of attendees ranked by relevance to your goals, each with a relevance score, reason, and suggested conversation topic.

# 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 = {
    "eventUrl": "https://lu.ma/",
    "yourBackground": "e.g. I'm a founder building a B2B SaaS tool for recruiting teams. Previously at Google.",
    "whoYouWantToMeet": "e.g. HR tech investors, heads of talent at Series B+ startups, or other founders in the recruiting space."
};

// Run the Actor and wait for it to finish
const run = await client.actor("martin.forejt/luma-leads-finder").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 = {
    "eventUrl": "https://lu.ma/",
    "yourBackground": "e.g. I'm a founder building a B2B SaaS tool for recruiting teams. Previously at Google.",
    "whoYouWantToMeet": "e.g. HR tech investors, heads of talent at Series B+ startups, or other founders in the recruiting space.",
}

# Run the Actor and wait for it to finish
run = client.actor("martin.forejt/luma-leads-finder").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 '{
  "eventUrl": "https://lu.ma/",
  "yourBackground": "e.g. I'\''m a founder building a B2B SaaS tool for recruiting teams. Previously at Google.",
  "whoYouWantToMeet": "e.g. HR tech investors, heads of talent at Series B+ startups, or other founders in the recruiting space."
}' |
apify call martin.forejt/luma-leads-finder --silent --output-dataset

```

## MCP server setup

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

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Luma Leads Finder",
        "description": "Scrapes a Luma event, optionally enriches attendees from LinkedIn, then uses AI to rank each person by relevance to your goals — returning a scored list with a conversation starter for each lead.",
        "version": "0.1",
        "x-build-id": "qyxBQ3kGGEt3iwUl7"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/martin.forejt~luma-leads-finder/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-martin.forejt-luma-leads-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/martin.forejt~luma-leads-finder/runs": {
            "post": {
                "operationId": "runs-sync-martin.forejt-luma-leads-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/martin.forejt~luma-leads-finder/run-sync": {
            "post": {
                "operationId": "run-sync-martin.forejt-luma-leads-finder",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "eventUrl",
                    "lumaSessionCookie",
                    "yourBackground",
                    "whoYouWantToMeet"
                ],
                "properties": {
                    "eventUrl": {
                        "title": "Luma event URL",
                        "type": "string",
                        "description": "URL of the lu.ma event to scrape, e.g. https://lu.ma/my-event."
                    },
                    "lumaSessionCookie": {
                        "title": "Luma session cookie",
                        "type": "string",
                        "description": "Value of the luma.auth-session-key cookie from a logged-in lu.ma session. Required to access the full guest list. Get it: log into lu.ma → DevTools (F12) → Application → Cookies → https://lu.ma → copy the value of luma.auth-session-key. You must also be registered (RSVP'd) for the event."
                    },
                    "yourBackground": {
                        "title": "Your background",
                        "type": "string",
                        "description": "Brief description of who you are — your role, industry, and what you're working on. Used by the AI to judge relevance."
                    },
                    "whoYouWantToMeet": {
                        "title": "Who you want to meet",
                        "type": "string",
                        "description": "Description of your ideal connection at this event — role, industry, company stage, or specific goals."
                    },
                    "enableLinkedInEnrichment": {
                        "title": "Enrich LinkedIn profiles",
                        "type": "boolean",
                        "description": "Fetch full LinkedIn profile data (company, job title, work history) for each attendee before ranking. Significantly improves AI ranking quality but runs an additional actor — anchor/linkedin-profile-enrichment — which uses extra compute units.",
                        "default": false
                    },
                    "limit": {
                        "title": "Limit results",
                        "type": "integer",
                        "description": "Return only the top N ranked leads. Leave empty to return all attendees ranked."
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
