Luma unofficial API: search events by topic or city
TL;DR
About
Developers looking for a Luma API to search public events by topic or city usually find there is none they can use: Luma's official API is for hosts managing their own events and has no public event search. This script fills that gap. It works like an API endpoint — one call with typed arguments, a JSON response — but runs through a real browser, yours or a hosted one, so it needs no Luma developer account, API key or app review.
Input
city optionalCurated Luma city slug to filter by (e.g. "paris", "london", "new-york"). Mutually exclusive with topic.
limit optionalMax events to return per call. Default 25.
topic optionalCategory slug to filter by (e.g. "crypto", "arts-culture", "fitness"). Mutually exclusive with city. Some categories are only served per-place and cannot be browsed globally; those fail naming the slug, and the way to browse them is `city`.
cursor optionalPagination cursor from a previous call's next_cursor.
latitude optionalOptional latitude to bias/sort results by proximity. Only affects ordering — it does NOT satisfy a category that Luma serves per-place.
longitude optionalOptional longitude to bias/sort results by proximity. Only affects ordering — it does NOT satisfy a category that Luma serves per-place.
Output
events requiredhas_more requirednext_cursor optionalExample output
Shape only: placeholder values generated from the output schema, not a real run.
{
"events": [
{
"city": "…",
"name": "Example",
"slug": "…",
"end_at": "2026-01-15T09:30:00Z",
"address": "…",
"is_free": true,
"event_id": "abc123",
"start_at": "2026-01-15T09:30:00Z",
"timezone": "…",
"cover_url": "https://example.com/item/123",
"guest_count": 3,
"calendar_name": "…",
"calendar_slug": "…",
"location_type": "…",
"show_guest_list": true,
"require_approval": true,
"registration_availability": "…"
}
],
"has_more": true,
"next_cursor": "…"
}