Battle.net API
A Node JS wrapper for the Battle.net API
Install
Add battlenet-api
to your application's package.json
file and run:
npm install
Alternatively:
npm install battlenet-api --save
How to use
Simply require()
the Battle.net API within your application:
var bnet = require('battlenet-api');
And then access the API methods to request data:
bnet.wow.character.profile(obj, callback);
Battle.net API Key
Your private Battle.net API key is input with the BATTLENET_API_KEY
environment variable. This must be present in order to get a proper response. There are a variety of ways to set this variable but the easiest is to run your node server with the variable from the command line.
$ sudo BATTLENET_API_KEY=[your_api_key] node server.js
Documentation
Each API method receives a parameters object for the request, and a callback function to execute once the request has completed. The available request parameters are explained for each method below.
callback
takes three arguments: error
, response
, and body
.
Overview
World of Warcraft
The World of Warcraft API methods are available through the wow
object of the Battle.net API.
var wow = bnet.wow;
ALL API methods take origin
as one of the parameters. This indicates which regional API endpoint to use. The possible values are us
, eu
, kr
, tw
. The China API is unavailable at this time.
Achievement
Parameters
origin
[us
, eu
, kr
, tw
]
id
the unique achievement ID.
Usage
bnet.wow.achievement({origin: 'us', id: 2144}, callback);
Auction
Parameters
origin
[us
, eu
, kr
, tw
].
realm
the slugified realm name.
Usage
bnet.wow.auction({origin: 'us', realm: 'proudmoore'}, callback);
Battle Pet
Abilities
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique ID of the battle pet ability.
Usage
bnet.wow.battlePet.ability({origin: 'us', id: 640}, callback);
Species
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique ID of the battle pet species.
Usage
bnet.wow.battlePet.species({origin: 'us', id: 258}, callback);
Stats
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique ID of the battle pet species.
fields
an object containing the battle pet level
, breedId
, and qualityId
Usage
bnet.wow.battlePet.stats({origin: 'us', id: 258, fields: { level: 25, breedId: 5, qualityId: 4 }}, callback);
Challenge
Realm Leaderboards
Parameters
origin
[us
, eu
, kr
, tw
].
realm
the slugified realm name.
Usage
bnet.wow.challenge.realmLeaderboard({origin: 'us', realm: 'proudmoore'}, callback);
Region Leaderboards
Parameters
origin
[us
, eu
, kr
, tw
].
Usage
bnet.wow.challenge.regionLeaderboard({origin: 'us'}, callback);
Character
All character requests require the following parameters:
origin
[us
, eu
, kr
, tw
].
realm
the slugified realm of the character.
name
the name of the character.
Profile
Returns basic profile data about the character.
Usage
bnet.wow.character.profile({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Achievements
Returns the achievement data of the character.
Usage
bnet.wow.character.achievements({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Appearance
Returns the appearance data of the character.
Usage
bnet.wow.character.appearance({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Guild
Returns the guild data of the character.
Usage
bnet.wow.character.guild({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Hunter Pets
Returns the hunter pet data of the character (where applicable).
Usage
bnet.wow.character.hunterPets({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Items
Returns the item data of the character.
Usage
bnet.wow.character.items({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Mounts
Returns the mount data of the character.
Usage
bnet.wow.character.mounts({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Pets
Returns the pet data of the character.
Usage
bnet.wow.character.pets({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Pet Slots
Returns the pet slots data of the character.
Usage
bnet.wow.character.petSlots({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Progression
Returns the progression data of the character.
Usage
bnet.wow.character.progression({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
PVP
Returns the PVP data of the character.
Usage
bnet.wow.character.pvp({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Quests
Returns the quest data of the character.
Usage
bnet.wow.character.quests({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Reputation
Returns the reputation data of the character.
Usage
bnet.wow.character.reputation({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Stats
Returns the statistics data of the character.
Usage
bnet.wow.character.stats({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Talents
Returns the talent data of the character.
Usage
bnet.wow.character.talents({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Titles
Returns the title data of the character.
Usage
bnet.wow.character.titles({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Audit
Returns an audit of the character's equipment.
Usage
bnet.wow.character.audit({origin: 'us', realm: 'proudmoore', name: 'charni'}, callback);
Aggregate
Returns the specified character fields aggregated in a single request.
Parameters
fields
an array of one or more character fields.
Usage
bnet.wow.character.aggregate({origin: 'us', realm: 'proudmoore', name: 'charni', fields: ['pets', 'petSlots']}, callback);
Item
Item
Returns the item data of the specified item id.
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique item id.
Usage
bnet.wow.item.item({origin: 'us', id: 18803}, callback);
Item Set
Returns the item set data of the specified set id.
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique item set id.
Usage
bnet.wow.item.item({origin: 'us', id: 1060}, callback);
Guild
All guild requests require the following parameters:
origin
[us
, eu
, kr
, tw
].
realm
the slugified realm of the guild.
name
the name of the guild.
Profile
Returns basic profile data of the guild.
Usage
bnet.wow.guild.profile({origin: 'us', realm: 'proudmoore', name: 'black wolf mercenaries'}, callback);
Members
Returns the members data of the guild.
Usage
bnet.wow.guild.members({origin: 'us', realm: 'proudmoore', name: 'black wolf mercenaries'}, callback);
Achievements
Returns the achievement data of the guild.
Usage
bnet.wow.guild.achievements({origin: 'us', realm: 'proudmoore', name: 'black wolf mercenaries'}, callback);
News
Returns the news data of the guild.
Usage
bnet.wow.guild.news({origin: 'us', realm: 'proudmoore', name: 'black wolf mercenaries'}, callback);
Challenge
Returns the challenge data of the guild.
Usage
bnet.wow.guild.challenge({origin: 'us', realm: 'proudmoore', name: 'black wolf mercenaries'}, callback);
PVP
Leaderboards
Parameters
origin
[us
, eu
, kr
, tw
].
bracket
[2v2
, 3v3
, 5v5
, rbg
]
Usage
bnet.wow.pvp({origin: 'us', bracket: '2v2'}, callback);
Quest
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique quest id.
Usage
bnet.wow.quest({origin: 'us', quest: 13146}, callback);
Realm Status
Parameters
origin
[us
, eu
, kr
, tw
].
fields
[optional] an array of one or more realms to limit.
Usage
All realms
bnet.wow.realmStatus({origin: 'us']}, callback);
Selected realms
bnet.wow.realmStatus({origin: 'us', realms: ['proudmoore', 'blackrock', 'frostmourne']]}, callback);
Recipe
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique recipe id.
Usage
All realms
bnet.wow.recipe({origin: 'us', id: 33994]}, callback);
Spell
Parameters
origin
[us
, eu
, kr
, tw
].
id
the unique spell id.
Usage
All realms
bnet.wow.spell({origin: 'us', id: 8056]}, callback);
Starcraft 2
The Starcraft 2 API methods are available through the sc2
object of the Battle.net API.
var sc2 = bnet.sc2;
ALL API methods take origin
as one of the parameters. This indicates which regional API endpoint to use. The possible values are us
, eu
, sea
, kr
, tw
.