Incorrect and incomplete data in WoW Quest APIs

Hello! I run dataforazeroth, a web site for collectors. One feature is to show players what quests they have completed and show leaderboards based on that. Many of my users like to go for 100% completion.

With that in mind, my users have been reporting several shortcomings of the Quest APIs that I wanted to bring to your attention.

  • It seems that quest completion for many pre-Cataclysm quests works in-game, but not in the APIs. Two examples are Quest ID 597 and 599 that I completed on my character.
    /data/wow/quest/597?namespace=static-us
    /data/wow/quest/599?namespace=static-us
    Gives 404 not found
    /profile/wow/character/drenden/shoogen/quests/completed?namespace=profile-us
    My character does not contain 597 or 599, even though I have completed these quests and it does show in-game
  • I am not sure if the intent was to remove obsolete or unobtainable quests from the APIs. If so, there are many other unobtainable quests that do still appear in the APIs. But I think it would be nice if the APIs did include these quests, and could somehow include an unobtainable=true indicator in the quest’s JSON.
  • It seems there are some repeatable quests that are not indicated with is_repeatable=true in the quest’s JSON. In particular, many holiday quests can be repeated every year. I am guessing these are not the typical repeatable quest with a blue exclamation mark above it, but since they can be completed every year, it would be nice if they were indicated somehow. For example:
    /data/wow/quest/9324?namespace=static-us
    This is a Midsummer quest that can be done every year
    /data/wow/quest/36171?namespace=static-us
    This is a repeatable Garrison invasion
  • It seems some quests are missing either Alliance or Horde as a faction requirement. Two examples are Quest ID 32362 and 38257 that are for Alliance only:
    /data/wow/quest/32362?namespace=static-us
    /data/wow/quest/38257?namespace=static-us
    I am not sure if this might happen because this is a follow-up quest to one that was already for alliance. In which case, it would be nice if the follow-up quest could also indicate that it is for alliance and/or perhaps the Quest API could provide information about quest pre-reqs so that we can figure it out ourselves.
  • It seems there are some internal tracking, test quests, or junk quests in the list. It would be nice if these did not show in the APIs and were not returned when looking up a character’s completed quests. For example:
    data/wow/quest/48671?namespace=static-us
    Lockout Tracking - Normal - Fire
    /data/wow/quest/33425?namespace=static-us
    Blue/Yellow Sprint 15 INTERNAL REPEATABLE

I know I’ve only given a handful of examples for each scenario, with the hopes that you have the data available to figure out what is going wrong. However, if needed, I can try to do a more thorough analysis of what I’ve tracked in my database vs. what the APIs are showing. Thank you!

2 Likes

This seems to happen for 9.0 quests too, any chance to look into it Blizzard?

Here is a list of QuestIDs that seem to have been removed with 9.0:
41783,49813,49816,49817,49846,49851,49852,49860,49862,49863,49864,49865,49866,51403,52946,53031,57671,58672,58673,58674,58675

In-game you can run:
/script print(C_QuestLog.IsQuestFlaggedCompleted(58672))
and it will properly show true/false depending on whether you previously completed the quest.

However, in the APIs, these quests appear to be completely missing. I think it would be nice if the API behavior matched the in-game behavior. Thank you!