World of Warcraft Profile API Update - Rise of Azshara

API Discussion
Greetings, travelers!

We have some exciting additions to the World of Warcraft Profile API that are now available with the Rise of Azshara Content Update.

While we are actively working on updating the documentation on develop.battle.net, we did want to give you a quick update on the new endpoints and documents so that you may begin consuming the data as soon as possible.

Additionally, we recommend migrating to these endpoints and using them over their equivalent endpoints on the World of Warcraft Community API.

In all regions, the following endpoints will result in either a 404 Not Found or a 403 Forbidden error until the character logs out from the game after the release of Rise of Azshara.

Character Profile

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}?access_token={access-token}&namespace=profile-us

Character Achievements

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/achievements?access_token={access-token}&namespace=profile-us

Character Appearance

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/appearance?access_token={access-token}&namespace=profile-us

Character Equipment

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/equipment?access_token={access-token}&namespace=profile-us

Character Media

In all regions, the Character Media endpoint will result in a 403 Forbidden error until the character logs out from the game after 2019-07-02 at 14:00 PDT.

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/character-media?access_token={access-token}&namespace=profile-us

Character Specializations

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/specializations?access_token={access-token}&namespace=profile-us

Character Statistics

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/statistics?access_token={access-token}&namespace=profile-us

Character Titles

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/titles?access_token={access-token}&namespace=profile-us

Character PvP Summary

https://us.api.blizzard.com/profile/wow/character/{realm-slug}/{character-name}/pvp-summary?access_token={access-token}&namespace=profile-us

Character PvP Bracket Statistics

https://us.api.blizzard.com/profile/wow/character/{realmSlug}/{characterName}/pvp-bracket/{pvpBracket}?access_token={access-token}&namespace=profile-us

Please feel free to post any feedback, comments, or questions here.

Cheers!
Would it be possibly to request the data for several endpoints at once?
In the Community API you're able to enter several field values at once (eg. fields=pets,mounts,achievements), but with these new Profile API you've to do a seperate request for each?
Great updates.
Can we look forward to the responses being compressed with gzip in the future?

Thanks!
https://eu.api.blizzard.com/profile/wow/character/fordragon/Даниасса?namespace=profile-us&access_token={token} return 403, character logs out from the game after the release of Rise of Azshara.

With namespace=profile-eu retun 404

https://eu.api.blizzard.com/wow/character/fordragon/Даниасса?access_token={token} works well.

Any suggestions?
character sex is missing from the profile listing meaning this source is going away?
07/05/2019 05:41 AMPosted by Ulminia
character sex is missing from the profile listing meaning this source is going away?
Gender is at the beginning, right after "name".
must a missed it was a fast glance at the data lol
New profile API looks great! Lot of info folks have been asking for.

I am worried a bit about rate limits and I have a few requests for additional data.

Rate Limits:

It now requires 3-4x as many API calls to get the same data as the old API provided in 1 API call (e.g., profile + equipment + talents + media).

Will rate limits be increased?

Do 304s count towards the API rate limit?

Data requests/questions:

There's a few bits of information on longer available or still only available from addons.
  • Azerite Essences unlocked (not just the active ones, useful to know which are available / which ones a player might want to target)
  • Zandalari Loa (for the Zandalari Troll racial passive)
  • Legion Artifact relics / artifact level (ilevel of these looks to be the base ilevel without relics taken into account - super low priority but worth mentioning)
Are reputations and statistics (boss kill counts etc) going to be added to this new profile api?
In all regions, the Character Media endpoint will result in a 403 Forbidden error until the character logs out from the game after 2019-07-02 at 14:00 PDT.


Does it take some time afterwards? I logged out multiple times and still cannot access this for my character.
07/10/2019 12:49 PMPosted by Michi
In all regions, the Character Media endpoint will result in a 403 Forbidden error until the character logs out from the game after 2019-07-02 at 14:00 PDT.

Does it take some time afterwards? I logged out multiple times and still cannot access this for my character.

