Using Python and AWS to secure tickets to Printworks' closing weekend events
- Finn Andersen
- Apr 28, 2023
- 2 min read

While in London I intended to go to an event at the iconic Printworks venue, which is known for hosting electronic music raves. However, half way through my time here I discovered that the venue will be closing down for good, with a final weekend of shows at the end of April. What's more, tickets for these events had already gone on sale a week ago and were already sold out!
I was desperate to experience a gig at the venue after seeing many videos of some of my favourite acts playing there, and especially keen for the Saturday night event which hosted a bunch of artists I knew. I investigated the ticket resale situation and it seemed like the only official platform was kaboodle.co.uk. However, the site didn't have any kind of waitlist or notification service for resale tickets, and I knew that due to the popularity of the events there would be no way of lucking out and finding an available ticket by occasionally refreshing the page to check.
I did some searching and came across this repository which consisted of a script for polling the Kaboodle ticket availability API and using Twilio to send an SMS message if any are found.
I made some tweaks for my own purposes (see my fork here) and it seemed to work. Now the only problem was getting it to run automatically on a schedule...
Luckily I had just completed the AWS Cloud Practitioner training & certification, so I knew that an AWS Lambda function running on an EventBridge schedule would do the trick. Lambda is a serverless compute service which is ideal for running simple quick scripts such as this. The free tier includes up to 1 million requests per month, so it won't even cost me anything!
I got it up and running quite easily (main hurdle was bundling the Python dependency packages with the script), and now I could monitor and manage the execution of my script from anywhere with my phone. I could've also probably avoided using Twilio for SMS notifications by taking advantage of AWS SNS or SES to send an email instead.
It wasn't long before I started to get some notifications for ticket availability! Here's what they looked like:

However I quickly discovered that I wasn't the only one using technology to game the system and get ahead of the masses - every time I got notified that some tickets were available, by the time I opened the page within 30 seconds, they were already in someone else's basket. Thankfully on the Thursday morning before the fateful weekend, I got alerted that a big batch of 248 tickets had been released, and managed to secure some. All the tickets were gone within 7 minutes, so I definitely would have missed out if it wasn't for my sneaky helper!
Finally my hard work had paid off and I now had a big night of sweet melodic techno to look forward to 🎉🕺🎶
Comments