Skip to content
DonutStatsAPI
Sign up
Flips

List flips

Buy on the auction house, deliver to buy orders, keep the difference.

GET/v1/flips

Finds trades that pay right now. A direct flip buys listings that are cheaper than what buy orders pay for the same product. A craft flip buys ingredients, crafts them and delivers the result. For each product only the most profitable recipe is shown.

Every flip is simulated against the real order book: it buys the cheapest listings first and delivers to the best orders first, stopping when the next trade would lose money. Lowball orders are never used, and flips with a margin under 3% are left out.

Authentication

API key with the read scope

Cached for

30 s

Data updates

Recomputed at most every 30 seconds while the market changes.

Query parameters

  • kindstringoptional

    Only this kind. Leave it out for both.

    directcraft
  • qstringoptional

    Matches the product name, the item id or any ingredient's item id.

    1 to 64 characters
  • sortstringoptionaldefault profit

    profit: most money first. margin: best return on cost first. quantity: most items first.

    profitmarginquantity
  • minProfitnumberoptionaldefault 10000

    Leave out flips that make less than this.

    0 to 10^15
  • pageintegeroptionaldefault 1

    Page to return, starting at 1.

    1 to 100,000
  • limitintegeroptionaldefault 50

    Entries per page.

    1 to 100

Response

A page of flips plus totals across every match.

  • 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.

  • totalsobject

    Across every matching flip, not only this page.

    Show3 child fields
    • directinteger

      Direct flips.

    • craftinteger

      Craft flips.

    • profitnumber

      Total profit.

  • entriesFlip[]

    Flips on this page.

    Show15 child fields
    • kindstring

      direct: buy listings and deliver them to buy orders as they are. craft: buy ingredients, craft, then deliver.

    • productProduct

      What you end up delivering.

      Show6 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.

        • storedEnchantmentsEnchantment[]

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

        • contentsContainerEntry[]

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

        • 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.

    • makesinteger

      Items one craft makes. 1 for direct flips.

    • ingredientsobject[]

      What you buy for one craft.

      Show3 child fields
      • productProduct

        The ingredient.

        Show6 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.

      • countinteger

        How many one craft needs.

      • unitCostnumber

        Average price paid per ingredient across the listings used.

    • craftsinteger

      How many times to repeat the flip.

    • quantityinteger

      Items delivered in total.

    • costnumber

      Money spent buying listings.

    • revenuenumber

      Money the buy orders pay out.

    • profitnumber

      revenue minus cost.

    • marginnumber

      profit divided by cost. Flips under 0.03 are left out.

    • listingsUsedinteger

      Listings bought from.

    • ordersUsedinteger

      Buy orders delivered to.

    • topOrdernumber

      The best buy order used, per item.

    • marketPricenumber | null

      Market price of the delivered product.

    • orderSeenAttimestamp | null

      When the best order was last confirmed open.