>wowhelm_
Loading ruleset status…
~/api

API

Everything on this site is available as JSON, free, for anything you want to build: addons, bots, spreadsheets, other sites. No key or sign-up.

curl https://www.wowhelm.com/api/v1/forever/quests/65602

The basics

Address
https://www.wowhelm.com/api/v1
Requests
Read-only GET. Works from any website, since every answer allows any origin.
Limit
120 requests a minute from one address. Over that, you get 429 with a Retry-After header saying how many seconds to wait.
Freshness
Game data changes only when a new build comes out, so answers are cached until then. Save what you fetch rather than asking again.
Lists
Lists take page (from 1) and limit (1 to 100, default 50), and return total, page, limit and pages alongside the results.
Errors
A non-200 status with {"error": {"code": "...", "message": "..."}}. The code is stable; the message is for people.
Machine-readable
The full description is at /api/v1/openapi.json (OpenAPI 3.1), for generating clients.

Credit

NPC, quest, location and item source data comes partly from QuestieDB, which is GPL-3.0: if you use it, credit QuestieDB. A link back to wowhelm is welcome but not required. World of Warcraft and its content belong to Blizzard Entertainment.

Endpoints

Games

GET /games

List available games.

GET /{game}/status

Ruleset status in each region, checked every minute from Blizzard's server status page.

{game}
Game slug, such as forever. See /games.
GET /{game}

Get a game's current build and upcoming events.

{game}
Game slug, such as forever. See /games.

News and blue posts

GET /feed

List news and blue posts.

kind
news or blue.
GET /{game}/blue-posts

List official Blizzard forum posts for a game, with previews and links.

{game}
Game slug, such as forever. See /games.
kind
blue or news.
author
Author name.
type
topics for new threads, or replies.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/blue-posts/{id}

Get one official Blizzard forum post with its full text as cleaned HTML.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

Items

GET /{game}/items

Browse and filter items.

{game}
Game slug, such as forever. See /games.
class
Item class ID.
sub
Item subclass ID.
slot
Equipment slot name.
q
Comma-separated quality numbers, such as 3,4.
min
Minimum item level.
max
Maximum item level.
sort
n, il, rl, slot, or s.
dir
asc or desc.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/items/{id}

Get an item with its tooltip, effects, similar items, and change history.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

Spells

GET /{game}/spells

Browse and filter spells.

{game}
Game slug, such as forever. See /games.
source
Class ability, Talent, Profession, Mount or companion, Item effect, or Other.
class
Class name.
school
School bit: 1, 2, 4, 8, 16, 32, or 64.
type
Instant, Cast time, or Passive.
cd
1 for spells with a cooldown.
min
Minimum level.
max
Maximum level.
sort
n, school, cast, cd, lvl, or src.
dir
asc or desc.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/spells/{id}

Get a spell with its tooltip, effects, uses, and change history.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

NPCs

GET /{game}/npcs

Browse and filter NPCs.

{game}
Game slug, such as forever. See /games.
zone
Zone name.
side
Alliance, Horde, Friendly to both, or Hostile.
rank
Elite, Rare, Rare Elite, or Boss.
role
vendor or trainer.
min
Minimum level.
max
Maximum level.
sort
n, lvl, zone, rank, or side.
dir
asc or desc.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/npcs/{id}

Get an NPC with locations, drops, vendor items, quests, and change history.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

Quests

GET /{game}/quests

Browse and filter quests.

{game}
Game slug, such as forever. See /games.
zone
Zone or category name.
side
Alliance, Horde, or Both.
class
Class name.
min
Minimum quest level.
max
Maximum quest level.
sort
n, lvl, req, zone, or side.
dir
asc or desc.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/quests/{id}

Get a quest with objectives, a step-by-step guide, givers, rewards, chain, and change history.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

Objects

GET /{game}/objects/{id}

Get an object (chest, plant, poster, and so on) with locations, contents, and quests.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

Maps

GET /{game}/maps

List maps with their images and positions on parent maps.

{game}
Game slug, such as forever. See /games.
GET /{game}/maps/{id}

Get a map.

{game}
Game slug, such as forever. See /games.
{id}
A whole-number ID.

Addon API

GET /{game}/addon-api

Search and browse the addon API.

{game}
Game slug, such as forever. See /games.
q
Text in a name or signature.
kind
function, event, table, or ui.
source
documented or ui.
system
API system name.
status
current or removed.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/addon-api/builds

List tracked builds with addon API change counts.

{game}
Game slug, such as forever. See /games.
GET /{game}/addon-api/changes

List addon API changes by build, with before and after values.

{game}
Game slug, such as forever. See /games.
build
A build number, or all. Defaults to the newest build with changes.
kind
function, event, table, or ui.
source
documented or ui.
sign
added, changed, or removed.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/addon-api/source

List UI source files changed in a build.

{game}
Game slug, such as forever. See /games.
build
A build number. Defaults to the newest build with file changes.
GET /{game}/addon-api/source/{build}/{path}

Get one changed file's diff. URL-encode the path..

{game}
Game slug, such as forever. See /games.
{build}
A game build, such as 1.60.1.70862.
{path}
A file path inside that build's interface source.
GET /{game}/addon-api/{kind}/{name}

Get an addon API entry (kind: function, event, table, or ui) with its definition and version history.

{game}
Game slug, such as forever. See /games.
{kind}
item, spell, npc, quest, or object for tooltips; function, event, or similar for the addon API.
{name}
The function or event name.

Tooltips

GET /{game}/tooltip/{kind}/{id}

Get an item, spell, NPC, quest, or object tooltip.

{game}
Game slug, such as forever. See /games.
{kind}
item, spell, npc, quest, or object for tooltips; function, event, or similar for the addon API.
{id}
A whole-number ID.
GET /{game}/tooltip/{kind}/{id}/compare

Compare a record's tooltip before and after its latest change.

{game}
Game slug, such as forever. See /games.
{kind}
item, spell, npc, quest, or object for tooltips; function, event, or similar for the addon API.
{id}
A whole-number ID.

Talents

GET /{game}/talents

List talent trees.

{game}
Game slug, such as forever. See /games.
GET /{game}/talents/{tree}

Get a talent tree with its layout, rules, and text.

{game}
Game slug, such as forever. See /games.
{tree}
A class's talent tree slug, such as warlock.
GET /{game}/talents/{tree}/build

Resolve a talent build code.

{game}
Game slug, such as forever. See /games.
{tree}
A class's talent tree slug, such as warlock.
code
Build code from a talent link.

Changes between builds

GET /{game}/builds

List tracked game builds.

{game}
Game slug, such as forever. See /games.
GET /{game}/changes

List changes between builds.

{game}
Game slug, such as forever. See /games.
build
A build number, or all. Defaults to the newest.
kind
item, spell, talent, npc, or quest.
sign
added, changed, or removed.
page
Page number, starting at 1.
limit
Results per page, from 1 to 100. Defaults to 50.
GET /{game}/changes/recent

Get notable changes from the latest builds, by category, newest first.

{game}
Game slug, such as forever. See /games.
recent
all, item, ability, talent, spell (spells with no class), quest, npc, or api. Defaults to all.
class
Class name, for ability and talent.
show
Comma-separated item groups to include, which are hidden by default: quest, white, grey.
builds
How many of the latest builds with changes to include, up to 20. Defaults to 5.
limit
Up to 100. Defaults to 15.