Diablo – How to retrieve an updated dataset from the D3 auction house

diablo-3

Given I want to snatch a cheap item with defined preferred stats. Can I hit the Search button over and over again, or do I retrieve a cached version?

If there is a caching mechanism: Does changing stat values/types or max buyout slightly force a non cached request? What is being cached? When does the cache expire?

Is there a throttling mechanism in place, do they slow down a client which is constantly requesting results?

The reason behind this question is that cheap items will be bought out seconds later, and you really need to be very quick to get the item.

I know that only a Blizzard system designer can answer this question with 100 percent certainty, but I am interested in your observations, for me its a black box right now.

Own observation:
The Windows Resource Monitor shows network traffic for Diablo III.exe each time I hit the search button, implying there's no local caching going on.

Best Answer

My observations in the Auction House do indeed show there is server-side caching going on with requests. My completely uneducated guesstimate is it will refresh your cache approximately every 60 seconds. However, there is a way around that:

Let's say you're looking for a cheap item with a buyout of less than 5000. Do your first search on 5000. Then re-search with 5001. Then 5002, and so on. The reason why I say this works is researching the same amounts over and over again always return the same response through the first 60 seconds or so. If I change my max buyout amount, I WILL find items listed that I didn't see before that match the previous criteria (i.e. change my max buyout from 5000 to 5001, and an item with a max buyout of 1499 will show up.)

Hopefully this helps.

EDIT: I realized on re-reading I need to clarify something. What caches with the AH is the specific items listed, not the time left in auction or the ability to buy them. When you refresh the identical query over and over again, if the item listed sold it will change to "Sold". The time left in the auction will appear to be the same. However, the query will not search for new items that meet your criteria, which is what the question is referring to.