I was wondering if algo trading programs use live stock data. If so, where do they get that information?
Algorithmic trading doesn't necessarily require live feeds. It is a very generic term describing trading based on the decisions made by a machine and not a person.
One very prominent type of algo-trading is "high frequency trading". For HFT to be effective, not only do you need live feeds (which are provided by the exchanges electronically), you need them before others get them. That's why HFT traders put their machines as close as possible (physically) to the exchange data centers, sometimes even renting racks at the same datacenters from the exchanges themselves.
Yes, Interactive Brokers is a good source for live data feeds and they have an API which is used to programmatically access the feeds, you will have to pay for data feeds from the individual data sources though.
The stock exchanges have a very high price for their data and this has stifled innovation in the financial sector for several decades in the united states. But at the same time, it has inflated the value and mystique of "quants" doing simple algorithms "that execute within milliseconds" for banks and funds.
Also RIZM has live feeds, it is a younger service than other exchanges but helps people tap into any online broker's feeds and let you trade your custom algorithms that way, that is their goal.