Albion Online Market and Economy Data
Live, crowd-sourced Albion Online market prices across every Royal city — current prices, 7-day averages, cross-city arbitrage, and economy snapshots from a single REST API.
Query real Albion Online order-book data sourced from the community-run Albion Online Data Project. Look up any item by its Albion item ID (like T4_BAG) or a common name, compare prices across Caerleon, Bridgewatch, Fort Sterling, Lymhurst, Martlock, and Thetford, and spot buy-low/sell-high arbitrage opportunities. Every response is cleaned: bogus placeholder cities and sentinel prices are stripped so you only see real numbers.
Endpoints
Set game=albion on every call. Item lookups accept an Albion item ID (T4_BAG, T5_SWORD) or a plain name that the API normalizes to a likely item ID.
| Endpoint | What it returns |
|---|---|
GET /market/price?game=albion&item={item}®ion={city} |
Single-city snapshot: currentPrice, avgPrice7d, minPrice, maxPrice, buyOrderPrice, buySellSpread, lastUpdated, plus item, itemId, and city. region defaults to Caerleon. |
GET /market/cross-region?game=albion&item={item} |
Prices across all six major cities in cityPrices (each with sellPriceMin, sellPriceMax, buyPriceMin, buyPriceMax, lastUpdated), plus cheapestBuy, highestSell, and arbitrageMargin (percent). |
GET /market/arbitrage?game=albion&item={item} |
Cross-city arbitrage view: type: "cross_city_arbitrage", cheapestBuy, highestSell, arbitrageMarginPct, full cityPrices, and a recommendation (arbitrage_opportunity when margin > 10%, else low_margin). |
GET /market/demand?game=albion&item={item} |
A demandScore (0–100) and demandTier (low/medium/high) derived from the price spread, plus a signals object containing only the metrics Albion actually supplies (currentPrice, buySellSpread). |
GET /market/economy?game=albion |
Economy snapshot for Caerleon: a topTraded array of high-volume items (each with itemId, city, sellPrice, buyPrice) and a fetchedAt timestamp. |
GET /games |
Lists all supported games and live status, including Albion's data source. |
GET /health |
Service health and cache status. |
Why this API
- Real crowd-sourced data, cleaned for you. Backed by the Albion Online Data Project's public market feed — no scraping, no game client required. Albion's raw feed uses
0(no buy order) and999999(no sell order) as sentinel values; this API normalizes both tonullso you never have to special-case placeholder garbage. - Honest city filtering. Bogus locations (city
"0", or stale rows dated0001-01-01) and cities with no usable price on any side of the order book are dropped entirely, so cross-city results contain only cities carrying real prices. - Cross-city arbitrage out of the box. One call surfaces the cheapest buy city, the highest sell city, and the percentage margin between them — the core flip-trader workflow without any client-side math.
- Flexible item input. Accepts canonical Albion item IDs (
T4_BAG) directly, or normalizes a plain name into a likely item ID, so you can wire it up before memorizing the full item-ID catalog. - Cached and resilient. Responses are cached to stay fast and gentle on the upstream source, and upstream outages return a clean
503withretry_afterrather than a hard failure.
Typical use cases
- Flip trading. Use
/market/cross-regionor/market/arbitrageto find items that buy cheap in one Royal city and sell high in another, with the margin already calculated. - Trade dashboards and bots. Poll
/market/pricefor live current price, 7-day average, and buy/sell spread on the items your guild or shop tracks. - Crafting and sourcing decisions. Compare per-city
sellPriceMin/buyPriceMaxto decide where to buy materials and where to offload finished goods. - Market overviews. Pull
/market/economyfor a quick Caerleon snapshot of high-volume items and their current buy/sell prices. - Demand gauging. Use
/market/demandto get a quick 0–100 read on how tight an item's market is before committing capital.
Good to know
game=albionis required on every endpoint, anditemis required on all but/market/economy. A missingitemreturns a clean400(item query parameter is required); an unsupportedgamereturns400 invalid_game.- Data is crowd-sourced, so freshness varies by item and city — popular items in active cities update frequently, niche items less so. Each city entry carries a
lastUpdatedtimestamp so you can judge staleness yourself. - Nullable prices are normal, not errors. A city may legitimately have a
nullbuy or sell price when there are no live listings on that side of the order book. Sentinel values (0,999999) are always converted tonull. - Some demand signals are intentionally omitted. Albion's price feed does not publish per-listing counts or sales volume, so
/market/demandonly reports the signals that genuinely exist (currentPrice,buySellSpread) instead of emitting always-null fields. The demand score is therefore a spread-based heuristic, not a true sales-velocity metric. - Six cities are covered for cross-city comparison: Caerleon, Bridgewatch, Fort Sterling, Lymhurst, Martlock, and Thetford. Prices are quality level 1 (Normal). The economy snapshot is scoped to Caerleon.
- Items not present in the upstream feed return
404 item_not_found; if the data source is temporarily unreachable you'll get503 upstream_unavailablewith aretry_afterhint.