Returns information about an item, by name, link or id. Will only return item information if it is directly available in memory.
An item is present in memory if:
- It has been seen this session, OR
 - It's present in 
Cache/enUS/Item-sparse.dba, where enUS is the user's locale 
If item information is not readily available, the client will first look on disk in DBFilesClient/Item-sparse.db2. If an item is found there, the client fires the GET_ITEM_INFO_RECEIVED event and keeps the result in memory for further GetItemInfo requests.
If an item is not found on disk either, the client will send a server request for it. If the request fails, nothing happens. If the request succeeds, the client stores the item in memory and writes it to Cache/Locale/Item-sparse.dba. The client will never send more than one server request per id per session. 
See also Item functions.
Signature:
name, link, quality, iLevel, reqLevel, class, subclass, maxStack, equipSlot, texture, vendorPrice = GetItemInfo(itemID) or GetItemInfo("itemName") or GetItemInfo("itemLink")
Arguments:
itemID- An item's ID (number, itemID)itemName- An item's name. This value will only work if the player has the item in their bags. (string)itemLink- An item's hyperlink, or any string containing theitemStringportion of an item link (string)
Returns:
name- Name of the item (string)link- A hyperlink for the item (string, hyperlink)quality- Quality (rarity) level of the item. (number, itemQuality)iLevel- Internal level of the item; (number)reqLevel- Minimum character level required to use or equip the item (number)class- Localized name of the item's class/type (as in the list returned byGetAuctionItemClasses()) (string)subclass- Localized name of the item's subclass/subtype (as in the list returned byGetAuctionItemSubClasses()) (string)maxStack- Maximum stack size for the item (i.e. largest number of items that can be held in a single bag slot) (number)equipSlot- Non-localized token identifying the inventory type of the item (as in the list returned byGetAuctionItemInvTypes()); name of a global variable containing the localized name of the inventory type (string)texture- Path to an icon texture for the item (string)vendorPrice- Price an NPC vendor will pay to buy the item from the player. This value was added in patch 3.2. (number)