The database is now powered by a read-only solr API, which you are also invited to use, at https://www.quaddicted.com/api/v1/
It is not optimized yet and will probably go through at least some changes over the time. Your input is highly appreciated if anything is weird, suboptimal, unreliable etc. Currently it is probably full of mistakes and bugs ![]()
If you have great ideas for specific tools but this API does not cut it, letās collaborate?
Usage
Any tools, engines, etc. that used the old Quake Injector XML file or the recent api.quaddicted.com endpoint should switch to this API. The old endpoints will receive no updates and will most likely disappear at some point in the future (unless someone volunteers to maintain them).
Any third-party thing build on this must credit Quaddicted prominently so that there can be zero confusion for users on the provenience of the data. If this is an issue for you, just ask and weāll find a solution! Just donāt be a grifting leecher.
Technical information
Some parameters to tune the response are passed straight to solr:
-
q: The query. Make sure you URL encode the payload. I think there are still some bugs around encoding, so if you get stuck, get into contact sooner than later! -
fl: A comma-separated list of fields to return, e.g.fl=sha256,tags,install. This allows to ignore the huge amount of data transferred whenfilesis included. By defaultsha256,tags,urls,notes,bytes,description,install,filesare returned. Please try to restrict this to just the fields you need. -
rows: The number of rows to fetch, e.g.rows=100. By default all rows are returned. -
start: The start index of the first row to return, e.g.start=234. By default it starts at0. Can be combined withrowsto get pagination. -
sort: The field and order to sort by, e.g.sort=sha256+ASCorsort=release_date_dt+DESC. By default results are sorted by release date, newest first.
You can combine + (currently needs to be encoded as %2Bā¦) and -:
https://www.quaddicted.com/api/v1/?q=+tags:"theme=base" +tags:"theme=water" -tags:"type=mod" +tags:"map_size=large"- respectively:
https://www.quaddicted.com/api/v1/?q=%2Btags:"theme=base"%20%2Btags:"theme=water"%20-tags:"type=mod"%20%2Btags:"map_size=large"
Some fields from the tags are promoted to ātop-levelā keys, so you can search e.g. for authors like this:
- https://www.quaddicted.com/api/v1/?q=+authors:tronyn (lowercase -> no results)
- https://www.quaddicted.com/api/v1/?q=+authors:Tronyn (many but not all his releases, only where he was named as "Tronyn")
- Double quotes ā verbatim:
https://www.quaddicted.com/api/v1/?q=+authors:"Dustin \"Tronyn\" Geeraert"- respectively:
https://www.quaddicted.com/api/v1/?q=+authors:%22Dustin%20%5C%22Tronyn%5C%22%20Geeraert%22
- https://www.quaddicted.com/api/v1/?q=+authors_txt:tronyn (
_txt= case-insensitive)
Another promoted tag is the release date:
release_dateis asolr.DateRangeFieldfield that is not returned but can be used for querying.release_date_dtis asolr.DatePointFieldfield that is not returned but can be used for querying and sorting.
With that you can do stuff like:
https://www.quaddicted.com/api/v1/?q=-authors:Exhelzar +authors:Shotro +bytes:[100000000 TO *] +release_date:[2018 TO 2018-12]- respectively:
https://www.quaddicted.com/api/v1/?q=-authors:Exhelzar%20%2Bauthors:Shotro%20%2Bbytes:[100000000%20TO%20*]%20%2Brelease_date:[2018%20TO%202018-12]
To get everything:
But you should probably filter to +game=quake, +game_mode=singleplayer at least, unless you want surprises in the future.
I have to document the fields which are available for querying in solr but not returned in the response some time later.
There is no indicator on the total number of available results yet, so pagination is guesswork. Suggestions how to integrate that into the JSON are welcome!
Massive thanks to @JohnNy_cz and @rj for some great collaboration around this in the past weeks.
If you find any security issues with this, mail me and you will get a sweet reward.