
Instagram Reel Scraper
scrape.ly/store/echofield/instagram-reel-scraperSocial mediaVideos
1 monthly user

Scrape Luma (lu.ma) events by city, category and keyword, or from event, calendar and host profile URLs. Get dates, full venue address and coordinates, guest counts, ticket prices, organizers and hosts with public social links.
Scrape Luma (lu.ma) events by city, category and keyword, or straight from event, calendar and host profile URLs. Every event comes with its dates and time zone, the full venue address and coordinates, the live guest count, ticket prices, the organizer calendar and the hosts with their public social links. No login, no browser: 1,000 events take under 20 seconds and cost about 6 cents.
San Francisco) and, if you like, categories (AI, Tech, Crypto...) or keywords.| Field | What it does |
|---|---|
cities | Cities to discover events in. |
categories | tech, ai, food, arts, climate, fitness, wellness, crypto, books, games, running, family. |
searchTerms | Optional keywords searched within each city. |
startUrls | Event, calendar, profile, category or city URLs on lu.ma or luma.com. |
maxResults | Maximum events across all inputs (0 = no limit). |
maxResultsPerSearch | Optional cap per city search, calendar or profile. |
startDate, endDate, price, locationType, minGuests, excludeSoldOut | Filters. |
includeDetails | Also load the full description, categories, ticket types, FAQs and sessions (one extra request per event). |
calendarEvents | For calendar and profile URLs: upcoming, past or all. |
{
"cities": ["San Francisco", "London"],
"categories": ["ai"],
"maxResults": 100,
"startUrls": ["https://lu.ma/genai-sf"]
}
| Field | Description |
|---|---|
id, name, lumaUrl, description | The event (description with full details on) |
startAt, endAt, timezone | When (UTC timestamps plus the local time zone) |
locationType, venueName, fullAddress, city, region, country, latitude, longitude | Where |
guestCount, attendance | Registered guests, tickets, spots left, waitlist |
isFree, price, maxPrice, currency, ticketing | Price, sold-out status, approval required, ticket types (with details) |
organizerName, organizer | The calendar behind the event, with website and socials |
hostNames, hosts, featuredGuests | People and brands hosting or featured, with profile URL, website and socials |
registrationStatus, coverImageUrl, categories, source | Extras |
Example (trimmed, people are fictional):
{
"id": "evt-fsCi6IPSI1ziuQo",
"lumaUrl": "https://lu.ma/5gm1z99p",
"name": "TiDB SCaiLE 2026",
"category": "ai",
"startAt": "2026-10-15T16:00:00.000Z",
"endAt": "2026-10-16T02:00:00.000Z",
"timezone": "America/Los_Angeles",
"locationType": "offline",
"venueName": "Computer History Museum",
"fullAddress": "Computer History Museum, 1401 N Shoreline Blvd, Mountain View, CA 94043, USA",
"city": "Mountain View",
"country": "United States",
"latitude": 37.4142744,
"longitude": -122.077409,
"guestCount": 137,
"isFree": true,
"organizerName": "TiDB, powered by PingCAP",
"hosts": [
{
"name": "TiDB, powered by PingCAP",
"profileUrl": "https://lu.ma/user/TiDB_PingCAP",
"websiteUrl": "https://pingcap.com",
"socialHandles": { "linkedin": "https://www.linkedin.com/company/pingcap", "youtube": "https://www.youtube.com/@TiDB_PingCAP" }
}
],
"featuredGuests": [
{ "name": "Jamie Example", "profileUrl": "https://lu.ma/user/jamie-example", "socialHandles": { "linkedin": "https://www.linkedin.com/in/jamie-example", "twitter": "https://twitter.com/jamie_example" } }
],
"ticketing": { "isFree": true, "isSoldOut": false, "requiresApproval": true },
"attendance": { "guestCount": 137, "ticketCount": 137, "waitlistActive": false },
"registrationStatus": "open",
"source": "discover",
"scrapedAt": "2026-10-16T08:00:00Z"
}
You pay $0.06 per 1,000 events ($0.00006 per event), plus platform usage (compute and datacenter proxy traffic, about $0.002 per 1,000 events in our tests). Example: 1,000 events cost about $0.062 in total. With Include full details on, each event needs one extra request, which adds roughly $0.01 of traffic per 1,000 events.
Is it legal to scrape Luma? The actor reads only public event pages and public host profiles that anyone can open without an account. You are responsible for how you use the data, including privacy rules such as GDPR.
Do I need a Luma account or proxy? No login and no cookies. The default datacenter proxy works well.
How many events can I get? Everything Luma lists for a city: over 1,000 upcoming events for big cities like San Francisco. Calendars return all their upcoming or past events.
Why is the address empty for some events? Some hosts hide the exact address until you register. Those rows still have the city, region and country, and addressHidden is true.
Why is the description empty? Luma's listings do not include descriptions. Turn on Include full details to get them.
Can I schedule it or use the API? Yes. Schedule daily runs to catch new events, and start runs and read results through the API.
Every field below can be set in the run form, passed through the API, or saved as a task. Unset fields fall back to the defaults shown.
citiesarrayOptionalCities
Cities to discover events in, e.g. 'San Francisco', 'London', 'Berlin'. Any city works: Luma's featured cities are matched by name, others are located on the map.
categoriesarrayOptionalCategories
Only events in these Luma categories. Leave empty for all events in the city.
searchTermsarrayOptionalSearch keywords
Optional keywords to search for within each city, e.g. 'hackathon' or 'founders'.
startUrlsarrayOptionalLuma URLs
Luma event pages (lu.ma/abc123), calendars (lu.ma/genai-sf), host profiles (lu.ma/user/name), category pages (lu.ma/ai, uses the cities above) or city pages (lu.ma/sf). luma.com links work too.
maxResultsintegerOptionaldefault 20Max results
Maximum number of events to save across all inputs. Set 0 for no limit.
maxResultsPerSearchintegerOptionalMax results per city or URL
Optional cap per city/category/keyword search, calendar or profile, so one big city does not use up the whole limit.
startDatestringOptionalFrom date
Only events starting on or after this day (YYYY-MM-DD).
endDatestringOptionalTo date
Only events starting on or before this day (YYYY-MM-DD).
priceenumOptionalPrice
Only free or only paid events.
locationTypeenumOptionalLocation type
Only in-person or only online events.
minGuestsintegerOptionalMinimum guests
Only events with at least this many registered guests.
excludeSoldOutbooleanOptionaldefault falseSkip sold-out events
Leave out events that are sold out.
includeDetailsbooleanOptionaldefault falseInclude full details
Also load each event's page data: full description, categories, ticket types with prices and capacity, FAQs and sessions. One extra request per event.
calendarEventsenumOptionaldefault "upcoming"Calendar and profile events
Which events to save for calendar and profile URLs.
proxyConfigurationobjectOptionaldefault {"useScrapelyProxy":true,"scrapelyProxyGroups":["DATACENTER…Proxy
Datacenter proxies work well for Luma.
Every run writes its results to a dataset. Preview it in the dashboard, then export it or read it through the API.
| Field | Type | Description |
|---|---|---|
| id | string | null | Luma event id |
| lumaUrl | string | null | Event page |
| name | string | null | Event name |
| description | string | null | Description (with full details) |
| category | string | null | Category searched |
| startAt | string | null | Start (UTC) |
| endAt | string | null | End (UTC) |
| timezone | string | null | IANA time zone |
| locationType | string | null | offline or online |
| venueName | string | null | Venue |
| fullAddress | string | null | Full address |
| city | string | null | City |
| region | string | null | Region |
| country | string | null | Country |
| latitude | number | null | Latitude |
| longitude | number | null | Longitude |
| guestCount | number | null | Registered guests |
| isFree | boolean | null | Free event |
| price | number | null | Lowest price |
| currency | string | null | Currency |
| organizerName | string | null | Calendar / organizer |
| hostNames | string | null | Hosts |
| registrationStatus | string | null | Registration status |
| coverImageUrl | string | null | Cover image |
| organizer | object | null | Organizer calendar with socials |
| hosts | array | null | Hosts with public socials |
| featuredGuests | array | null | Featured guests |
| ticketing | object | null | Ticket info |
| attendance | object | null | Guests, capacity and waitlist |
| location | object | null | Location details |
| scrapedAt | string | null | Scraped at |
You pay for the events the actor reports, such as each result or page it produces. Platform usage is included in the event prices.
| Event | Charged when | Price |
|---|---|---|
| Event | One saved Luma event. | $0.00006 |
Run this actor from your own code. Swap in your API token and the examples work as-is.
import { ScrapelyClient } from 'scrapely-client'
const client = new ScrapelyClient({ token: process.env.SCRAPELY_TOKEN })
// Start the actor and wait for the run to finish.
const run = await client.actor('echofield/luma-events-scraper').call({
"cities": [
"San Francisco"
],
"categories": [
"ai"
],
"maxResults": 20,
"proxyConfiguration": {
"useScrapelyProxy": true,
"scrapelyProxyGroups": [
"DATACENTER"
]
}
})
// Read the dataset the run produced.
const { items } = await client.dataset(run.defaultDatasetId).listItems()
console.log(items)Tokens live in your account settings. Keep them server-side: a token carries the full permissions of your account.
Connect the Scrape.ly MCP server once and your agent can run this actor as a tool. Pick your tool:
Fetch scrape.ly/agents.md and run echofield/luma-events-scraperPaste into Claude Code, Codex, Cursor or any AI agent. It signs you in once in the browser.
{
"mcpServers": {
"scrapely": {
"url": "https://api.scrape.ly/mcp?tools=actors,runs,storage,docs&actors=echofield/luma-events-scraper"
}
}
}No key in the file: your client opens the browser to sign you in the first time it connects.
Inputs the developer prepared for common jobs. Open one to see its input, then copy it to your account to run it as-is or adjust it.
Upcoming events in a city and category.
Keyword search for events in a city.
Earlier events from a Luma calendar URL.
Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.