Sign in
Documentation / API reference

Markets, items and freshness

Choose a market, preserve item variants, and distinguish snapshots from live prices.

Market IDs

Each ruleset/faction pair has its own prices and history. The strip supplies faction; your external client supplies the ruleset.

forever.normal.alliance.usforever.normal.horde.usforever.pvp.alliance.usforever.pvp.horde.usforever.rp.alliance.usforever.rp.horde.us

All HTTP timestamps are Unix milliseconds. Prices are integer copper: 100 copper = 1 silver; 10,000 copper = 1 gold.

Item keys

Plain items use their numeric item ID. Suffix variants and pet species use distinct safe-integer keys, up to 2⁵³ − 1. Keep keys as 64-bit integers (Rust) or safe integers (JavaScript), never 32-bit integers.

Key encoding
key = itemID + 2147483648 × v
v = 0                              # plain item
v = 2 × suffixID                   # positive suffix
v = 2 × abs(suffixID) − 1           # negative suffix
v = 65536 + speciesID              # caged battle pet

On Forever, suffix IDs are the name-description IDs encoded in item bonuses. A pet key uses its species ID, not its creature ID. Reuse the key helpers and verified link parser; do not flatten variants into the base item. Item ID zero and variant value 65536 are invalid.

Snapshot and live reads

Public snapshot reads show the hourly published view, with seven days of history. Features such as prices.live, depth, books and candle resolution control additional views. Consult GET /api/v1/me instead of assuming a role grants every feature.

The live table accepts ?since=<milliseconds> for rows changed on the server since that point. A late observation may have an older row time; do not use its observation timestamp as a server-change cursor. For a durable stream, use CDN sequences and checkpoints.

Use live in responses and each row’s observation time to show freshness. null quantity means unknown; it never means zero. Overall quantity listed is public, while volume estimates and order-book depth require their features.

Versioned contracts and runnable examples live with the source specification →.