The RuneScape Wikis host a variety of APIs that are available for consumption by non-wiki projects. These include:
- The MediaWiki API to read content and query against the wiki's MediaWiki database. See here for detailed documentation.
- The Ask API to read Semantic MediaWiki property values. See here for detailed documentation, also see Special:Browse to view all available properties for a page.
- APIs to read Grand Exchange prices/history, and more. Official documentation is available on https://api.weirdgloop.org. See User:Gaz Lloyd/using gemw#External usage for details and examples, including Google Sheets integration.
- The current Voice of Seren, Travelling Merchant's Shop stock and the latest RuneScape news are also available via APIs on https://api.weirdgloop.org.
- Coming soon:
Acceptable use policy[edit source]
Within reason, we want people to use these APIs as much as they need to build cool projects and tools. We do not explicitly ratelimit any of the endpoints, and we do our best to cache the responses at multiple levels.
However, we reserve the right to limit access to anyone, if their usage is so frequent that it threatens the stability of the entire API. We don't know where that line is right now, but for Grand Exchange prices, it would probably have to be double-digit queries per second for a sustained period. If we end up blocking your tool, feel free to reach out on Discord and we'll see if there's a better solution for what you're doing.
Please set a descriptive User-Agent![edit source]
This is the only thing we ask! If you're using automated tooling to scrape the wiki's APIs, please set a User-Agent that describes what you're using it for: for example,
dps-calculator-stats-scraper. This helps us understand what people are using the APIs for, and helps us reach out in advance if there are any breaking changes coming.
We currently pre-emptively block the following user-agents, and may add more:
Note this does not at all mean you can't use the python-requests library or similar, but we just ask that you set a user-agent in your code.