AcousticBrainz is a database of algorithmically derived music metadata, including BPM, Key, moods, and genres. The database is keyed by acoustIDs, and you can find the acoustIDs for a particular track by searching for it on MusicBrainz.org.
Most attributes have uncertainties associated with them, and it's worth noting that the algorithms involved are not fool proof. For example, the above track is tagged Voice (92%), even though it does not have vocals (it has lots of weird synthesised noises that sound similar to vocals though). It is also tagged Jazz (100%), and though it does share many attributes with jazz, I doubt many people would actually classify it as jazz. Also, it's listed as 100% not danceable, which I can personally attest is not true :P
The data shown on that page is only a subset of what is available through the API.
All data is public domain (and if a song doesn't exist, you can easily submit it yourself with scripts listed on the contributing page), and is accessible via JSON, via their API (no API key required).
You can download the entire database at https://acousticbrainz.org/download, but it's 2.5Gb for just the high-level data, 34Gb for the full dataset (there are multiple fingerprints for each song).