With the release of Diablo 3, we are working hard to make career and hero profiles available to the community. With career and hero profiles, we are excited to also release a set of API resources specific to Diablo 3 for community fansites and developers to consume. I’d like to take this opportunity to give a preview of the progress we’ve made to the community and open up discussions around what data will be available.
Please keep in mind that this is an early preview and there will likely be many changes to the D3 API by the time it is released. Also note that we haven’t finalized several key pieces of information including artisan recipes, hero and follower spells and powers and achievements. Career Profile The career profile API provides top level (account) career information. This API resource is meant to provide a way to discover the heroes associated with an account as well as the artisan and game progression information for the account. To use the career profile API resource, a URL containing a battletag is crafted and a request is made. An example request for the Battletag “Straton#1” would be: /api/d3/account/Straton/1 The following data structure is then returned: http://blizzard.github.com/d3-api-docs/#career-profile/career-profile-example As you can see, there are several account specific data points to reference. The heroes attribute contains a list of all of the active heroes for the account. This list does not include fallen heroes. The artisans dataset includes a list of the artisans and the id, label, level and progression of each. Next are several progression attributes that can be used to determine the highest difficulty boss for each act. Last are several stats on the number of monsters and elites killed. Hero Profile API Hero profile API resources provide hero specific information including basic information like the name, class, gender and level as well as more complex information like follower information, hero statistics, active skills/powers and items. Unlike the career profile API resource, a hero id is used to craft a URL instead of a battletag. An example for hero 182 would be: /api/d3/hero/1 The following data structure is then returned: http://blizzard.github.com/d3-api-docs/#hero-profile/hero-profile-example The first set of information provided includes the name, level and class information. Following that is a list of the hirelings the hero has unlocked. Lastly, a block of statistics is returned that includes stats, resistances and kills. |
|
FAQ
Q: Will the AH have API access in a similar manner to WoW? A: There are no plans to create an AH API (even read-only) for gold, hardcore gold or real money. Q: What about achievements? A: We do plan on providing all achievement information much like we do with the WoW API. The difference being that achievements are account bound. Q: How will the request limits work? Is the "~3000" requests per day going to be shared between the D3 API and the WoW API? A: The same as with the WoW API. The requests per-day limits will be shared between the APIs as most fansites and applications are game specific (with a few exceptions). Q: Will you be implementing an API that is similar to the realm status API for WoW? A: Yes. We will have an API resource that provides the status data as we do on http://us.battle.net/d3/en/status . Q: Any plans for a search API? Any way we could crawl for accounts to do aggregate statistics? A: We haven't really come up with a good way to provide an index that doesn't compromise privacy or data that we don't want to expose. This is something we are thinking about though. Q: Any plans for giving us information about quest completion? Like how long it took them to clear a quest, perhaps including historical data if they've done a quest multiple times, and including party members involved in the kill? A: I believe that some of this information will or should be available with achievement data and statistics. I don't believe that we have the ability to support multiple data sets like how many times you've completed a given quest or how long it took. It is something we can look into further, but will be lower in priority. Q: What about events like "Killed Belial (Inferno) on <timestamp>"? A: This data will also likely be made available with achievement data and statistics. Again, the information that I believe we can provide is the first instance of said kills. Q: Will account id references be included with the hero API? A: I don't believe that we are planning on doing that. That would lead to a degree of data-mining that we are not comfortable with. Q: ... would it be possible to get time played for each character instead of having it be a ratio? possibly when doing a request to the hero api? A: That isn't something we are planning on supporting at this time. Q: There are no timestamps for progression. Can you please provide timestamps for each milestone in progression? A: We aren't able to provide that information at this time. Q: Did I miss anything about image renders of Diablo characters? A: No, we aren't able to support character renders at this time. Sorry. Q: Also please consider adding official talent calculator hash in the hero API skills so we can link to the official talent calculator for builds. A: This is something that we plan on providing. Q: Is the career profile API the only source for the hero ids or will it be possible to get the id via battle.net Armory or even ingame? A: Right now, the only way to get hero ids will be through the career API resource. As far as I can tell, there are no ids provided in-game or through any other battle.net services. Q: Could you please add the icon for runes and the id for skills and runes? A: If this wasn't included in the original preview data structure then it was a simple oversight. Q: If both APIs share the same request limit, am I correct if I assume that they also share the same error handling? A: That is correct. Q: While we're on the subject of this, what format is this timestamp in? Milliseconds since the epoch? A: Seconds since epoch. Handling of timezones is TBD. |
|
Building D3 AH APIs is not something that we will be dedicating resources to at this time. |
|
The same as with the WoW API. The requests per-day limits will be shared between the APIs as most fansites and applications are game specific (with a few exceptions). |
|
Any chance for heros names in profile informations? Something like: Yeah, we could do something along those lines. I'd probably lean more toward something like:
Since hero names aren't unique, I'd rather not have a list/set map to ids. Will think about this more though. |
|
Yes. We will have an API resource that provides the status data as we do on http://us.battle.net/d3/en/status . |
|
Nice! :) Items and how they will be represented is still on the drawing board. When we make more progress and have a rough prototype, I'll be sure to update the community. |
|
We haven't really come up with a good way to provide an index that doesn't compromise privacy or data that we don't want to expose. This is something we are thinking about though.
I believe that this information will or should be available with achievement data and statistics. What about events like "Killed Belial (Inferno) on <timestamp>"? This data will also likely be made available with achievement data and statistics. |
|
It seems as if thus far, we'll have the following: Career Profile API, Hero Profile API, Achievement API, Realm Status API, possible Search API. What about an Item API, Quest API, and just generic Data API (for classes, followers, achievement structure, item classes, etc)? A lot of the data APIs are still being worked out, but we are confident that we can provide some basic API resources for quests, classes, artisans, recipes, achievements and skills. As for why this is on the WoW developer forum, that was just timing. I'm hesitant to create an entire forum and rev up that machine before the D3 API is actually ready for release. When we get closer to launch, I'll create a forum and update public documentation. |
|
Exposing raw time played to the world at large makes me uncomfortable personally. What part of the API example or previous questions and responses is confusing? I'm not sure what your question actually is. |
|
Yes, to confirm what Delritha is saying, we are not planning on exposing raw play time information, but rather percentages to allow websites to determine what class is played the most. |
|
That would lead to a degree of data-mining that I am not comfortable with. |
|
We'll cross that bridge when we get there. |
|
Although it may be available somewhere, the only information we currently have readily available to use is the aggregate class information. For what it is worth, adding hero play time is something we'd like to do. |
|
Chaud is correct, we have no plans to provide API resources that require authentication or request scope. |
|
Sc%#!##@ the HTML of the D3 server status page is strictly prohibited. |
|
Hey, We are not planning on exposing the items in your account stash or inventory. |
|
We aren't ready to spin up an entire developer community forum on the D3 game site quite yet. Creating a preview thread here, where it has been requested and discussed before, made the most sense. |
|