lead-generation

Luma Event Attendees

Find speakers, hosts, and guest profiles at conferences and events on Luma. Two modes - free direct scrape for hosts, or Apify-powered search for full guest profiles with LinkedIn/Twitter/bio.

Gooseby Athina AI
Install
Terminal
npx gooseworks install --claude

# Then in your agent:
/gooseworks <prompt> --skill luma-event-attendees
About This Skill

luma-event-attendees

Find and extract speakers, hosts, and registered guest profiles from Luma events for outreach prospecting.

Two Modes

1. Direct Scrape (free)

Scrapes Luma event pages directly. Gets event metadata + hosts. Guest profiles only if publicly embedded in the page.

python3 scripts/scrape_event.py https://lu.ma/abc123

2. Apify Search (paid, recommended for guest lists)

Uses the lexis-solutions/lu-ma-scraper Apify actor to search Luma and return full event data including featured guest profiles (name, bio, LinkedIn, Twitter, Instagram, website).

python3 scripts/scrape_event.py --search "AI San Francisco"

Cost: $29/month flat subscription on Apify. Rent: https://console.apify.com/actors/r5gMxLV2rOF3J1fxu

Setup

1. Apify API Token (required for --search mode)

  1. Create account: https://apify.com/
  2. Get API token: https://console.apify.com/account/integrations
  3. Rent the Luma scraper: https://console.apify.com/actors/r5gMxLV2rOF3J1fxu ($29/mo, 24h free trial)
  4. Set token:
export APIFY_API_TOKEN="apify_api_YOUR_TOKEN_HERE"
# Or create .env file in skill directory

2. Install Dependencies

pip3 install requests

Usage

Direct Scrape (free, hosts only)

# Single event
python3 scripts/scrape_event.py https://lu.ma/pwciozw0
 
# Multiple events
python3 scripts/scrape_event.py https://lu.ma/abc https://lu.ma/def
 
# Export to CSV
python3 scripts/scrape_event.py https://lu.ma/abc --output hosts.csv

Apify Search (guest profiles)

# Search for AI events in SF
python3 scripts/scrape_event.py --search "AI San Francisco"
 
# Just list events (don't extract people)
python3 scripts/scrape_event.py --search "SaaS NYC" --events-only
 
# Export all guests to CSV
python3 scripts/scrape_event.py --search "AI San Francisco" --output guests.csv
 
# Export as JSON
python3 scripts/scrape_event.py --search "AI SF" --output guests.json --json

Caching

Results cached for 24 hours by default:

# Force fresh fetch
python3 scripts/scrape_event.py --search "AI SF" --no-cache
 
# Custom cache duration
python3 scripts/scrape_event.py --search "AI SF" --cache-hours 12

Options Reference

Positional:
  urls                    Event URLs to scrape directly (free)
 
Search:
  --search, -s            Search Luma via Apify (e.g., 'AI San Francisco')
  --events-only           Only list events, don't extract people
 
Output:
  --output, -o            Output file path (.csv or .json)
  --json                  Output JSON format (default: CSV)
 
Cache:
  --no-cache              Skip cache, always fetch fresh
  --cache-hours           Cache max age in hours (default: 24)

Output Format

CSV Columns

nameevent_rolebiotitlecompanylinkedin_urltwitter_urlinstagram_urlwebsite_urlusernameevent_nameevent_dateevent_url

What You Get Per Person

  • name - Full name
  • event_role - Host, Guest, or Speaker
  • bio - Luma profile bio
  • linkedin_url - LinkedIn profile URL
  • twitter_url - Twitter/X profile URL
  • instagram_url - Instagram handle
  • website_url - Personal website
  • username - Luma username
  • event_name - Which event they're associated with
  • event_date - Event date (ISO format)
  • event_url - Link to the event

AI Agent Workflow

This skill is designed to be called by an AI agent as part of a prospecting workflow:

Step 1: Find Events

"Search Luma for AI and SaaS events in San Francisco"

python3 scripts/scrape_event.py --search "AI San Francisco" --events-only

Step 2: Extract Guest Profiles

"Get all guest profiles from those events"

python3 scripts/scrape_event.py --search "AI San Francisco" --output guests.csv

