Free OSRS Grand Exchange data
Download the numbers behind Offerbook as CSV or JSON, put a live price card on your own site, or cite an exact price with a link. Free, no account, no key.
Use them in a guide, a spreadsheet, a clan Discord or a research post. The one thing we ask is a credit with a link back, as the licence below says.
Downloads
Each file is rebuilt from live data at most every 15 minutes and holds the same numbers as the page named beside it. Every row is in gp. JSON files carry the licence, the build time and a description of each column; CSV files are plain RFC 4180 with a header row.
Top flips today
The 100 best Grand Exchange flips right now after the 2% GE tax, screened by the balanced risk profile and ranked the same way as /flips, for a 10m bankroll.
Updates: Every 15 minutes · Same numbers as Top flips
16 columns
- rank
- Position on the board, 1 = best
- item_id
- OSRS item id
- name
- Item name
- buy_at
- Price to buy at (latest insta-sell), gp
- sell_at
- Price to sell at (latest insta-buy), gp
- tax_per_unit
- GE tax on one sale at sell_at, gp
- net_margin
- sell_at − buy_at − tax_per_unit, gp
- margin_pct
- net_margin as a percent of buy_at
- buy_limit
- Units you can buy per 4 hours (empty when unpublished)
- hourly_volume
- Units traded per hour, both sides
- quantity
- Units to buy: min(buy limit, 10% of 4h volume, bankroll ÷ buy_at)
- potential_profit
- net_margin × quantity, gp
- gp_per_hour
- potential_profit over the expected time to fill, gp
- margin_uptime
- Share of the last 24h's 5-minute windows where the spread beat the tax, 0–1
- observed_at
- When the older of the two prices was seen (UTC, ISO 8601)
- url
- Item page on Offerbook
Buy limits and prices for every item
Every tradeable OSRS item with its 4-hour Grand Exchange buy limit, latest buy and sell prices, and how much traded in the last 24 hours.
Updates: Prices every 15 minutes, volumes hourly · Same numbers as Buy limits
10 columns
- item_id
- OSRS item id
- name
- Item name
- members
- true for members' items
- buy_limit
- Units you can buy per 4 hours (empty when unpublished)
- buy_at
- Latest insta-sell price, gp
- sell_at
- Latest insta-buy price, gp
- volume_24h
- Units traded in the last 24h, both sides
- gp_traded_24h
- gp traded in the last 24h, both sides
- category
- Offerbook category (runes, potions, weapons…), empty when uncategorised
- url
- Item page on Offerbook
Estimated gp removed by the GE tax, per dayEstimate
Daily estimate of the gold the 2% Grand Exchange tax removes from Old School RuneScape, from observed trade volume and average prices, last 90 days.
Updates: Once a day, just after midnight UTC · Same numbers as GE tax report
5 columns
- day
- UTC day (YYYY-MM-DD)
- est_tax_gp
- Estimated gp removed by the tax that day
- taxed_gp_traded
- gp traded in items that pay tax
- exempt_gp_traded
- gp traded in tax-exempt items, left out of the estimate
- report_url
- That day's market report on Offerbook
Sector indices, last 24 hours
Turnover-weighted price moves for each OSRS Grand Exchange sector (runes, potions, herbs, gear…) over the last 24 hours, with the basket size and gp traded.
Updates: Every 5 minutes · Same numbers as Market indices
6 columns
- sector
- Sector key
- label
- Sector name
- change_24h_pct
- Turnover-weighted mid-price change over 24h, percent
- gp_traded_24h
- gp traded in the sector's basket over 24h
- members
- Items in the basket
- url
- Sector page on Offerbook
Sector index levels, last 30 days
Hourly level of each OSRS Grand Exchange sector index over the last 30 days, chained from a base of 100, for charting long-run sector trends.
Updates: Hourly · Same numbers as Market indices
4 columns
- sector
- Sector key
- label
- Sector name
- time
- Snapshot time (UTC, ISO 8601)
- level
- Index level, chained from a base of 100
The files allow cross-origin reads, so a web page or bot can fetch the JSON directly. Please cache what you fetch: a file never changes more often than every 15 minutes, and clients that request much faster than that are slowed down.
Licence and credit
Offerbook's figures (margins, tax, rankings, indices, estimates) are licensed CC BY 4.0: copy, share and build on them, commercially or not, as long as you credit Offerbook with a link. The prices underneath come from the OSRS Wiki real-time prices API (RuneLite × WeirdGloop), and item names, buy limits and alch values from the OSRS Wiki, whose content is licensed CC BY-NC-SA 3.0; credit them too. Estimates are labelled as estimates; please keep the label when you quote one.
Data: Offerbook.gg (CC BY 4.0), from the OSRS Wiki real-time prices API
Data: <a href="https://offerbook.gg/data">Offerbook.gg</a> (<a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>), from the <a href="https://oldschool.runescape.wiki/w/RuneScape:Real-time_Prices">OSRS Wiki real-time prices API</a>
Price widget
A live price card for any item: the price, its 7-day move, the buy and sell prices and the margin after tax. It is a small static card served from our CDN (no tracking, no cookies, no script inside), so it cannot slow your page down, and it refreshes every minute. Clicking it opens the item on Offerbook.
Paste either snippet into your page and change abyssal-whip to the item you want (the last part of its Offerbook address). Add data-theme="light" (or ?theme=light on the iframe) for light pages. Every item page has its own ready-made snippet under its Cite or embed button.
<a class="offerbook-price" data-item="abyssal-whip" href="https://offerbook.gg/item/abyssal-whip">Abyssal whip price on Offerbook.gg</a> <script async src="https://offerbook.gg/embed.js"></script>
<iframe src="https://offerbook.gg/embed/item/abyssal-whip" title="Abyssal whip GE price" width="360" height="168" style="border:0;max-width:100%" loading="lazy"></iframe> <p><a href="https://offerbook.gg/item/abyssal-whip">Abyssal whip price</a> from Offerbook.gg</p>
The script version is a normal link that the script turns into the card, so readers without JavaScript (and sites that strip scripts) still get a working link. Wikis that allow neither can use a citation instead.
Cite a price
Prices move every minute, so a quote is only checkable with the time it was seen. Every item page has a Cite or embed button with the current prices and their UTC time, ready to copy as plain text, Markdown for Reddit and Discord, HTML, or a {{cite web}} reference for wiki pages. For example, on the Abyssal whip page.
Need the numbers sized to a bankroll, or your own flip journal, from a script? See the API. Questions or a dataset you want: send feedback.