As mentioned above. London provides this data, which is great. But me (and the majority of people in the UK) don't live in London. This data is held by Traveline who do not make their data publicly available. As to the ethics, I do not know. I'm not commercialising this as a product, I do not intend to make money from it. As for them being 'unsuspecting'. We live in a age where data is free. They should open up their data or scraping is inevitable.
TFL is London only though. It will only provide information for a small part of the UK. Is there an API which provides live data for all of the UK in one?
Not AFAIK. I've attempted to get data out of Brighton & Hove buses before. But again, they represent a tiny minority of the UK population. Traveline's data is the closest I've come to blanket coverage.