Kaboodle ticket resale watcher
- You have poetry installed
- You have run:
$ poetry install- Twilio free trial account which you'll get from the dashboard:
- Twilio Account SID
- Twilio Auth Token
- Twilio Number
- Your mobile number (with extension code i.e
+44for UK) - Kaboodle event info
- Package ID (example - grab
18381fromhttps://bookings.kaboodle.co.uk/book/18381/ticket) - Kaboodle Cookie, you can grab this by visiting the Kaboodle booking page of interest,
go to the Developer Tools of your browser of choice, visit the network tab,
reload the page & navigate to the request being made by your browser to
https://bookings.kaboodle.co.uk/api/4.0/package/ticketavailability. Find theCookierequest header & copy the entire value (it might contain something likekabFLOW). - [Optional] Ticket IDs - use the previous point but visit
Responsetab and expand the JSON to find the available ticket IDs for this package
$ cp .env.example .env
# fill in the .env file with your details
$ source .env
$ poetry run scan_for_tickets --package-id {PACKAGE_ID} --desire-all --interval 180$ poetry run scan_for_tickets \
--package-id {PACKAGE_ID} --desire-all \
--twilio-sid {YOUR_SID} --twilio-token {YOUR_TOKEN} \
--twilio-number {YOUR_TWILIO_NUMBER} --my-number {MY_NUMBER} \
--kaboodle-cookie {COOKIE_STRING} \
--interval 180 \$ source .env
$ poetry run scan_for_tickets \
--package-id {PACKAGE_ID} -w {TICKET_ID} -w {TICKET_ID} \
--interval 180 \Symptom: RuntimeError: Kaboodle responded with {'errors': [{'code': 404, 'message': 'Missing client_id from session'}]}
Cause: Kaboodle session detailed by --kaboodle-cookie was server-side invalidated. The specified --interval might be too long, the script was cancelled & restarted or the server forcefully invalidated the session.
Solution: Revisit webpage & re-grab a refresh Cookie.
Kaboodle is a service that sells tickets to events, mainly electronic music at Printworks in London. For some events where the tickets have sold out, a "Resale queue" is made active. If one would like to attend a sold out event with the resale queue active, they would need to keep entering the Resale queue link and hoping some tickets were made available since there is no notification option.
Twilio is an API platform company which provides a tool to programmatically send text messages. One can sign up for a free trial which provides £15 free credit.
kabuto is a python script that checks the resale queue - at an imperfectly defined interval - for available tickets to a particular event and sends a text message when at least 1 ticket becomes available.
- one must manually find the event ID for the event of interest, and amend the script accordingly.
- one must manually create a Twilio account, and also have a mobile number. The relevant details must then be set as Environment Variables for the script to pick up.
- one must manually obtain the Stripe cookie after selecting the resale link and assign it to the relevant Environment Variable.
- the defined interval doesn't take into account the time it takes to run the script. This isn't very Pythonic but I don't care.
- text messages will keep being sent for as long as tickets are available, potentially wasting Twilio credit.
- get the right cookie and assign it to the relevant Environment Variable, automatically.