I pulled the data for the graph from an exchange - it's just a bit of a pain because the free APIs rate limit you and if you're looking for really detailed or really specific data it kinda sucks
But you're right, it's all out there and I could probably get 90% of what I want using free APIs