# Eventbrite's search API is gone. Here's how to get Eventbrite, Meetup and Luma events in one list

> Source: <https://dev.to/kazm_cemz_7f4650563415/eventbrites-search-api-is-gone-heres-how-to-get-eventbrite-meetup-and-luma-events-in-one-list-33j8>
> Published: 2026-10-21 21:53:50+00:00

If you have tried to build anything with event data, you probably found this out the hard way: **Eventbrite shut down its public event search endpoint (`/v3/events/search`) back in 2020.** You can still read events you organize, but you can't search "all tech events in London next month" anymore.

Meetup moved to a GraphQL API that needs an OAuth app, and Luma, where a lot of AI and startup events live now, has no public search API at all.

So if you want a simple list of upcoming events in a city, you're stuck stitching three very different sites together. This post shows a shortcut, and then one fun thing to build with it: **a weekly local events newsletter written by AI.**

I'll use the [Eventbrite, Meetup & Luma Events Scraper](https://apify.com/trendcraft/events-scraper) on Apify. Disclosure: I built it, for exactly this problem. No API keys or logins needed.

`London`, `Berlin`, `San Francisco`.` AI`, `startup`, `python`, `design`...` 50`.
Or as JSON input:

```
{
  "location": "London",
  "query": "AI",
  "sources": ["eventbrite", "luma", "meetup"],
  "startDate": "2026-11-01",
  "endDate": "2026-11-07",
  "maxResultsPerSource": 50
}
```

Every event comes back in **the same format**, whichever site it came from:

`title`, `url`, `description`, `startDate`, `endDate`, `timezone`
`venueName`, `address`, `city`, `country`, `latitude`, `longitude`
`isOnline`, `isFree`, `priceMin`, `priceMax`, `currency`, `soldOut`
`organizerName`, `organizerUrl`, `attendeeCount`, `categories`, `imageUrl`, `source`
Fields a site doesn't publish are `null` (Luma's public feed has no description, Eventbrite doesn't show attendee counts). Download as CSV, Excel or JSON from the **Output** tab.

There's also an **Online events only** switch (Eventbrite and Meetup) if you want virtual events instead of a city.

Here is the whole thing in Python: fetch next week's events, then ask an AI model to write a short newsletter.

``` python
from datetime import date, timedelta
from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
today = date.today()

run = client.actor("trendcraft/events-scraper").call(run_input={
    "location": "London",
    "query": "AI",
    "startDate": today.isoformat(),
    "endDate": (today + timedelta(days=7)).isoformat(),
    "maxResultsPerSource": 50,
})
events = list(client.dataset(run["defaultDatasetId"]).iterate_items())

lines = [
    f'- {e["title"]} | {e["startDate"]} | {e.get("venueName") or "Online"} | '
    f'{"free" if e.get("isFree") else "paid"} | {e["url"]}'
    for e in events
]
prompt = (
    "Write a short, friendly weekly newsletter of AI events in London. "
    "Pick the 10 most interesting, group them by day, one sentence each, keep the links. "
    "Only use events from this list:\n" + "\n".join(lines)
)
print(prompt)  # paste into Claude or ChatGPT, or call their API here
```

Add a schedule (on the Actor: **Actions → Save as a new task**, then **Schedules**), and you have the data side of a newsletter that refreshes itself every week.

You pay per event saved; the current price is on the Actor's **Pricing** tab. At the time of writing it is $5 per 1,000 events, so a weekly 100-event newsletter costs about $2 a month, inside the free monthly credit.

Good to know:

Missing a site or a field? Open an issue on the Actor's **Issues** tab.

*This post was drafted with AI assistance; input names and output fields were checked against the Actor itself.*