Yes, the Character Media endpoint may take some time to publish.
Right now, as I write this, I'm working on the Wowhead Twitch extension, where we pull in the streamer's stats, gear, and talents to show to viewers. I'm migrating it from the old Community API to this new Profile API.

Much of what I'm about to report has already been mentioned in prior posts in this thread, but I'll recap all my issues here:

  • I only needed 2 GET requests with the old API (/wow/character/realm/name and /wow/data/talents). This new API requires at least 7 GETs for the same information. This is not optimal. I worry about API key usage.
  • Sending more requests is unfortunate, but it can be mitigated if you use HTTP/2 and the browser can send concurrent requests all at once. However, us.api.blizzard.com uses HTTP/1.1, so the best we can do is open multiple persistent connections (so we get a little parallelism and keep-alive). BTW, modern browsers don't use HTTP/1.1 pipelining, so once you reach the multiple connections cap, we have to wait for a response before we can send another request on a given connection.
  • The new API doesn't use gzip transfer encoding. This is just wasteful. You should at least support gzip, and, if you're fancy, brotli.
  • I preferred your old camelCase over snake_case but whatever.
Greetings all,

Thank you for your feedback regarding these new APIs. There are currently several points of feedback that we are gathering additional information on and having discussions around. We'll do our best to keep you updated if/when we have something to share regarding those items.

@erorus, would you be able to elaborate on your second bullet point? We understand the notion that is being expressed concerning the requirement for additional HTTP requests and the impact that this may have on rate limiting, etc, however, can you correct me if I'm wrong in that your points about browsers and HTTP/2 suggests that the Wowhead Twitch extension consumes the Blizzard API directly from the viewers browser? I'm not familiar with the architecture of the extension, so I was hoping you could help me better understand this. Thanks.
07/11/2019 11:25 AMPosted by Maguthul
@erorus, would you be able to elaborate on your second bullet point? We understand the notion that is being expressed concerning the requirement for additional HTTP requests and the impact that this may have on rate limiting, etc, however, can you correct me if I'm wrong in that your points about browsers and HTTP/2 suggests that the Wowhead Twitch extension consumes the Blizzard API directly from the viewers browser? I'm not familiar with the architecture of the extension, so I was hoping you could help me better understand this. Thanks.


That's correct. The entire setup is a little weird to me, too, but the relevant part is that we develop the extension in HTML and JavaScript, package it up in a zip, and send it to Twitch. Once Twitch approves the extension/update, then Twitch streamers can enable it on their streams. When a viewer visits a streamer who uses our extension, the viewer's browser pulls our code from Twitch's servers and it runs in the viewer's browser.

Don't get me wrong, everything's fast enough now, but for the sake of efficiency and using all the capabilities of the browser, supporting HTTP/2 and gzip should be standard in today's modern web. It's not a "must do", more like leaving easy optimizations on the table.
Also, unrelated, the new profile API doesn't include item icons directly in the equipment endpoint. For every item, I'd have to request /data/wow/media/item/1234 just to get the icon name string. That's like another dozen requests to show a character sheet with icons. Yeah, that ain't happening.
@erorus @maguthul, if I'm not mistaken twitch uses electronjs (https://electronjs.org/) to build their desktop app, which is basically a packaged browser, that's why their extensions are developed in the same fashion as a standard web application.
07/05/2019 12:48 AMPosted by Ksanshie
https://eu.api.blizzard.com/profile/wow/character/fordragon/Даниасса?namespace=profile-us&access_token={token} return 403, character logs out from the game after the release of Rise of Azshara.

With namespace=profile-eu retun 404

https://eu.api.blizzard.com/wow/character/fordragon/Даниасса?access_token={token} works well.

Any suggestions?


Characters name should be in lower case, like this:
https://eu.api.blizzard.com/profile/wow/character/fordragon/даниасса/equipment?namespace=profile-eu&locale=ru_RU&access_token={token}

Join the Conversation

Return to Forum