I was contacted by Southwest and asked to stop scraping fares. Given legal concerns, the web app has been taken down. This request came soon after a post from a travel deal site. The influx of users after the post was exciting but short lived.
I’ve created my first full web app called Dragon Fare Scanner to automate searching for Southwest Airlines flight prices. Southwest does not share their prices publicly with sites like Kayak and Expedia, so there are not many tools out there to track the price of Southwest flights. I hope others can use this app to save some money on their Southwest flights.
The app’s main functionality is in the fare scanner. You can enter your flight info and receive emails if the price goes down. Southwest is great because they let you re-book your flight at the lower price and get money/points back for the difference. There are detailed instructions here for obtaining a refund: Refund Instructions
I thought about using Rapid Rewards account information to access users booked flights, but I decided that brought up too many security issues for the users. Instead you have to enter your flights manually in the simple form shown below:
After adding your booked flights, you will receive an email if the price goes below what you paid for the flight. Additionally, there is a graphical display of the price history of your flights:
Another way to use this app is to input flights that you are considering buying but are too expensive. You set the cost of your flight to the price you are willing to pay and you will receive an email if that flight’s price drops to your desired cost and/or you can monitor the price history on the website.
The app is built with a variety of tools, most of them I had no prior experience which made the development process very rewarding.
On the back-end, I have Python scripts running Scrapy to scrape the fares off Southwest’s website. The fares are stored in an Amazon Web Services (AWS) database called DynamoDB . I also used AWS to run an EC2 Instance, which is where I host the web app and run my Python scripts. The nice things about these AWS tools is that I can use them for free under a certain usage. If that app gets a large user base and I need more resources that allowed under the AWS free tier, it is very simple to scale and request more resources at a reasonable cost.
I am planning to add automatic check-in to this app. Current Southwest policy allows you to check-in 24 hours in advance and your position during boarding is determined by who checks-in first. Boarding position is very important because Southwest has an open seating policy.
At any time, Southwest may change the format with which they publish their flight prices on their website. This could result in the web app breaking and a required maintenance period.