Mineget

libraryjs

Node package for aggregating data about Minecraft resources from various marketplaces

mineget

npm Discord

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, 'songoda': 758
}).then(result => {
    console.log(JSON.stringify(result));
});

This example will return a json object with following:

{
  "status": "success",
  "endpoints": {
    "spigot": {
      "downloads": 180
    },
    "songoda": {
      "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
songoda Songoda Marketplace
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.