Events Scraper - Luma, Meetup, Eventbrite by City avatar

Events Scraper - Luma, Meetup, Eventbrite by City

Pricing

from $1.50 / 1,000 event scrapeds

Go to Apify Store
Events Scraper - Luma, Meetup, Eventbrite by City

Events Scraper - Luma, Meetup, Eventbrite by City

Events scraper for Luma, Meetup and Eventbrite: find public events by city or coordinates and keyword in one unified schema. Dates with timezone, venue, geo, price, organizer and attendee count. For event feeds, community research and lead generation. No login.

Pricing

from $1.50 / 1,000 event scrapeds

Rating

0.0

(0)

Developer

Ha Phan Thanh Hai

Ha Phan Thanh Hai

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

Events Scraper: Luma, Meetup & Eventbrite by city and keyword

Find public events across Luma, Meetup and Eventbrite by city (or lat/lng) and keyword, returned in one unified schema. No login, no API key.

What does Events Scraper do?

  • Search by city name or lat,lng[,radiusKm] and by keyword.
  • Cover Luma, Meetup and Eventbrite in one run, or pick one with sources.
  • Filter by date window, online-only or in-person-only.
  • Get title, start/end with timezone, venue, address, geo, price range and currency, organizer, attendee count and image.
  • Optionally include the event description.

Why use it

  • Three platforms, one schema.
  • Geo-aware: city or coordinates with a radius.
  • Low price: $1.50 per 1,000 events.
  • No login, cookies or proxy.

Use cases

  • Local event feeds, newsletters and "what's on" widgets.
  • Community and lead research: which tech meetups run in a city.
  • Market research on ticket prices and attendance.
  • Event-sponsor and speaker prospecting.
  • Tracking event activity by topic across cities.

How to use

  1. Open the Actor on Apify and click Try for free (or call it through the API).
  2. Enter locations and keywords, choose sources and a date window.
  3. Click Start, then download the dataset as JSON, CSV, Excel or HTML, or read it through the API.

Input example

{
"locations": ["San Francisco", "London"],
"keywords": ["ai"],
"sources": ["luma", "meetup", "eventbrite"],
"startDateFrom": "2026-11-01",
"startDateTo": "2026-11-30",
"onlineOnly": false,
"inPersonOnly": false,
"maxEventsPerSource": 10,
"includeDescription": false
}

locations accepts city names ("Austin, TX") or "lat,lng" / "lat,lng,radiusKm". Keywords are whole-word matches; leave empty for all upcoming events. maxEventsPerSource applies per source, location and keyword.

Output example

{"source":"meetup","eventId":"317009834","title":"The Best of Portugal Wine Tasting","url":"https://www.meetup.com/london-wine-meetup/events/317009834/",
"startAt":"2026-11-03T17:40:00+00:00","endAt":"2026-11-03T20:30:00+00:00","timezone":"Europe/London","isOnline":false,
"venueName":"...","address":"...","city":"London","country":"GB","lat":51.49,"lng":-0.17,"organizerName":"London Wine Meetup",
"priceMin":40.0,"priceMax":40.0,"currency":"GBP","isFree":false,"attendeeCount":12,"imageUrl":"...","descriptionText":null,"tags":["physical"]}

Fields: source, eventId, title, url, startAt, endAt, timezone, isOnline, venueName, address, city, country, lat, lng, organizerName, priceMin, priceMax, currency, isFree, attendeeCount, imageUrl, descriptionText, tags.

Pricing

Pay per event, no subscription. You pay only for what is returned:

EventPrice per 1,0001,00010,000100,000
event$1.50$1.50$15.00$150.00

Example: 1,000 events cost $1.50; 10,000 cost $15.00.

Platform usage (compute) is included in the event price; there is nothing else to pay for.

Integrations & API

Run it from code with the Apify API. Replace <APIFY_TOKEN> with your API token.

Python (pip install apify-client)

from apify_client import ApifyClient
client = ApifyClient("<APIFY_TOKEN>")
run = client.actor("bachiembmt/events-scraper-luma-meetup-eventbrite").call(run_input={"locations": ["San Francisco"], "keywords": ["ai"], "sources": ["luma", "meetup", "eventbrite"], "maxEventsPerSource": 10})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item)

cURL (run synchronously and get dataset items)

curl -X POST "https://api.apify.com/v2/acts/bachiembmt~events-scraper-luma-meetup-eventbrite/run-sync-get-dataset-items?token=<APIFY_TOKEN>" \
-H "Content-Type: application/json" \
-d '{"locations": ["San Francisco"], "keywords": ["ai"], "sources": ["luma", "meetup", "eventbrite"], "maxEventsPerSource": 10}'

Works with:

  • Make and Zapier: use the Apify app/module to run this Actor and pass the dataset on.
  • n8n: use the Apify node or an HTTP Request node with the API call above.
  • Google Sheets: export the dataset as CSV, or use the Apify integration to append rows automatically.
  • Webhooks: trigger your own endpoint when a run finishes; combine with Apify schedules for recurring jobs.
  • AI agents: expose the Actor as a tool through the Apify MCP server.

FAQ

Why 0 events for one source? The log shows the reason, e.g. no keyword match or no Luma city nearby. Luma covers about 90 discover cities and has no server-side keyword search.

Do I get attendee lists? No. Only attendee counts where the platform shows them (Meetup RSVPs, Luma); lists are never collected.

Which time zone do dates use? ISO 8601 in the event's own timezone.

Do I need an account or API key for the source? No. The Actor needs no login or source API key. You only need an Apify account to run it.

Is it legal to scrape this data? Public event listings only. Respect each site's terms of use; no attendee lists or personal data are collected. This is general information, not legal advice.

Limitations

  • Luma covers ~90 discover cities (nearest city within 80 km is used); no server-side keyword search (needs login), so keywords match title/host/calendar name within the first ~500 upcoming events. Online events are rare in city feeds.
  • Meetup: attendee count = RSVPs; free events have no currency; online events have no venue.
  • Eventbrite: needs a city name (not bare coordinates). Search is relevance-ranked and not a hard filter, so results are filtered to real keyword matches (may return fewer than requested). Description = public summary. Attendee counts are not public. Online-only runs use Eventbrite's location-independent online listings.
  • Prices on Eventbrite are the min/max across ticket types. Attendee lists are never collected.
  • Respect each site's terms of use; public data only.