Step 3: Qualify Against ICP

Ask the agent to filter the CSV:

"From these guests, find founders/VPs at B2B SaaS companies, 20-200 employees"

Step 4: Enrich

For qualified leads:

  • Look up LinkedIn profiles for role/company details
  • Research their companies
  • Check for overlapping signals (hiring? recently funded?)

Step 5: Generate Outreach

"Draft connection requests for qualified guests. I'll be at [event]. We sell [product] at [price]. Keep it casual."

Data Access Realities

DataDirect Scrape (free)Apify Search (paid)
Event metadataYesYes
Hosts/organizersYesYes
Featured guests (public RSVPs)SometimesYes
Full attendee listNo (requires auth)Partial (public profiles only)
Guest LinkedIn/TwitterYes (if in page)Yes
Guest bioYes (if in page)Yes
Guest emailNoNo

Note: Luma events have a show_guest_list setting. When disabled, guest profiles aren't publicly accessible. The Apify scraper can still get featured_guests for events that have them.

Example Prompts

Quick search:

"Find AI events in SF this month and get me guest profiles"

Targeted:

"Search Luma for 'SaaS growth' events. Export all guest profiles to CSV. Then qualify against our ICP: VP+ at B2B SaaS, 50-500 employees."

Full workflow:

"Search Luma for AI and developer events in SF. Get all guest profiles. For each person with a LinkedIn, check if they match our ICP (founders/VPs at B2B SaaS, 20-200 employees, Series A-C). Draft pre-event connection requests for the ones I'll see at [event name]. We sell GTM engineering at $10K/month. Output qualified leads to CSV."

Troubleshooting

"APIFY_API_TOKEN not set"

export APIFY_API_TOKEN="your_token_here"

"Apify actor not rented"

Rent the Luma scraper at: https://console.apify.com/actors/r5gMxLV2rOF3J1fxu

No guests found for an event

  • The event may have show_guest_list disabled
  • Try the --search mode which can access featured_guests
  • Some events simply don't have public guest profiles

"ModuleNotFoundError: requests"

pip3 install requests

Metadata

metadata:
  clawdbot:
    emoji: "🎀"
    requires:
      env: ["APIFY_API_TOKEN"]
      bins: ["python3"]
      packages: ["requests"]

Built by Goose - Powered by Apify (lexis-solutions/lu-ma-scraper)

What's included

Β·
name* - Full name
Β·
event_role* - Host, Guest, or Speaker
Β·
bio* - Luma profile bio
Β·
linkedin_url* - LinkedIn profile URL
Β·
twitter_url* - Twitter/X profile URL
You Might Also Like
capabilities

Update Brand Kit

Maintain a brand kit β€” the canonical brand context an ad or content pipeline reads (positioning, audience, voice, standing instructions, brand-type, value-props, colors), plus manage the product list and attach product photos. Use when someone says "update my brand kit", "set my brand voice/audience", "add a product to my brand", or hands you a folder of product shots to attach. Platform-agnostic: it teaches the field model, partial-update/clear semantics, override behavior, caps and validation, and the hero-image and product-matching rules β€” independent of any specific backend.

capabilities

Verify Product Image

QC gate for a generated static ad image β€” verify the file opens, matches the requested dimensions, shows the correct product/subject (right shape, colour, label, logo), and has no garbled text or severe artifacts. Records pass/fail/needs-human in verification.md. Used as the final check in the static ad remix flow before shipping.

composites

Remix Graphic Ad From Reference

Recreate a static graphic ad (Pinterest pin, IG/FB feed image, poster) from a reference image, swapping in a new brand's product and new copy while keeping the reference's layout, composition, and visual energy. ALWAYS generated with GPT Image 2 in edit-the-reference mode (fal-ai/gpt-image-1/edit-image, a billed FAL generation); the HTML/goose-graphics overlay is only an optional text-finishing step, never the generator. The static-graphics counterpart to the video remix-ad skill; this is what the app calls when a user picks a reference ad and wants it for their own product.

Newsletter

Learn to build Growth systems with AI

2-3 compounding systems per week using Claude Code, OpenClaw, and more.