UCLA Daily: Eventbrite Fetch
UCLA events from Eventbrite, with a party filter that actually works
- ucla_data
- ucla_data
- segment_text
Here's the fun one. UCLAEventbriteFetch scrapes Eventbrite search results for UCLA-related events - and then applies what the author calls a "grain of salt" filter to keep the parties, nightlife, and MLM networking mixers off your lobby screen. You will not be displaying a "Yacht Party with Open Bar" next to a faculty lecture, and that is a design decision the author clearly made after looking at what Eventbrite's "UCLA" search actually returns.
It's part of the UCLA Daily pack by Jeffrey A. Brick, which aggregates campus events and news into lobby-display cards. Like the other fetchers, it takes UCLA_DATA in and returns it plus a segment_text string, so it chains with anything between UCLADailyDataInit and the card, narrator, or pulse nodes. If your audience is grad students, this is one of the highest-value feeds in the pack - Eventbrite catches events that never make the official campus calendars.
How it works
The default search URL targets UCLA events in the LA area. Eventbrite serves server-rendered HTML with embedded JSON in window.__SERVER_DATA__, so the node extracts events from that JSON blob without needing a browser. Then comes the filter, and it's a real list: rejected keywords cover parties, nightlife, happy hours, bottle service, "free w/rsvp" promo fluff, crypto meetups, bootcamp demo days, and the rest of Eventbrite's bargain bin. An allowlist overrides the reject list when both match, so a legitimate academic talk that mentions "happy hour reception" still passes.
The strict_filter toggle changes the philosophy: strict (default) only lets through events matching academic/cultural keywords; loose lets everything through except rejected keywords. For a building display you want strict. For your own curiosity feed, loose.
The inputs
- ucla_data - required pipeline dict from
UCLADailyDataInit. - max_items - 1–30, default 10.
- search_url - the Eventbrite search URL; change location or query to re-target. Default points at Culver City/LA.
- strict_filter - boolean, default true. The quality filter described above.
Outputs
Two: ucla_data (enriched, chainable) and segment_text - the plain-text event list for UCLALobbyCard or UCLANarrator.
Install
ComfyUI Manager → search UCLA Daily, or:
cd ComfyUI/custom_nodes
git clone https://github.com/jbrick2070/ComfyUI-UCLADaily.git
pip install qrcode pillow requests
Restart ComfyUI. No API key - Eventbrite's public search HTML is the source, not their paid API.
Common issues
This is the most fragile fetcher in the pack, because Eventbrite owns the markup and JSON shape and changes it without notice. If it starts returning nothing or throwing parse errors, that's usually Eventbrite's doing, not yours. Also: Eventbrite pages are heavier than RSS feeds, so the "don't re-run constantly while tuning cards" advice matters double here. Check errors[] in the pulse report - the pack surfaces exactly what went wrong.
Inputs (4)
| Name | Type | Default | Description |
|---|---|---|---|
| ucla_data | UCLA_DATA | — | |
| max_items | INT | 101–30 | Maximum number of filtered events to include. |
| search_urlopt | STRING | https://www.eventbrite.com/d/ca--culver-city/ucla/ | Eventbrite search URL. Change location or query as needed. |
| strict_filteropt | BOOLEAN | true | True = only allow events matching academic/cultural keywords. False = allow everything except rejected keywords. |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| ucla_data | UCLA_DATA | — |
| segment_text | STRING | — |