Jun 01, 2016
Hackathon ticket sniper
by Ryan Welch · 2 Min Read
Disclaimer
I do not condone the use of bots for obtaining tickets - especially for the purpose of resale. This project however was just a fun proof-of-concept to automate refreshing Eventbrite for my friends.
The year is 2016 and my friends and I are trying to get tickets to go to a hackathon - HackKings. The time is 10:58am. There’s eight of us, so we coordinate to all try to get tickets as soon as they go up on Eventbrite. The tickets are free but the event is popular. It’s now 10:59am, seconds away. We are sitting in class half-listening to the lecturer whilst refreshing the eventbrite page. The clock on my laptop updates to 11:00am - panic. Refreshing, I see the tickets are now available, I click the eventbrite button and hurridly start filling in my info.
I managed to get a ticket however some friends were not so lucky. Only minutes after the event released the first batch of tickets they are sold out. We don’t want to have to leave some friends behind as that would kill some of the excitement we had for the hackathon. We had one more shot. There would be another batch of tickets released in a week. So, I came up with a plan… How hard could it be to automate this?

I built a simple ticket sniper - well not quite. I noticed two things in the last attempt, reloading is low and the tickets are released slightly before the actual time. So my solution is an API that polls the Eventbrite page using some of the undocumented JSON APIs I found in their frontend, and once the tickets are available it notifies all the clients connected to the ticket sniper to go to the Eventbrite ticket page. The user must then fill out their details to claim the ticket.
It is very primitive compared to modern day (2025) ticket bots which can do the whole flow automated including solving captchas, checkout flows, etc. However, for the purpose of getting my friends a ticket in the hackathon - it worked. We managed to get plenty of tickets in the last batch.
Last edited Mar 15