WoW: Creature API for Dungeon NPCs

Hello there,

This is my first time utilizing the WOW API and I’m just beginning to learn some of the nuances, so apologies if this is an obvious question.

I’m attempting to query for different creatures in dungeons but have been unable to do so. I can locate an instance, an associated encounter, and then obtain a creature ID from this encounter.

For example:

  1. Query for Ny’alotha, the Waking City:
https://us.api.blizzard.com/data/wow/journal-instance/1180?namespace=static-us&locale=en_US&access_token=[REMOVED]
  1. Query for the Wrathion encounter:
https://us.api.blizzard.com/data/wow/journal-encounter/2368?namespace=static-us&locale=en_US&access_token=[REMOVED]
  1. This returns the creature ID for Wrathion of 5118. However, when I query for a creature with the ID of 5118 it returns nothing:
https://us.api.blizzard.com/data/wow/creature/42722?namespace=static-us&locale=en_US&access_token=[REMOVED]

My questions are:

  1. Why doesn’t Wrathion’s encounter return the mobs that spawn when you’re destroying the pillars? I noticed in other encounters it does.
  2. Why doesn’t Wrathion show up as a creature when I enter this creature ID into the creatures API?
  3. Is there any easier way to search for NPCs in a dungeon?

Any help would be appreciated!

Please, remove your API token from the public links, because it’s confident information.

Yes, of course they are 'alive` during the session, but they don’t expire if your repeat your request during the session.

Thank you! Removed them.

Hi GolfyMcG,

Can you provide an example of the above?

Creatures in the Game Data API are currently generally limited to Hunter Pets, Mounts, Pets, Battle Pets, etc. I’m not sure that creatures found in dungeons and raids are generally exposed in the API, however, if you have an example contrary to this please do provide it.

Furthermore, when a resource contains a reference to another resource in the API that resource is almost always linked to from the related resource. If a link does not exist on the resource then it is safe to assume that the relationship doesn’t exist.

An example of this is that the reference for the CreatureDisplay data realted to Wrathion is linked to as such:

{
  "creature_display": {
    "key": {
      "href": "https://us.api.blizzard.com/data/wow/media/creature-display/93334?namespace=static-8.3.7_35114-us"
    },
    "id": 93334
  }
}

If a Creature resource existed for Wrathion in this context, it would be linked to using a similar key.href value, however, one does not exist, so it is safe to assume the resource also does not exist.

Hopefully this answers atleast some of your questions.

This does make sense. I suppose this begs a different question, which is how do I obtain data on NPCs throughout the game if they aren’t in this limited set of creatures? I didn’t see any APIs for NPCs. For example, how does wowhead obtain data for an NPC like this:

Mech Jockey - NPC - World of Warcraft

Do they write all their spells, etc. to a database themselves? Or is there an NPC API that they have access to that isn’t publicly available? Or did I just miss the NPC endpoints?

Wowhead does not use Blizzard’s game data API for that data.

Players volunteer to run the Wowhead Looter addon in-game, and upload the data to Wowhead via the Wowhead Client: Wowhead Client - Wowhead

When players see the NPC in-game, the addon records the location, and what spells were cast by the NPC, and what drops came from the NPC when it gets looted, etc etc. When the player exits the game, the Wowhead Client then sends that recorded data from the addon to the site, where it gets aggregated with data from lots of other players.