Another potential price source:
Not free, but if you're a customer, this has quite a nice and simple REST API.
You can get quotes, but also positions and options chains and more.
I wrote a simple wrapper for it (separate project):
https://bitbucket.org/blais/ameritrade/