Skip to content
DonutStatsAPI
Sign up
Items and prices

List items

Every product on the market with its price, change and a 30 day sparkline.

GET/v1/items

Lists every product with at least one open listing or buy order. Each entry carries its current Price, its change over 1 and 7 days and spark, the last 30 daily prices, so you can draw a full price table from one request.

Authentication

API key with the read scope

Cached for

1 min

Data updates

Prices are recomputed every 5 minutes.

Query parameters

  • qstringoptional

    Search by product name or item id.

    1 to 64 characters
  • itemstringoptional

    Exact item id. Returns every variant of it.

  • categorystringoptional

    Only this category.

    combattoolsvaluablesdropsfoodpotionsblocksmisc
  • sortstringoptionaldefault listings

    listings: most listed first. price: most expensive first. demand: most items wanted by orders first. orders: most order money first. name: A to Z.

    listingspricedemandordersname
  • pageintegeroptionaldefault 1

    Page to return, starting at 1.

    1 to 100,000
  • limitintegeroptionaldefault 50

    Entries per page.

    1 to 200

Response

A page of items.

  • pageinteger

    The page you asked for, starting at 1.

  • limitinteger

    Entries per page.

  • totalinteger

    Entries across every page that match your filters.

  • updatedAttimestamp | null

    When the underlying data last changed. null where it does not apply.

  • entriesItem[]

    The entries on this page.

    Show10 child fields
    • keystring

      Unique product key: the item id, plus the variant in square brackets when there is one. Examples: diamond, elytra[mending,unbreaking:3], potion[poison]. Use it with product= filters and /v1/items/{key}.

    • itemstring

      Minecraft item id without the minecraft: namespace, for example netherite_sword. Many products can share one item id.

    • namestring

      Display name, for example Potion of Poison.

    • variantstring

      What sets this product apart from the plain item. Empty for plain items. See variants for the rules.

    • categorystring | null

      One of combat, tools, valuables, drops, food, potions, blocks or misc.

    • Structured extras such as enchantments, shulker box contents or a custom name.

      Show5 child fields
      • enchantmentsEnchantment[]

        Enchantments on the item itself, sorted by id. Left out when there are none.

        Show2 child fields
        • idstring

          Enchantment id without the minecraft: namespace, for example sharpness.

        • levelinteger

          Enchantment level, starting at 1.

      • storedEnchantmentsEnchantment[]

        Enchantments stored in an enchanted book. Left out for every other item.

        Show2 child fields
        • idstring

          Enchantment id without the minecraft: namespace, for example sharpness.

        • levelinteger

          Enchantment level, starting at 1.

      • contentsContainerEntry[]

        What a shulker box holds, one entry per item id with counts added together, largest first.

        Show2 child fields
        • itemstring

          Item id, for example netherite_sword.

        • countinteger

          Total number of that item in the box.

      • customNamestring

        The name shown in game when it differs from the default item name. DonutSMP renames some items, for example Dried Ghast on a skeleton skull.

      • flightDurationinteger

        Flight duration of a firework rocket, from 1 to 3.

    • Current market figures.

      Show10 child fields
      • pricenumber | null

        Market price per item: the median unit price of the 5 cheapest open listings. null when nothing is listed.

      • lownumber | null

        Cheapest open listing, per item.

      • mediannumber | null

        Median unit price across every open listing of the product.

      • bidnumber | null

        Best open buy order, per item. Lowball orders under 25% of the market price are ignored unless they have already been filled for at least 1%.

      • listingsinteger

        Number of open auction listings.

      • quantityinteger

        Items for sale across those listings.

      • ordersinteger

        Number of open buy orders counted towards bid.

      • demandinteger

        Items those buy orders still want.

      • orderValuenumber

        Money those buy orders would still pay out: the sum of price times remaining amount.

      • updatedAttimestamp

        When these figures were computed.

    • change1dnumber | null

      Price change since yesterday as a fraction: 0.05 is 5% up.

    • change7dnumber | null

      Price change over 7 days as a fraction.

    • sparknumber[]

      Daily market prices for the last 30 days, oldest first. Only in lists.