Offerbook API and MCP
The numbers you see on Offerbook, as JSON: the flip board sized to a bankroll, tax-correct item quotes, price history, market health, and your own synced journal. Every value is in gp.
The API serves the same figures the site shows everyone for free. Max pays for having them delivered to your own scripts and assistants, not for different numbers. Max goes on sale with Pro in January 2027; see pricing.
Authentication and limits
Create a key on your account page and send it as a bearer token. Keys start with oba_, are shown once, and can be revoked at any time. Each account can hold 2 keys, which share one budget of 60 requests a minute and 10,000 a day. Every response carries RateLimit-Remaining and X-Daily-Remaining; a 429 carries Retry-After.
curl -H "Authorization: Bearer oba_…" \ "https://offerbook.gg/api/v1/flips?bankroll=50000000&risk=cautious&limit=5"
Responses are { "v": 1, "data": …, "serverTime": … }. Times are unix seconds of when a price was observed, so compute its age from your own clock. Prices update about once a minute, the rate the underlying wiki data updates; polling faster returns the same numbers.
Market
Search items by name, with the latest buy and sell prices.
q· part of an item name (required)limit· 1 to 50, default 10
One item's live quote: prices, GE tax, net margin, breakeven sell, margin uptime and a risk note.
risk· cautious, balanced (default) or bold
One item's average prices and volumes from the Offerbook archive.
lookback· 24h (hourly, default), 7d (6-hourly) or 30d (daily)
The flip board sized to a bankroll and screened by risk tolerance, best first.
bankroll· gp, default 10,000,000risk· cautious, balanced (default) or boldmembers· 0 for F2P items onlylimit· 1 to 100, default 20
Market health: 24h turnover, tax sink, breadth, sector indices, volume leaders and the bond.
Your account
Your synced journal: realized and unrealized P&L, recent flips, open lots and unmatched sells.
limit· recent flips to return, 1 to 200, default 50account· one game account's hash from /api/v1/me/accounts; all accounts when omitted
The game accounts your plugin has synced, with the names you gave them on the journal.
Your open 4-hour buy-limit windows: used, remaining and reset time per item.
Your price and margin alerts and whether each has fired.
MCP server
The same data as tools for AI assistants that speak the Model Context Protocol, so you can ask “what should I flip with 20m on cautious?” or “how did my flips do this week?” and get answers from live Offerbook numbers. It uses your API key and shares its rate budget. Server URL:
https://offerbook.gg/api/mcp
Claude Code:
claude mcp add --transport http offerbook https://offerbook.gg/api/mcp \ --header "Authorization: Bearer oba_…"
Clients that only run local servers, such as Claude Desktop, can bridge with mcp-remote:
{
"mcpServers": {
"offerbook": {
"command": "npx",
"args": ["mcp-remote", "https://offerbook.gg/api/mcp",
"--header", "Authorization: Bearer ${OFFERBOOK_KEY}"],
"env": { "OFFERBOOK_KEY": "oba_…" }
}
}
}search_items· Search itemsget_item· Item quoteget_price_history· Price historyget_flips· Flip ideasget_market_overview· Market overviewget_my_journal· My flip journalget_my_accounts· My game accountsget_my_buy_limits· My buy limitsget_my_alerts· My alerts
What the API will not do
It is read-only. It never places, changes or cancels offers, and nothing in Offerbook automates the game. There is no bulk history export: history is served one item at a time, as on the item pages.