Donut API logo
Unofficial. Early access soon.

DonutSMP won't give us an API. So we took the job.

Our bots sit in DonutSMP and read the auction house and the buy orders every five minutes. You get the result as JSON over plain HTTP.

Donut API is an independent project. It is not official and not affiliated with DonutSMP. The API is not open to the public yet.

GET /v1/ah?item=diamond&limit=2
{
  "snapshot": { "at": "2026-11-11T09:40:00Z", "pages": 120, "complete": true },
  "offers": [
    { "item": "diamond", "name": "Diamond", "count": 64,
      "price": 58000, "unit_price": 906.25 },
    { "item": "diamond", "name": "Diamond", "count": 16,
      "price": 15000, "unit_price": 937.5 }
  ]
}
Example data. Field names are documented in the docs.
Live market

What the market looks like

Real data from our latest auction house snapshot. The baltop arrives with the player balance route.

Baltop

Coming soon

The richest players on the server, ranked by balance. It needs the player balance route, which is not built yet.

Price history

How prices moved

Median price per item from real auction house sales, a snapshot of the data the history route is built on. Four items for now.

Loading.

Why it exists

What you get

Nobody has to log in and flip through auction pages by hand anymore.

01

Fresh data

Every five minutes our bots read the whole auction house and the orders. Each response says when its snapshot was taken and whether every page was read.

02

History

We keep every snapshot. Ask for an item's price and listing count over the last few hours and plot it yourself.

03

Dead simple

GET requests, JSON back, Minecraft item ids like diamond and netherite_ingot. Works from any language without an SDK.

How it works

How it works

We do the collecting. You only talk to a cached HTTP API.

  1. We collectBots read the auction house and orders every five minutes and store each snapshot.
  2. We serveA cached API sits in front, with an API key and a monthly quota per plan.
  3. You buildPrice trackers, flipping tools, Discord bots, dashboards: whatever you want, fed by a GET.
StatusThe backend is running. The public API is not open yet, and the prices on the pricing page are still provisional.