The public API gives other sites and apps read-only access to the AwesomeProg database: looking up artists and releases, a release's tracklist, and the upcoming releases. It answers JSON, needs no account and no key, and reads exactly what the site itself shows.
Every endpoint lives under
https://srv.progfreak.com/api/public/v1Searching for an artist, then reading its releases:
curl -A "YourSiteBot/1.0 (+https://your.site)" "https://srv.progfreak.com/api/public/v1/artists?query=anglagard"
curl -A "YourSiteBot/1.0 (+https://your.site)" "https://srv.progfreak.com/api/public/v1/artists/17/releases"The next fifty prog releases, soonest first:
curl -A "YourSiteBot/1.0 (+https://your.site)" "https://srv.progfreak.com/api/public/v1/upcoming-releases?prog=prog&limit=50&offset=0"The whole API is also described as an OpenAPI document, which most languages can generate a client from.
User-Agent that names your site, such as YourSiteBot/1.0 (+https://your.site). Tell us what it is and we will know the requests are yours.https://www.your.site.url.404 for an id nothing has, 400 for a parameter out of range.Version 1 only grows. We may add endpoints, optional parameters, fields and values, so a client should ignore fields it does not know and read an unknown release type as other. We will not remove or rename anything, change a field's type or meaning, make a field that is always there optional, or make a parameter required. A change like that would come as a version 2, next to version 1 rather than in place of it. Every field is always sent, with null where there is no value.
Drawn from the OpenAPI document as the API serves it right now.
Loading the reference…