API reference

NoteThe public API is not open yet. Examples use a placeholder base URL and illustrative data. Wrapper key names in the sample responses may change before launch.

Building with an AI agent?

Copy a prompt that describes every route, its parameters and its response format, ready to paste into Claude Code, Cursor or ChatGPT.

Open in Claude Open in ChatGPT llms.txt

Overview

All routes are read only GET requests that return JSON. Data comes from bots in the game that read the auction house and the buy orders every five minutes.

In the examples, {BASE_URL} stands for the address of the API, which will be published at launch. Items are identified by their Minecraft ids, such as diamond or netherite_ingot. API keys and plan quotas are described on the pricing page; how to send a key will be documented at launch.

Status

GET/v1/status

Tells you when the latest auction house and orders snapshots were taken, and how large they were. Use it to check that the data is fresh.

curl request
curl "{BASE_URL}/v1/status"
Response (illustrative)
200 OK application/json
{
  "ah":     { "at": "2026-11-11T09:40:00Z", "size": 18432 },
  "orders": { "at": "2026-11-11T09:40:00Z", "size": 2210 }
}

Auction house offers

GET/v1/ah?item=<id>&limit=<n>

Offers from the latest auction house snapshot. The snapshot object says when it was taken, how many pages were read, and whether the read was complete.

ParameterDescription
itemMinecraft item id, for example diamond. Filters the offers.
limitMaximum number of offers to return.
FieldDescription
itemItem id.
nameDisplay name of the item.
countNumber of items in the offer.
priceTotal price of the offer.
unit_pricePrice per single item.
snapshot.atWhen the snapshot was taken, as Unix time in milliseconds.
snapshot.pagesNumber of pages read.
snapshot.completeWhether every page was read.
curl request
curl "{BASE_URL}/v1/ah?item=diamond&limit=2"
Response (illustrative)
200 OK application/json
{
  "snapshot": { "at": 1794383619041, "pages": 80, "complete": false },
  "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 }
  ]
}

Auction house items

GET/v1/ah/items

One summary line per item in the latest snapshot: how many listings it has, the lowest unit price, and the total number of items on sale.

curl request
curl "{BASE_URL}/v1/ah/items"
Response (real data, trimmed to two items)
200 OK application/json
{
  "snapshot": { "at": 1794383619041, "pages": 80, "complete": false },
  "items": [
    { "item": "ender_chest", "listings": 201,
      "lowest_unit_price": 18500, "total_count": 201 },
    { "item": "written_book", "listings": 106,
      "lowest_unit_price": 1000, "total_count": 106 }
  ]
}

Buy orders

GET/v1/orders?item=<id>&limit=<n>

Open buy orders from the latest orders snapshot.

FieldDescription
itemItem id.
nameDisplay name of the item.
price_eachPrice offered per item.
deliveredHow many items were already delivered.
wantedHow many items the order asks for.
curl request
curl "{BASE_URL}/v1/orders?item=diamond&limit=2"
Response (illustrative)
200 OK application/json
{
  "orders": [
    { "item": "diamond", "name": "Diamond",
      "price_each": 870, "delivered": 128, "wanted": 512 },
    { "item": "diamond", "name": "Diamond",
      "price_each": 850, "delivered": 0, "wanted": 64 }
  ]
}

History

GET/v1/history?item=<id>&type=ah|orders&hours=<n>

Points from past snapshots for one item, ready to chart. Each point has the time of the snapshot, the price and the number of listings.

ParameterDescription
itemMinecraft item id.
typeah for the auction house or orders for buy orders.
hoursHow many hours back to look.
curl request
curl "{BASE_URL}/v1/history?item=diamond&type=ah&hours=24"
Response (illustrative)
200 OK application/json
{
  "points": [
    { "at": 1794383019041, "price": 892.0, "listings": 40 },
    { "at": 1794383319041, "price": 890.5, "listings": 41 },
    { "at": 1794383619041, "price": 890.5, "listings": 41 }
  ]
}

Money leaderboard Beta

GET/v1/leaderboard/money?limit=<n>

The richest players on the server, ranked by balance. Amounts are rounded the way the in-game menu shows them. This route is in beta: its data is not reliable yet.

FieldDescription
rankPosition in the leaderboard, starting at 1.
playerPlayer name.
moneyBalance, rounded as in the game.
snapshot.atWhen the snapshot was taken, as Unix time in milliseconds.
curl request
curl "{BASE_URL}/v1/leaderboard/money?limit=10"
Response (placeholder player name)
200 OK application/json
{
  "snapshot": { "at": 1794383619041 },
  "players": [
    { "rank": 1, "player": "PlayerName", "money": 5900000000000 }
  ]
}

Coming soon

Two groups of routes are planned but not built yet: statistics for a given player and the balance of a given player. Their format is not decided, so nothing is documented here. They will appear on this page when they exist.