WoW API: QueryAuctionItems
Will return information about items in the auction house. There must be a delay of about 0.3 second between regular queries and 15 minutes between getall queries. Use CanSendAuctionQuery() to determine if a query can be done.
QueryAuctionItems("name", minLevel, maxLevel, page,
isUsable, qualityIndex, getAll, exactMatch, filterData
)
Arguments
- (string type, integer type, integer type, integer type, boolean type, integer type, integer type, integer type, integer type, boolean type)
- name
- A part of the item's name (or the complete name) or "" for no retrenchment. Must be 63 bytes or less.
- minLevel
- Items below this level won't be returned. Either a number or nil for no restrictions.
- maxLevel
- Items above this level won't be returned. Either a number or nil for no restrictions.
- page
- What page in the auctionhouse this shows up. Note that pages start at 0.
- isUsable
- Is useable by the player (1 = true, 0 = no restrictions)
- qualityIndex
- Can be one of the following values
- 0 - No restriction
- 1 - Common Quality (white) or better
- 2 - Uncommon Quality (green) or better
- 3 - Rare Quality (blue) or better
- 4 - Epic Quality (purple) or better
- getAll
- Download the ENTIRE auction house as one single page. Only allowed when CanSendAuctionQuery() returns true as its second return (~every 15 minutes). May disconnect people with low bandwidth. Also see notes on client-to-server traffic in GetAuctionItemInfo() (Added in 2.3, though initially disabled. Appears to be enabled as of 2.4)
- exactMatch
- Should the name be used as an exact match or should it match substrings of the auction items.
- filterData
- The old invtypeIndex, classIndex, and subclassIndex roled into one.: This is the code that builds the filter value(s) for filterData:
local filterData;
if categoryIndex and subCategoryIndex and subSubCategoryIndex then
filterData = AuctionCategories[categoryIndex].subCategories[subCategoryIndex].subCategories[subSubCategoryIndex].filters;
elseif categoryIndex and subCategoryIndex then
filterData = AuctionCategories[categoryIndex].subCategories[subCategoryIndex].filters;
elseif categoryIndex then
filterData = AuctionCategories[categoryIndex].filters;
else
-- not filtering by category, leave nil for all
end
Examples
QueryAuctionItems("", 10, 19, 0, nil, false, false, nil)
Result
- Finds twink gear! (blue armor between lvl 10 and 19)
- also, the First page is page (0) zero
/script QueryAuctionItems("Nobles", 0, 0, 0, nil, false, false, nil)
Result
- Finds anything on the AH with the word 'Nobles' in it. Useful for hunting down that elusive last and final Darkmoon Card. :)
- Hint: AH window has to be open before you click the macro.
Notes
- If name is longer than 63 bytes, you'll be disconnected from the server.
-
- If any of the entered arguments is of the wrong type, the search assumes a nil value.