Skip to content
Go to file

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


Version Join chat Known Vulnerabilities Maintainability

Database explorer for World of Warcraft servers.

Licensed under the MIT license.



Spelunker exposes data from auth, characters and world databases as well as World of Warcraft's own game files through an API. Its web client can be used to conveniently browse the dataset, similar to Wowhead.

Both parts are developed in unison in this repository using Lerna, a tool for managing JavaScript projects with multiple packages.

Disclaimer: To deliver game resources – such as icons – to the web client, Spelunker ships with a pipeline serving up resources to the browser over HTTP. Depending on your network configuration these may be available to others. Respect laws and do not distribute game data you do not own.

Be mindful of any privacy sensitive data – such as account and character names – you may expose through Spelunker.

Supported servers and game versions

Other servers may be supported in the future. Pull requests welcome!


Not yet available via npm, but hopefully soon™!

For now, follow the development instructions below on how to get started.


Spelunker is developed with Webpack and Babel, targeting modern JavaScript runtimes.

  1. Clone the repository:

    git clone git://
  2. Download and install Node 8.x – including npm – for your platform.

    Versions 7.x and lower lack required features.

    Versions 9.x and higher fail installing the Blizzardry dependency. This will be addressed in the future.

  3. Install dependencies:

    npm install
  4. Install StormLib and BLPConverter, which are used to handle Blizzard's game files.

  5. Copy .envrc-sample to .envrc and adjust accordingly.

    In particular, verify DATA_DIR and DATABASE_* variables.

    To configure CORS, specify the allowed origin(s) in CORS_ALLOWED_ORIGINS as a comma-separated list.

  6. Source the .envrc file:

    source .envrc

    Alternatively, use direnv and allow the changes:

    direnv allow


Navigate into the API package:

cd packages/spelunker-api

Run the API server:

npm start

To monitor source files and rebuild:

npm run watch

The API will be served on http://localhost:3001.

Web client

Navigate into the web client package:

cd packages/spelunker-web

webpack's development server monitors source files and rebuilds:

npm start

The web client will be served on http://localhost:3000.


When contributing, please:

  • Fork the repository
  • Open a pull request (preferably on a separate branch)


Database explorer for World of Warcraft servers.




No releases published


No packages published
You can’t perform that action at this time.