ParseForge Scrapers

OSRS Grand Exchange Prices Scraper

parseforge/osrs-grand-exchange-prices-scraper

Developer toolsE-commerceOther

Scrapes OSRS Grand Exchange item prices and metadata. Returns insta-buy, insta-sell, high alch value, margin, and members status for single items or bulk lists.

Run this scraper See the API call
Total users
2
Monthly active
1
Total runs
86
Bookmarked
0
Rating
Not rated yet
Last modified
12 days ago

Overview

ParseForge

OSRS Grand Exchange Prices Scraper

Scrape OSRS Grand Exchange prices for any item, or list thousands of items in one run. Each row includes the latest insta-buy and insta-sell price, high alch value, margin, and members status. No login or API key. Export to CSV, JSON, Excel, or XML.

The OSRS Grand Exchange is the central marketplace for Old School RuneScape, but its official website offers no bulk export and no API for price history. This Actor reads the public Grand Exchange item database directly, so you can pull live prices for a single item by name or ID, or list up to a million items filtered by name, members status, and liquidity. Every result comes back in one flat schema, ready for spreadsheets, dashboards, or your own trading tools.

Who uses it What they scrape OSRS Grand Exchange for
RuneScape merchants Find items with the highest flip margins right now
Price tracking websites Keep their OSRS price tables fresh without manual entry
Data analysts Build historical price datasets for market research
Discord bot developers Power price lookup commands for their communities
Ironman players Check high alch values to plan their money-making

What it does

This Actor collects OSRS Grand Exchange item prices and metadata, returning each item as a flat row with insta-buy, insta-sell, high alch value, margin, and members status.

  • ๐Ÿ” Single item lookup: fetch one item by exact or partial name, or by its numeric Grand Exchange ID.
  • ๐Ÿ“‹ Bulk listing: pull up to 1,000,000 items in one run, sorted by value, margin, insta-buy price, or name.
  • ๐Ÿงน Name filter: keep only items whose name contains a keyword like "rune" or "dragon".
  • ๐Ÿ‘ฅ Members filter: restrict results to members-only, free-to-play, or all items.
  • ๐Ÿ’ง Liquidity filter: skip items with no recent insta-buy and insta-sell price to avoid illiquid junk.
  • ๐Ÿ“Š Sort options: order by high alch value, margin, insta-buy price, or name before the item limit is applied.

Results export to CSV, JSON, Excel, or XML, or straight from the API.

What you can do with OSRS Grand Exchange data

๐Ÿ’ฐ Find profitable flips.

A merchant lists all items sorted by margin, filters to only priced items, and gets a shortlist of the best flips to buy and resell today.

๐Ÿ“ˆ Track price trends.

A price tracking site runs the Actor daily for a set of item IDs and stores the insta-buy and insta-sell prices to build historical charts.

๐Ÿค– Power a Discord bot.

A developer uses the single item lookup by name to let users type !price abyssal whip and get the current Grand Exchange price in chat.

๐Ÿงฎ Plan high alch profits.

An Ironman lists all free-to-play items, filters by name, and sorts by high alch value to find the best items to alch for gold.

๐Ÿ“Š Build a market dataset.

A data analyst pulls the full item list with members and liquidity filters, then joins it with trade volume data to model the OSRS economy.

Why choose this scraper

What you get
Live insta-buy and insta-sell prices The exact prices you would pay or receive right now, not a guide price
High alch value included Know the alchemy profit for every item without a second lookup
Margin and sort options Sort by margin to spot the best flips instantly
Members and liquidity filters Clean datasets with only the items that matter to you
Up to 1,000,000 items per run Pull the entire Grand Exchange catalog in one go

How it compares

No other Store actor targets OSRS Grand Exchange the same way, so the honest comparison is with the alternatives teams actually weigh.

OSRS Grand Exchange Prices Scraper Build it in-house By hand
Setup Run it now, zero config Days of engineering None, but hours per pull
When OSRS Grand Exchange changes Maintained for you You fix it You re-learn the page
Proxies, retries, anti-bot Built in Your problem Browser only
Output Fixed JSON schema, CSV/Excel export Whatever you build Copy-paste
Cost Pay per result Engineering time Analyst hours

Configure the run

Drive the Actor with a single item name or ID, or leave both empty to list items. Filters apply only when listing, and they run before the item limit so your dataset contains only what you asked for. The Input tab lists every parameter.

A first run with the defaults:

{
 "maxItems": 10
}

A larger pull:

{
 "maxItems": 200
}

Pricing

Pay-per-result: $0.003 per result collected. You pay only for the results written to your dataset.

Results collected Approximate cost
100 results $0.30
1,000 results $3.00
10,000 results $30.00

New Apify accounts start with $5 in free credit.

Free users

Free-plan runs return up to 10 results as a preview. Upgrade your Apify plan to collect up to 1,000,000 results per run.

Run it

  1. Create a free Apify account with $5 in credit.
  2. Open the OSRS Grand Exchange Prices Scraper.
  3. Set your inputs and any filters, then click Start.
  4. Export the results as CSV, Excel, JSON, or XML from the Dataset tab.

