WoW API < GetSpellCooldown

Retrieves the cooldown data of the spell specified.

start, duration, enabled = GetSpellCooldown(spellName or spellID or slotID, "bookType");


String - name of the spell to retrieve cooldown data for.
Number - ID of the spell in the database
Number - Valid values are 1 through total number of spells in the spellbook on all pages and all tabs, ignoring empty slots.
String - BOOKTYPE_SPELL or BOOKTYPE_PET depending on whether you wish to query the player or pet spellbook.


Number - The time when the cooldown started (as returned by GetTime()); zero if no cooldown; current time if (enabled == 0).
Number - Cooldown duration in seconds, 0 if spell is ready to be cast.
Number - 0 if the spell is active (Stealth, Shadowmeld, Presence of Mind, etc) and the cooldown will begin as soon as the spell is used/cancelled; 1 otherwise.


 local start, duration, enabled = GetSpellCooldown("Presence of Mind");
if enabled == 0 then
 DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is currently active, use it and wait " .. duration .. " seconds for the next one.");
elseif ( start > 0 and duration > 0) then
 DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is cooling down, wait " .. (start + duration - GetTime()) .. " seconds for the next one.");
 DEFAULT_CHAT_FRAME:AddMessage("Presence of Mind is ready.");


Checks status of the Presence of Mind cooldown and outputs the appropriate message to the default chat frame.


local name = GetSpellInfo(28370);
local start, duration, enabled = GetSpellCooldown(name);

Example of using SpellIDs to retrieve cooldown info


local start, duration, enabled = GetSpellCooldown(48505);


returns 0, 0, 1 if the spell 'Starfall' is not on Cooldown otherwise it returns GetTime(), 90, 1


  • The enabled return value allows addons to easily check if the player has used a buff-providing spell (such as Presence of Mind or Nature's Swiftness) without searching through the player's buffs.
  • Values returned by this function are not updated immediately when UNIT_SPELLCAST_SUCCEEDED event is raised.
  • GetSpellCooldown() does not directly accept SpellIDs. You must first retrieve the spell name using GetSpellInfo(spellID) [Seems out of date as of 3.3]
  • GetSpellCooldown() accepts SpellIDs [Noticed in 3.3.2 - but worked with it as of 3.3]

Ad blocker interference detected!

Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.