etrade also has a free API if you have an account: https://us.etrade.com/ctnt/dev-portal
Ditto for TDAmeritrade but their forums are not very active. http://apiforums.tdameritrade.com/
For stocks (not options), they took it to the next level, and you can stream price/volume data in psuedo realtime. I think you can also pull EOD data on stocks (not options) going back pretty far.