Eventbrite API Alternative: Public Event Search After 2019
Eventbrite removed public event search from its API in late 2019. Here is the working Eventbrite API alternative for public event data in 2026.
If you remember Eventbrite’s API from the mid-2010s, you remember it could search public events across the whole platform — by location, category, keyword, date. That capability is gone. In late 2019 Eventbrite removed the public event search endpoints from its API. Today the official API only lets you query events belonging to your own organization — the events you created and manage. The “find all upcoming tech events in Chicago” use case, the thing most people actually want, was deliberately removed. This guide covers the realistic Eventbrite API alternative in 2026: pulling public event data from Eventbrite’s own discovery and search pages.
What Eventbrite removed and why
The change in late 2019 was specific and well-documented at the time:
- The
/events/search/style public search endpoints were retired. You can no longer pass a city, category, or keyword to the API and get back matching public events from across Eventbrite. - What remains is org-scoped: with an OAuth token you can list and manage your events, your attendees, your orders. It’s an organizer/integration API now, not a discovery API.
The official reasoning centered on partner relationships and steering discovery traffic to Eventbrite’s own site and a small set of partners. The practical effect for everyone else: there is no API path to “search public events.” That’s the gap the public-page approach fills.
What data is actually available
Eventbrite’s public site is generous and, helpfully, ships structured data:
- Events: title, date/time, timezone, venue or online flag, organizer, category, price (free / from $X), and the event description.
- Organizers: organizer name, profile URL, and their list of upcoming events.
- Discovery: location and category landing pages (
eventbrite.com/d/<location>/<category>/) plus keyword search that enumerate public events. - Ticketing signals: free vs. paid, lead-in price, and “sales end” / “almost full” cues where shown.
Attendee personal data is not public — the public value is events, organizers, and pricing, which is exactly what most discovery and lead-gen use cases need.
How the public surface works
Eventbrite is friendly to work with compared to defended commerce sites:
- Embedded structured data. Event pages carry JSON-LD
Eventobjects (schema.org-typed) plus a server-rendered hydration blob. Title, ISO start/end time, location, organizer, and offer/price come straight out of the JSON-LD without executing the client app — this is the cleanest path. - Deterministic discovery URLs. Location+category pages live under
eventbrite.com/d/<place>/<category>/and paginate predictably; keyword search lives undereventbrite.com/d/online/<query>/and similar patterns. That lets you crawl a city/category systematically: discovery page → event URLs → parse each event’s JSON-LD. - Stable event URLs. Each event has a numeric ID in its URL, a natural key for dedup and re-pulls.
The crawl shape: discovery/search page → collect event URLs (with pagination) → fetch each event and parse JSON-LD + hydration JSON.
Rate limits and how to live with them
No published quota on the public site, so ordinary politeness applies:
- Eventbrite is not OTA-aggressive, but single-IP bursts still earn throttling. Keep concurrency modest.
- Prefer JSON-LD parsing over full rendering — lighter, faster, less detectable.
- Discovery pages change as events come and go; cache event detail (it’s stable once published) and re-crawl discovery on your refresh cadence.
- For multi-city sweeps, rotate IPs and pace the discovery crawl.
A clean output schema
Normalize each event into a self-contained row:
{
"event_id": "729184563021",
"event_url": "https://www.eventbrite.com/e/chicago-js-meetup-tickets-729184563021",
"title": "Chicago JS Meetup",
"start_time": "2026-06-20T18:00:00-05:00",
"end_time": "2026-06-20T21:00:00-05:00",
"timezone": "America/Chicago",
"is_online": false,
"venue_name": "1871 Coworking",
"venue_city": "Chicago",
"venue_country": "US",
"category": "Technology",
"is_free": false,
"min_price": 15,
"currency": "USD",
"organizer_name": "Chicago JS",
"organizer_url": "https://www.eventbrite.com/o/chicago-js-12345",
"description": "Monthly gathering for JS developers ...",
"scraped_at": "2026-06-06T12:00:00Z"
}
▶ Try the Eventbrite Scraper on Apify — public event search by city, category, or keyword, with organizers and pricing. The discovery the API no longer gives you. No auth required.
Use cases
- Event-based lead generation — find organizers and recurring public events in a niche and city for outreach.
- Competitive event tracking — monitor who’s running events in your space and how they’re priced.
- Local listings and aggregators — feed “events near you” from structured, deduplicated data.
- Sponsorship and venue targeting — surface high-frequency or paid events worth sponsoring.
- Market research — measure event volume and pricing in a category over time.
Build it yourself vs. a managed actor
DIY is feasible because JSON-LD does the heavy lifting. The work is in coverage: discovery pagination, online vs. in-person shapes, free vs. tiered pricing, series events, and the day Eventbrite tweaks its hydration or discovery URL scheme. Budget a couple of days for a solid crawler plus light ongoing maintenance.
A managed actor owns the crawl shape and JSON-LD parsing and returns clean rows. One-off research, build it; a recurring discovery feed or lead pipeline, the managed actor is the lower-maintenance Eventbrite API alternative.
Common pitfalls
- Timezones — capture the event timezone and store offset-aware ISO timestamps, or “this week” filters break across regions.
- Online events lack a venue — branch your parser; don’t assume a venue object.
- Free vs. paid — a free flag and a price field are different signals; capture both rather than inferring.
- Series / recurring events — multiple dates can share an organizer and title; key on
event_id. - Sold-out and cancelled still render — capture status so dead events don’t pollute “upcoming.”
Wrapping up
Eventbrite removed public event search from its API in late 2019, leaving only org-scoped access to your own events. The working Eventbrite API alternative in 2026 is the public discovery and search pages, whose JSON-LD gives you clean, schema.org-typed event data you can crawl deterministically by city and category. It’s a forgiving surface, and a managed scraper turns it into ready-to-use rows if you’d rather not maintain the crawler.
▶ Open the Eventbrite Scraper on Apify — the public event search Eventbrite took out of its API, returned as structured data. Pay per result.
Related guides
How to Bulk-Verify Email Deliverability in 2026
A practical guide to validating email lists at scale — syntax, MX/DNS, disposable, role and typo checks — to cut bounce rate and protect sender reputation before outreach.
How to Find Shopify Merchant Leads and Contacts in 2026
A practical guide to extracting B2B leads from Shopify stores — emails, phone numbers, social profiles and store metadata — via direct JSON endpoints with no browser.
How to Find TikTok Influencers and Their Emails by Niche
Turn a niche keyword into a clean list of TikTok influencers with follower stats, bio links and contact emails — no login, no cookies, no account ban risk.