Run it programmatically through the Apify API (run-sync-get-dataset-items) or the ApifyClient for JavaScript and Python.

Use with AI agents (MCP)

Give an AI agent live access to OSRS Grand Exchange through the Model Context Protocol. Add the Actor to Claude, Cursor, or any MCP client:

claude mcp add --transport http apify "https://mcp.apify.com?tools=parseforge/osrs-grand-exchange-prices-scraper"

Then prompt it in plain language to run the scraper and read back the results.

Troubleshooting

Why am I getting no results?

Check your filters. If Only Items With Live Prices is enabled, many illiquid items are skipped. Also make sure your Name Filter is not too restrictive and that Item Name or Item ID is not set when you want to list items.

Why does my single item lookup return the wrong item?

If you set both Item Name and Item ID, the ID wins. Use the exact numeric ID to be sure, or use a more specific name.

Why are some items missing prices?

Some items have no recent trades and therefore no insta-buy or insta-sell price. Disable Only Items With Live Prices to include them, but expect empty price fields.

How do I get more than 10 items?

Increase the Maximum items field. The default is 10, but you can set it up to 1,000,000.

Can I run this on a schedule?

Yes, use Apify's scheduler to run the Actor daily or hourly. Combine it with a webhook or integration to push data to your own system.

FAQ

Question Answer
Do I need an API key or login? No. The Actor reads the public Grand Exchange item database directly, so you only need an Apify account to run it.
How do I get prices for a single item? Set the Item Name field to a partial or exact name like "Abyssal whip", or set the Item ID to its numeric ID like 4151. If both are set, Item ID wins.
Can I list all items on the Grand Exchange? Yes. Leave Item Name and Item ID empty, set Maximum items to a high number like 1000000, and the Actor will list items according to your filters and sort order.
What does "Only Items With Live Prices" do? When enabled, the Actor skips items that have no recent insta-buy and insta-sell price. This removes illiquid items that would clutter your dataset.
How do I filter by item name? Use the Name Filter field when listing items. It keeps only items whose name contains your text, case insensitive, for example "rune" or "dragon".
Can I get only members or free-to-play items? Yes, set the Members Filter to "Members only" or "Free-to-play only". The default is "All items".
What is the difference between insta-buy and insta-sell price? Insta-buy is the price you pay to buy instantly, insta-sell is the price you get when selling instantly. The difference is the margin, which is included in the output.
How are items sorted when listing? Use the Sort Listed Items By field. You can sort by high alch value, margin, insta-buy price, or name, all before the item limit is applied.
What output formats are supported? The Actor returns data in JSON, and you can export the dataset to CSV, JSON, Excel, or XML from the Apify platform.
Is the data real-time? The Actor fetches the latest prices from the Grand Exchange at the time of the run. Prices change frequently, so run it whenever you need fresh data.

Related actors

Browse the full ParseForge collection for more scrapers.

๐Ÿ†˜ Need help? Email parseforge@protonmail.com with your run ID, your input, and what you expected.

โš ๏ธ Disclaimer. This Actor is unofficial and is not affiliated with, endorsed by, or sponsored by Jagex Ltd. It collects only publicly available data. You are responsible for using the collected data in compliance with the source's terms of service and applicable data-protection laws, including GDPR, CCPA, and PIPL. Do not use it to collect personal data unlawfully.

Input

FieldTypeWhat it doesDefault
itemName string Look up a single item by its exact or partial name (case insensitive), for example "Abyssal whip". Leave empty to list items. not set
itemId integer Look up a single item by its numeric Grand Exchange item ID, for example 4151 for Abyssal whip. Leave empty to list items. not set
maxItems integer How many items to collect per run. 10
nameFilter string When listing items, keep only those whose name contains this text (case insensitive), for example "rune" or "dragon". not set
membersOnly string (3 options) Restrict listed items to members-only items, free-to-play items, or all items. any
onlyPriced boolean When listing items, skip items that have no recent insta-buy and insta-sell price. Keeps the output clean of illiquid items. true
sortBy string (4 options) Order used when listing items before applying the item limit. value

Pricing

from $1.00 per 1,000 results

Charged forWhat it isPrice each
result Single result in the default dataset. $0.001 to $0.003

Tiered: the lower figure is the price on a higher Apify plan. Billing and the free credit live on Apify.

API

One POST returns the dataset directly. Same shape for every scraper in the library, so swapping the slug is the only change.

POST ยท run and get results
curl -X POST "https://api.apify.com/v2/acts/parseforge~osrs-grand-exchange-prices-scraper/run-sync-get-dataset-items?token=$APIFY_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "helloWorld": 123
  }'

Examples

Input that runs as-is.

input.json
{
  "helloWorld": 123
}

Reviews

No reviews yet. Be the first.

Issues

We build and maintain this scraper, so a problem with it comes to us. Report it on the Apify listing and the thread stays attached to the scraper where the next person can find it: open an issue.

Broken and urgent, or you would rather not post in public? Write to parseforge@protonmail.com and it reaches the people who wrote it.

Related scrapers

Run OSRS Grand Exchange Prices Scraper on Apify All scrapers