mineget
mineget
is a node.js wrapper for a number of Minecraft marketplace APIs to easily fetch aggregated resource statistics.
Queries are cached for 10 minutes to prevent excessive API calls.
Usage
Example querying total downloads across multiple marketplaces.
const mineget = require('mineget');
// Getting the total downloads of a resource
// Methods accept an object containing mappings of marketplace IDs
mineget.downloads({'spigot': 97144, 'polymart': 1634, 'craftaro': 758
}).then(result => {
console.log(JSON.stringify(result));
});
This example will return a json object with following:
{
"status": "success",
"endpoints": {
"spigot": {
"downloads": 180
},
"craftaro": {
"downloads": 2
},
"polymart": {
"downloads": 8
}
},
"total_downloads": 190
}
Methods
#downloads(ids)
- Get the total downloads of a resource across multiple marketplaces.#rating(ids)
- Get the average rating and number of ratings of a resource across multiple marketplaces.#latest_version(ids)
- Get the latest version name and published timestamp of a resource across multiple marketplaces.#name(ids)
- Get the name of a resource as it is listed on different marketplaces.
Supported Marketplaces
You can query the following marketplaces with this module. Note that not all marketplaces support returning data for every query.
id | url | name | downloads | latest_version | rating | price |
---|---|---|---|---|---|---|
spigot | Spigot † | ✅ | ✅ | ✅ | ✅ | ✅ |
polymart | Polymart | ✅ | ✅ | ✅ | ✅ | ✅ |
craftaro | Craftaro | ✅ | ❌ | ❌ | ❌ | ✅ |
modrinth | Modrinth ‡ | ✅ | ✅ | ❌ | ❌ | ❌ |
If you'd like to add support for more marketplaces and additional marketplace API mappings, you can do so by submitting a pull request editing the marketplaces.json
.
† Queries are handled via Spiget.
‡ Modrinth IDs are alphanumeric, as opposed to spigot/polymart/songoda which have integer IDs.
License
mineget
is licensed under Apache-2.0.