Skip to content

World of Warcraft (Retail)

Ben Weier edited this page Jun 6, 2023 · 4 revisions

In addition to all parameters documented here, all API methods can accept key, secret, token, origin, locale, for cases where you need to use different values to the default instance.

All methods accept a second headers argument allowing an object of { [key: string]: string } to be added to the request headers. For example, some requests can potentially return large response bodies and you might want to avoid this if the resource has not been updated between the previously observed state with a If-Modified-Since header. If a method does not accept an argument, or it's first argument is optional, pass null | undefined followed by a headers object, e.g. token(null, { 'X-Header-Key': 'X-Header-Value' })

Method parameters are encoded with encodeURIComponent for URL safety.

Methods with optional parameters will fallback to API endpoints that best match the provided parameters. e.g. pvpSeason with the signature ({ id?: number; resource?: 'leaderboard' | 'reward'; bracket?: string }) will fetch a season index if id is undefined regardless of whether resource and bracket are defined.


accountProfile

wow.accountProfile()

accountCharacterProfile

wow.accountCharacterProfile({ realm: number; character: number })

accountCollections

wow.accountCollections({ resource?: 'mounts' | 'pets' })

characterAchievements

wow.characterAchievements({ realm: string; name: string; stats?: boolean })

characterAppearance

wow.characterAppearance({ realm: string; name: string })

characterCollections

wow.characterCollections({ realm: string; name: string; resource?: 'mounts' | 'pets' })

characterEncounters

wow.characterEncounters({ realm: string; name: string; resource?: 'dungeons' | 'raids' })

characterEquipment

wow.characterEquipment({ realm: string; name: string })

characterHunterPets

wow.characterHunterPets({ realm: string; name: string })

characterMedia

wow.characterMedia({ realm: string; name: string })

characterMythicKeystone

wow.characterMythicKeystone({ realm: string; name: string; season?: number })

characterProfessions

wow.characterProfessions({ realm: string; name: string })

characterProfile

wow.characterProfile({ realm: string; name: string; status?: boolean })

characterPVP

wow.characterPVP({ realm: string; name: string; bracket?: string })

characterQuests

wow.characterQuests({ realm: string; name: string; completed?: boolean })

characterReputations

wow.characterReputations({ realm: string; name: string })

characterSoulbinds

wow.characterSoulbinds({ realm: string; name: string })

characterSpecializations

wow.characterSpecializations({ realm: string; name: string })

characterStatistics

wow.characterStatistics({ realm: string; name: string })

characterTitles

wow.characterTitles({ realm: string; name: string })

guild

wow.guild({ realm: string; name: string; resource?: 'activity' | 'achievements' | 'roster' })

achievement

wow.achievement({ id?: number; media?: boolean })

achievementCategory

wow.achievementCategory({ id?: number })

auctionHouse

wow.auctionHouse({ id: number })

azeriteEssence

wow.azeriteEssence({ id?: number; media?: boolean })

azeriteEssenceSearch

wow.azeriteEssenceSearch({ id: number; orderby?: string | string[]; page?: number })

connectedRealm

wow.connectedRealm({ id?: number })

connectedRealmSearch

wow.connectedRealmSearch({ status: 'UP' | 'DOWN'; timezone?: string; orderby?: string | string[]; page?: number })

covenant

wow.covenant({ id: number; media?: boolean })

soulbind

wow.soulbind({ id?: number })

conduit

wow.conduit({ id?: number })

creature

wow.creature({ id: number; media?: boolean })

creatureFamily

wow.creatureFamily({ id?: number; media?: boolean })

creatureType

wow.creatureType({ id?: number })

creatureSearch

wow.creatureSearch({ name: string; locale: Locales, orderby?: string | string[]; page?: number })

guildCrest

wow.guildCrest({ resource: 'border' | 'emblem'; id: number })

item

wow.item({ resource?: 'class' | 'set'; id?: number; sub?: number; media?: boolean })

itemSearch

wow.itemSearch({ name: string; locale: Locales, orderby?: string | string[]; page?: number })

journal

wow.journal({ resource: 'instance' | 'encounter' | 'expansion'; id?: number; media?: boolean })

mediaSearch

wow.mediaSearch({ tag: string; orderby?: string | string[]; page?: number })

modifiedCrafting

wow.modifiedCrafting({ resource?: 'category' | 'reagent'; id?: number })

mount

wow.mount({ id?: number })

mountSearch

wow.mountSearch({ name: string; locale: Locales, orderby?: string | string[]; page?: number })

mythicKeystone

wow.mythicKeystone({ resource?: 'dungeon' | 'period' | 'season'; id?: number })

mythicKeystoneAffix

wow.mythicKeystoneAffix({ id?: number; media?: boolean })

mythicKeystoneLeaderboard

wow.mythicKeystoneLeaderboard({ realm: number; dungeon?: number; period?: number })

mythicRaidLeaderboard

wow.mythicRaidLeaderboard({ raid: string; faction: 'alliance' | 'horde' })

pet

wow.pet({ id?: number; resource?: 'ability'; media?: boolean })

playableClass

wow.playableClass({ id?: number; media?: boolean; pvpTalents?: boolean })

playableRace

wow.playableRace({ id?: number })

playableSpecialization

wow.playableSpecialization({ id?: number; media?: boolean })

powerType

wow.powerType({ id?: number })

profession

wow.profession({ id?: number; media?: boolean; skillTier?: number })

recipe

wow.recipe({ id: number; media?: boolean })

pvpSeason

wow.pvpSeason({ id?: number; resource?: 'leaderboard' | 'reward'; bracket?: string })

pvpTier

wow.pvpTier({ id?: number; media?: boolean })

quest

wow.quest({ id?: number; resource?: 'category' | 'area' | 'type' })

realm

wow.realm({ slug?: string })

realmSearch

wow.realmSearch({ timezone?: string; orderby?: string | string[]; page?: number })

region

wow.region({ id?: number })

reputation

wow.reputation({ resource: 'faction' | 'tier'; id?: number })

spell

wow.spell({ id: number; media?: boolean })

spellSearch

wow.spellSearch({ name: string; locale: Locales, orderby?: string | string[]; page?: number })

talent

wow.talent({ id?: number; pvp?: boolean })

techTalent

wow.techTalent({ id?: number; tree?: boolean; media?: boolean })

title

wow.title({ id?: number })

token

wow.token()